]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Move grub_disk_write out of kernel into disk.mod.
[grub2.git] / ChangeLog
CommitLineData
442b86de
VS
12013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Move grub_disk_write out of kernel into disk.mod.
4
04dea7e6
VS
52013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
8 handling.
9
102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
11
12 * grub-core/kern/misc.c (grub_abort): Make static
13
04dea7e6 142013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
15
16 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
17 transform invalid unicode codepoints.
18
04dea7e6 192013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
20
21 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
22 \0 checking.
23
03dcac7f
VS
242013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
27
c81acb7f
VS
282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Consolidate cpuid code.
31
c1bee646
VS
322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Move cpuid code to cpuid.h and TSC code to tsc.c.
35
f37bf9c7
GS
362013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
37
38 * util/grub.d/00_header.in: Don't use LANG if it's not set.
39
4021132b
GS
402013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
41
42 * util/grub-mkconfig.in: Replace $0 with $self.
43 * util/grub-reboot.in: Likewise.
44 * util/grub-set-default.in: Likewise.
45
3ace8d75
BC
462013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
47
48 * docs/osdetect.cfg: New file.
49
1e6ad6a6
BC
502013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
51
52 * tests/util/grub-shell.in: Add new --debug option.
53
188929eb
BC
542013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
55
56 * tests/test_unset.in: New test.
57
7994a09a
BC
582013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
59
60 * tests/test_sha512sum.in: New test.
61
2a8a7585
VS
622013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
65 * include/grub/misc.h: Remove strncat.
66 * grub-core/lib/posix_wrap/string.h: Likewise.
67
6d1fc99a
VS
682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * tests/date_unit_test.c: New test.
71
10bafa1c
VS
722013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
75 of first three years after start of validity of unixtime.
76
b1c6d037
VS
772013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
80 division as the one making more sense.
81 (update_screen): Likewise.
82 (complete): Likewise.
83
5f4028d4
VS
842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
87
a2856736
VS
882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Make char and string width grub_size_t rather than grub_ssize_t.
91
0a7e52b2
VS
922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
95 unsigned.
96 (grub_history_replace): Likewise.
97
42829573
VS
982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
101 appropriate.
102
3523b8d8
VS
1032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
106 appropriate.
107
d43c6489
VS
1082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
111 Use unsigned divisions rather than signed variants.
112
f690f8b0
VS
1132013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/video/readers/png.c (grub_png_convert_image): Use
116 unsigned arithmetics.
117 Add missing break.
118
74ff2c05
VS
1192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
122
fb56391e
VS
1232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
126 rather than signed one.
127 (recovery): Likewise.
128
40f29060
VS
1292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
132
c64577a5
VS
1332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
136 than signed.
137
c16535a8
JM
1382013-10-25 Jon McCune <jonmccune@google.com>
139
140 * docs/grub.texi: Cleanup security documentation around signatures.
141
6673d8e7
VS
1422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
145
a105d375
VS
1462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
149 than int.
150
af81ed88
VS
1512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
154 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
155 functions when compiling for kernel.
156
ea899a57
VS
1572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
160 unsigned long long when using %llu.
161
c6dc6fa1
VS
1622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
165 terminal after updating progress.
166
ad2dc003
VS
1672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
170 argument. We don't disable Gate A20 in this code.
171
b46684ae
VS
1722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
175 Conceptually based on change in branch "vbe-on-coreboot".
176
f70d5c07
RM
1772013-10-24 Robert Millan <rmh@gnu.org>
178
179 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
180 numeric constants with their symbolic equivalent.
181 Taken from branch "vbe-on-coreboot".
182
bca274b4
VS
1832013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * docs/grub.texi: Fix ordering and use pxref rather than xref.
186
238f0489
VS
1872013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
190 divmod64 for offset division.
191
863c590b
PFS
1922013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
193
194 Rename .bzrignore to .gitignore. Add "*.o" rule.
195
196 * .bzrignore: Renamed to...
197 * .gitignore: ...this.
198
84a0e969
PFS
1992013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
200
201 Add new progress module that displays the load progress of files.
202
203 * grub-core/lib/progress.c: New file.
204 * grub-core/Makefile.core.def (progress): New module.
205 * grub-core/kern/file.c (grub_file_open): File name added.
206 * (grub_file_read): Progress hook added.
207 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
208 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
209 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
210 * include/grub/file.h (struct grub_file): Add progress module members.
211 * include/grub/term.h (struct grub_term_output): Likewise.
212 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
213 Terminal velocity added.
214 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
215 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
216 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
217 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
218 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
219 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
220 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
221 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
222 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
223 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
224 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
225 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
226
0d711431
VS
2272013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
228
229 Verify signatures of signatures unless --skip-sig is specified.
230
f8401f76
VS
2312013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
234 \0 checking.
235
236 Saves 70 bytes on compressed image.
237
ac1feb61
VS
2382013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
241 check.
242
243 Saves 10 bytes on compressed image.
244
00f72e89
VS
2452013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/kern/misc.c (grub_isprint): Move to ...
248 * include/grub/misc.h (grub_isprint): ... here. Make inline.
249
250 Saves 20 bytes on compressed image due to remving exporting.
251
067e6ae7
VS
2522013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
255
256 Saves 5 bytes on compressed image.
257
64a6c791
VS
2582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
261 function get_utf8.
262
263 Saves 379 bytes on compressed image.
264
979d9f52
VS
2652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
268
1437da54
VS
2692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
272
273 Saves 40 bytes on compressed image.
274
d9ee2269
VS
2752013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
278 mask rather than 64-bit type.
279
280 Saves 20 bytes on compressed image.
281
63efa602
VS
2822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
285 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
286
47601ffe
VS
287 Saves 273 bytes on compressed image.
288
2cc679ad
VS
2892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
292 variable length arrays.
293
294 Saves 50 bytes on compressed image.
295
2e4659b8
VS
2962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
299
2a40badf
VS
3002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/fs/ufs.c: Remove variable length arrays.
303
1ba6b9b9
VS
3042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
307
f3e39341
VS
3082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/fs/zfs.c: Remove variable length arrays.
311 Reduces zfs.mod by 160 bytes (208 compressed).
312
71523935
VS
3132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
316
28153eb8
VS
3172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/net/arp.c: Remove variable length arrays.
320 * grub-core/net/bootp.c: Likewise.
321 * grub-core/net/dns.c: Likewise.
322 * grub-core/net/icmp6.c: Likewise.
323 * grub-core/net/net.c: Likewise.
324
88ce4cd7
VS
3252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/fs/ntfs.c: Remove variable length arrays.
328 Increases ntfs.mod by 64 bytes (but decreases by 3 when
329 compressed).
330
66123940
VS
3312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/fs/hfs.c: Remove variable length arrays.
334 Reduces hfs.mod by 8 bytes (52 compressed).
335
0927e5bd
VS
3362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 339 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
340 compressed).
341
9c12ac97
VS
3422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 345 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
346 compressed).
347
97ec2d71
VS
3482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 351 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
352 compressed).
353
156e4ea0
VS
3542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/fs/xfs.c: Remove variable length arrays.
357 Reduces xfs.mod by 40 bytes (43 compressed).
358
3b502c29
VS
3592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/fs/fshelp.c: Remove variable length arrays.
362 Reduces fshelp.mod by 116 bytes (23 compressed).
363
c7037f1d
VS
3642013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/normal/completion.c: Remove variable length arrays.
367 * grub-core/normal/menu_entry.c: Likewise.
368
369 Reduces normal.mod by 496 bytes.
370
a07e6ad0
VS
3712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
374 by 356 bytes (158 compressed).
375
2359bf88
VS
3762013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
379 by 364 bytes (169 compressed).
380
d28e1163
VS
3812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
384 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
385 * include/grub/types.h (grub_unaligned_uint64_t): New type.
386
e89c2d48
VS
3872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
390 bitmasks to small structures of size chosen to fit in registers.
391
7abdac8e
VS
3922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * conf/Makefile.common: Use -freg-struct-return on i386. This
395 decreases code size and improves performance.
396
518864c0
VS
3972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
400
bbd2b539
VS
4012013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
404 "(null)" string.
405 Simplify expressions to save around 256 bytes in kernel.img.
406 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
407
99519c15
VS
4082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
411 Use GRUB_UTIL_FD_O_* rather than O_*.
412
20285765
VS
4132013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
414
415 Add haiku-specific functions.
416
887c0bb6
VS
4172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
420
cd78a56f
VS
4212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Move stat () and device mode checking into OS-dependent files as
424 long as performance doesn't suffer.
425
a4012f07
VS
4262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
427
428 Split make_system_path_relative_to_its_root into separate file
429 relpath.c from getroot.c as it's common between unix and haiku
430 but otherwise haiku doesn't use any functions from unix getroot.c.
431
31de274d
VS
4322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
435 New function.
436 (grub_util_is_special_file): Likewise.
437
40346de6
VS
4382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
441 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
442
d3923ab9
VS
4432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
446 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
447
663f6eb1
VS
4482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
451 (load_image): Likewise.
452
44d1c20a
VS
4532013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/grub-render-label.c: Move backend part to ...
456 * util/render-label.c: ... here.
457
d0a116ee
VS
4582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
461 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
462
b47fcae6
VS
4632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
466
0f7c00c1
VS
4672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
470 CD-ROM in case when it's declared as having subpartitions.
471
29013cba
VS
4722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Don't add -lm on haiku.
475
476 * configure.ac: Define BUILD_LIBM to -lm on most platforms
477 and empty on haiku.
478 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
479 -lm.
480
e8559d24
VS
4812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * configure.ac: Use -melf_*_haiku as target on haiku.
484
8104063c
VS
4852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * Makefile.util.def: Add util/setup.c to extra_dist.
488
fc3182c7
VS
4892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
492 unknown types through.
493
f90a3cc0
VS
4942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
497 (grub_util_check_char_device): Likewise.
498 * include/grub/emu/getroot.h: Likewise.
499
1e3e7419
VS
5002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
503 memset rather than inline static function.
504
92c88fc8
VS
5052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
508 not doing embedded decompressor.
509
3cd910a2
VS
5102013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
513 shadowing.
514 * grub-core/kern/disk.c: Likewise.
515 * grub-core/kern/misc.c: Likewise.
516 * include/grub/parser.h: Likewise.
517 * include/grub/script_sh.h: Likewise.
518 * include/grub/zfs/zfs.h: Likewise.
519
7b3aca00
VS
5202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
523
97dfe7e4
VS
5242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
527 defined before trying to use it.
528
bf919aa9
VS
5292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
532 warning.
533
f4ccf29d
VS
5342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
537 Use __unused__ rather than __used__ on gcc < 3.2.
538
0d3a6f85
VS
5392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
542 gcc < 4.0.
543 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
544
757e3eb7
VS
5452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
548
fb320faf
VS
5492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
552 * include/grub/emu/misc.h: Likewise.
553
ea73acd2
VS
5542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
557 cur_color.
558
71237a6f
VT
5592013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
560
561 * grub-core/tests/checksums.h: Regenerated due to progress bar
562 get_minimal_size changes.
563
3d46c22f
BC
5642013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
565
566 Added `tr' command support.
567
568 * grub-core/commands/tr.c: New file.
569 * grub-core/Makefile.core.def: Build rules for new module.
570
571 * tests/grub_cmd_tr.in: New test.
572 * Makefile.util.def: Build rules for new test.
573
47e0a61f
VT
5742013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
575
576 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
577
946fd073
VT
5782013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
579
580 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
581 * docs/gurb.texi: Likewise.
582
9c13c576
VT
5832013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
584
585 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
586 Pixmap highlighted section with east and west slices was displayed
587 incorrectly due to negative width of the central slice.
588
ad543f12
VT
5892013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
590
591 * docs/grub.texi: Graphical options information update.
592 Removed outdated. Updated current. Inserted missed.
593
6176a0cd
VS
5942013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * docs/grub.texi: Mention few new platform-specific commands.
597
9688cae2
VS
5982013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
601 currently used so this doesn't really have any effect.
602 Reported by: Douglas Ray <dougray>
603
f7b69a3f
VS
6042013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
607 compilation but prevents gcc from displaying messages in non-Latin
608 alphabets.
609 * conf/Makefile.common: Likewise.
610
ceca6ddf
HY
6112013-10-16 Hiroyuki YAMAMORI
612
613 Handle Japanese special keys.
614 Reported by: Hiroyuki YAMAMORI.
615 Codes supplied by: Hiroyuki YAMAMORI.
616
ac48d334
VT
6172013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
618
619 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
620
b2b71bff
VT
6212013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
622
623 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
624 * docs/grub.texi: Likewise.
625
669fc449
VS
6262013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
629 value in case of incomplete read.
630 (grub_util_fd_write): Likewise.
631
59381678
VS
6322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
635
bacfefbb
VS
6362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * util/grub-editenv.c (create_envblk_file): More from here ...
639 * util/editenv.c (grub_util_create_envblk_file): ... to here.
640
f7c49570
VS
6412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
644 canonicalize file name before doing the rest.
645
7b83ca44
VS
6462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
649 mingw32.
650
df1e64c9
VS
6512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
652
653 Define grub_util_is_directory/regular/special_file and
654 use OS-dependent versions rather than to rely on stat().
655
ec16e026
VS
6562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * util/grub-mkimage.c: Move backend part to ...
659 * util/mkimage.c: ... here.
660
4b4eeb3c
VS
6612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Allow compilation with mingw64 albeit with warnings due to lack of
664 %llx/%llu.
665
666 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
667 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
668 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
669 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
670 on mingw64.
671 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
672
f4e0adc0
VS
6732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Remove leftover references to some of the system headers.
676
e0127364
VS
6772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
680 read.
681
20d53541
VS
6822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
685 of strerror.
686
5a869940
VS
6872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Split out blocklist retrieving from setup.c to
690 grub-core/osdep/blocklist.c and add windows implementation since
691 generic version doesn't work on NTFS on Windows due to aggressive
692 unflushable cache.
693
c06c7520
VS
6942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
695
696 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
697 files.
698
8f53bb3f
VS
6992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
702 Cut tailing newline. Remove arbitrary limitation. Always use
703 grub_util_tchar_to_utf8.
704
148f1007
VS
7052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
708 * tests/printf_unit_test.c (printf_test): Add %% tests.
709 Reported by: Paulo Flabiano Smorigo.
710
af3b06be
VS
7112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
714 implement fsync.
715
27f9d02e
VS
7162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * configure.ac: Check for nvlist_lookup_string in nvpair since we
719 use nvlist_lookup_string and don't use nvlist_print.
720
f6a81f0a
VS
7212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
722
723 Add wrappers around rename, unlink, mkdir, opendir, readdir and
724 closedir to handle filename charset translation.
725
d7750b32
VS
7262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * include/grub/emu/hostdisk.h: Move file operations to
729 * include/grub/emu/hostfile.h: ... here.
730
2859196e
VS
7312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
734 unicode path.
735
c018c968
VS
7362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
739
7e45abce
VS
7402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
741
742 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
743 and remove export.h.
744
23934da2
VS
7452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/kern/emu/error.c: Removed.
748 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
749 explicitly as it's already in libgnu.a.
750
c11ebcc8
VS
7512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
754 config-util.h include.
755
70671037
VS
7562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Split emunet into platform-dependent and GRUB-binding parts. Keep
759 platform-dependent part in kernel for easy access to OS functions.
760
25ac643a
VS
7612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
764 open/read/write.
765
69ca5876
VS
7662013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/osdep/windows/emuconsole.c: New file.
769
d9d68ef0
AB
7702013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
771
772 * conf/Makefile.extra-dist: Add osdep/*/init.c
773
58e211cc
VS
7742013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
777
588744d0
VS
7782013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * util/grub-probe.c (probe): Separate different drives in hint-str
781 by spaces and not newlines.
782 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
783
44016e52
AB
7842013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
785
786 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
787 Handle CD-ROMs.
788
6de9ee86
VS
7892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Pass-through unknown E820 types. It required reorganisation of mmap
792 module.
793
f8f3f155
AB
7942013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
795
796 * Makefile.util.def: Add osdep/init.c to grub-mount files.
797
b73249d2
VS
7982013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
799
800 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
801 fseeko.
802
dac86b18 8032013-10-14 qwertial <qwertial>
804
805 * grub-core/gdb_grub.in: Fix overflow and wrong field.
806
17614b84
JM
8072013-10-14 Jon McCune <jonmccune@google.com>
808
809 * docs/grub.texi: Document new signatures possibility.
810
6de292cb
VS
8112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
814
84379b61
VS
8152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
818 missing prototype.
819 (grub_util_tchar_to_utf8): Likewise.
820
21d85db1
VS
8212013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
824 * grub-core/kern/emu/main.c: Add missing include.
825 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
826 Don't call grub_util_init_nls.
827 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
828 Likewise.
829
66a1b3ee
VS
8302013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
833 stat.
834
e19bec17
VS
8352013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
838
ee8c1b29
VS
8392013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
842
bb338aaf
VS
8432013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Add a wrapper for fopen. On unix-like systems just pass-through. On
846 windows use unicode version.
847
ae5540d3
VS
8482013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
849
850 Move set_program_name and init_nls to host_init. On windows
851 fix in this fuction console and argument charset as well.
852
4cd3c4fe
AB
8532013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
854
855 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
856 GRUB_ENABLE_CRYPTODISK.
857
858 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
859 GRUB_ENABLE_CRYPTODISK.
860 * util/grub-mkconfig_lib.in: Likewise.
861
78170f3e
CCZ
8622013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
863
864 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
865
3414b6c0
MC
8662013-10-12 Melki Christian <Christian.melki@saabgroup.com>
867
868 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
869 error when enabling debug.
870
6d0740e8
IB
8712013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
872
873 * configure.ac: Use -melf_*_obsd on openbsd.
874
ff2d4dc4
VS
8752013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
878
eac6ae82
VS
8792013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * include/grub/misc.h: Use gnu_printf rather than printf as format
882 template since our functions are independent of libc.
883
ba9baabe
VS
8842013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * util/grub-setup.c (setup): Move copying of partition table as
887 futher up as possible to avoid possible overwrite by floppy routines.
888
8892013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
890
891 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
892
145e2369
VT
8932013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
894
895 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
896 * docs/grub.texi: Likewise.
897
3530bc9d
VS
8982013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
901 it's mostly unused. Move vestiges to the callers.
902
fb9f59c3
VS
9032013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
906 version of salt and hash. Use grub_snprintf rather than snprintf.
907
9be1c255
VS
9082013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * docs/grub.texi: Fix problem with braces.
911
ed8c0887
VS
9122013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * conf/Makefile.extra-dist: Fix extra-dist list.
915 * grub-core/Makefile.core.def: Likewise.
916
f72ab14e
VS
9172013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * docs/grub.texi: Document disk names used on Windows and AROS.
920
2fe53a22
VS
9212013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
924 with AROS devs.
925 * grub-core/osdep/aros/hostdisk.c: Likewise.
926
71c1d67a
VS
9272013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Avoid including hostfile.h when not necessarry as it pulls
930 in OS-specific headers which may redefine generic names
931 like "far".
932
ad297ec7
VT
9332013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
934
935 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
936 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
937 scrollbar_bottom_pad
938 * docs/grub.texi: Likewise.
939
6e9e5dc9
VT
9402013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
941
942 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
943
761c718b
VS
9442013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
945
946 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
947
37149a2f
VS
9482013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
951 Removed.
952 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
953 Made static.
954
3837a151
VS
9552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
958 leftover.
959
caca1c70
VS
9602013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
961
962 Move OS-specific driver configuration to grub_util_fd_open. This
963 moves OS-dependent parts from kern/emu/hostdisk.c to
964 grub-core/osdep/*/hostdisk.c.
965
f7676b70
VS
9662013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * util/grub-mkimage.c (generate_image): Use size_t instead of
969 grub_size_t.
970 * util/grub-mkimagexx.c (locate_sections): Likewise.
971 (load_image): Likewise.
972
22f98db2
VS
9732013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
976 size_t.
977 (grub_util_write_image): Likewise.
978
b102ce69
VS
9792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
982 get random when no RNG is available.
983 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
984
acbbe5cb
VS
9852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * include/grub/util/lvm.h: Removed.
988
2112fb3f
VS
9892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
992 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
993
79f78fbf
VS
9942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/osdep/windows/sleep.c: Add missing config.h.
997
c2e6f705
VS
9982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1001
aabe433a
VS
10022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/net/drivers/emu/emunet.c: Move to ..
1005 * grub-core/osdep/linux/emunet.c: ..here.
1006
9a2c903f
VS
10072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * util/ieee1275/ofpath.c: Move to ...
1010 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1011 * grub-core/osdep/basic/ofpath.c: ..here.
1012
4a445f58
VS
10132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Move password-querying (util-version) routines to grub-core/osdep.
1016
c1ca4244
VS
10172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 Move sleep routines to grub-core/osdep.
1020
672fa55e
VS
10212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Move OS-dependent files to grub-core/osdep and document it.
1024
a5b0365a
VS
10252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1028 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1029
29072e99
VS
10302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1033
f8772ea7
VS
10342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * util/misc.c: Remove leftover inclusion of malloc.h.
1037
a1a315e7
VS
10382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * include/grub/setjmp.h: Remove leftover GRUBOF.
1041
cef86fef
VS
10422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * util/raid.c: Fold into ...
1045 * util/getroot_linux.c: ... here. Make all functions static.
1046
c4cf25ee
VS
10472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1050 macros to GRUB ones.
1051
53a5f5c2
VT
10522013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1053
1054 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1055 occasional bug. If there are too many boot entries or too low
1056 scrollbar height then we need to use another formula to calculate
1057 the position and size of the scrollbar thumb.
1058
de300af2
VS
10592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1060
c4cf25ee 1061 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1062
c5827364
VT
10632013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1064
1065 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1066 * docs/grub.texi: Likewise.
1067
dd2ed8b0
VT
10682013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1069
1070 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1071 viewport.
1072
7286c384
VT
10732013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1074
ffdfc1f3
VT
1075 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1076 minimal width calculations.
7286c384 1077
ea547e14
VS
10782013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * docs/grub.texi: Update note on colors on emu console.
1081
b726be76
VS
10822013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1085 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1086 it's FS and not GRUB limitation.
1087
a5f6ade6
VS
10882013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1091
3b0f3aa2
VS
10922013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1095
1db38304
ST
10962013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1097
1098 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1099 kernels by version order.
1100
fb295fc0
VS
11012013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1104
47345010
VS
11052013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Add AROS hostdisk and getroot routines.
1108
bf25f879
VS
11092013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Make cryptodisk and diskfilter probe data retrievable programmatically
1112 and not just printable.
1113
24ca4512
VS
11142013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Split random retrieving code into separate files.
1117
c7c177f0
VS
11182013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1121 R_ARM_V4BX.
1122
d71b45ae
VS
11232013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1126 condition.
1127 * grub-core/tests/fake_input.c: Likewise.
1128 * grub-core/tests/cmdline_cat_test.c: Likewise.
1129
e44b9a83
VS
11302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/video/capture.c: Do not do finalization when .fini
1133 is called as there is explicit capture_end.
1134
4fa60739
VS
11352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1138 changing windows to avoid crash.
1139
17c8bc37
VS
11402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1143
9d4d7977
VS
11442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * po/exclude.pot: Add several strings to exclude.
1147
0caa407c
VS
11482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1151
9ae393da
VS
11522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1155 ./util/grub-gen-asciih.c to exclude list.
1156
498d5033
VS
11572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1160 and don't mark error strings for translation.
1161
7d93298f
VS
11622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1165 properly in case of missing block size.
1166
b2cae20c
VS
11672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/lib/arm/setjmp.S: Add missing license section.
1170
3896d6b4
VS
11712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * po/swiss.sed: Add replacement for key names and for term computer.
1174
ebc1da55
VT
11752013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1176
1177 * grub-core/gfxmenu/theme_loader.c: New global options for the
1178 theme background image handling. desktop-image-scale-method,
1179 desktop-image-h-align, desktop-image-v-align.
1180 * grub-core/gfxmenu/view.c: Likewise.
1181 * include/gfxmenu_view.h: Likewise.
1182 * include/bitmap_scale.h: Proportional scale functions introduced.
1183 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1184 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1185 cases of unexpected input variables for scale functions.
1186 * docs/grub.texi: Updated documentation for new options.
1187
c5739143
VS
11882013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1191
be74aeb3
VT
11922013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1193
1194 * grub-core/tests/checksums.h: Corrected due to changes in
1195 bilinear interpolation function.
1196
d999ac72
VT
11972013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1198
1199 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1200 to eliminate artefacts in bilinear interpolation.
1201
2b131610
VS
12022013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/video/readers/tga.c: Support paletted tga.
1205
de6e5ff8
VS
12062013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1209 incorrect cbcr setting when in color mode.
1210
fa31ee9c
VS
12112013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/video/readers/png.c: Support paletted images and clean up
1214 greyscale support.
1215
e84f8188
VS
12162013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1219 usage of wrong table which resulted in mishandling of 4-byte
1220 sequences.
1221
12222013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1223
1224 * grub-core/term/terminfo.c: Add Home and End key sequences.
1225
d72bff09
VS
12262013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1229 Fix formula for computing total number of bytes.
1230
29648c5d
VS
12312013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1234 image processing, fix big-endian and support grayscale.
1235
4a876492
VS
12362013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1239 Correctly will with maximum transparency when using index color.
1240
3ccf16df
VS
12412013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/video/readers/png.c: Support grayscale
1244
12452013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1246
1247 * grub-core/video/readers/jpeg.c: Support grayscale.
1248
3ccf16df 12492013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1250
1251 * grub-core/commands/loadenv.c: Support skipping signature check
1252 and variable names filtering.
1253
30b7f58f
VS
12542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1257 * grub-core/kern/emu/hostfs.c: Likewise.
1258 * util/getroot_unix.c: Likewise.
1259
bab7b1eb
VS
12602013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1263 Migrate all explicit defines to this new one.
1264
43b1c99d
VS
12652013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1268 grub_util_fd_strerror when using grub_util_fd_*.
1269 (grub_util_fd_open_device): Likewise.
1270 (grub_util_biosdisk_read): Likewise.
1271 (grub_util_biosdisk_write): Likewise.
1272 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1273 (grub_util_fd_strerror): Likewise.
1274 (grub_util_fd_sync): Likewise.
1275 (grub_util_fd_close): Likewise.
1276 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1277 (grub_util_fd_close): Likewise.
1278 (grub_util_fd_strerror): Likewise.
1279 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1280 function proto rather than macro.
1281 (grub_util_fd_sync): Likewise.
1282 (grub_util_fd_open): Likewise.
1283 (grub_util_fd_strerror): New proto.
1284
e8fd80bc
VS
12852013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1288 platforms on which it doesn't work.
1289
bf645fda
VS
12902013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1293 stat immediately to where it's used.
1294
5177ba14
VS
12952013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * util/getroot.c (grub_util_check_block_device): Move to ...
1298 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1299 * util/getroot.c (grub_util_check_char_device): Move to ...
1300 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1301
9db826e1
VS
13022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1305 disk closing logic.
1306
49120085
AB
13072013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1308
1309 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1310
b3328b68
AB
13112013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1312
1313 * docs/grub.texi (File name syntax): Document ZFS filenames
1314 (/volume@snapshot/...).
1315
3fff48ab
VS
13162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1319 Always return full path. Fixes a problem with mkrelpath.
1320
39cfdaa9
PFS
13212013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1322
1323 * util/grub-install.in: Add GPT PReP support.
1324 * util/grub-probe.c (probe): Support GPT partition type.
1325 (main): Support -t gpt_parttype.
1326
7c680e1f 13272013-09-23 Aleš Nesrsta <starous@volny.cz>
1328
1329 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1330
890bdabe
MM
13312013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1332
1333 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1334
9c262ff9
TH
13352013-09-23 Tim Hardeck <thardeck>
1336
1337 * util/grub.d/10_hurd.in: Filter out character for the class.
1338 * util/grub.d/10_kfreebsd.in: Likewise.
1339 * util/grub.d/10_linux.in: Likewise.
1340 * util/grub.d/20_linux_xen.in: Likewise.
1341
d755342a
MC
13422013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1343
1344 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1345 "changed".
1346
68b77707
JT
13472013-09-23 Josh Triplett <josh@joshtriplett.org>
1348
1349 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1350 boot partition.
1351
efa68bfa
VS
13522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1355 doesn't use posix_wrap. Keep literal -fno-builtin however.
1356
d9104204
VS
13572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1360
c248781a 13612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13622013-09-23 neil
1363
5830df88 1364 * configure.ac: Do not enable -Wmissing-noreturn as its
1365 usefulness is limited and creates problems on some OS notably with
1366 code generated by bison.
1367
13682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13692013-09-23 neil
1370
1371 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1372 supported by all gcc and when it is, it's already enabled by -Wall.
1373
621bed69
VS
13742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1377 desactivated use of EDID at all.
1378
71764dc8 13792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13802013-09-23 neil
1381
1382 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1383 video if no text is available.
1384
affce7d4 13852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
13862013-09-23 neil
1387
1388 * configure.ac: Substitute TARGET_RANLIB.
1389
13902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13912013-09-23 neil
affce7d4
VS
1392
1393 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1394
1395 Based on patches from AROS.
1396
0e8daad0 13972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 13982013-09-23 neil
0e8daad0
VS
1399
1400 * grub-core/Makefile.am: Override STRIP and RANLIB.
1401 * configure.ac: compute TARGET_RANLIB.
1402 * INSTALL: Document TARGET_RANLIB
1403
1404 Based on patches from AROS.
1405
3f7d9c82
VS
14062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1409 that floppies are unpartitioned.
1410
bca8873a
VS
14112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1414 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1415
14162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1419 less nice but more portable.
1420 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1421
a47a78be
VS
14222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1425 for cheat_fd.
1426 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1427 functions.
1428 (grub_cryptodisk_cheat_insert): Likewise.
1429 (grub_cryptodisk_close): Likewise.
1430
e85a5d5c
VS
14312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1434 Use windows path for DEFAULT_DIRECTORY.
1435
dad9fa6b
VS
14362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1439 difference was likely just gcc version, not anything mingw-related.
1440
7e518ca8
VS
14412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 Use Winapi on both cygwin and mingw32 to share more code between both.
1444
d68d0157
AB
14452013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1446
1447 * util/grub-install.in: Add --grub-editenv option.
1448 * util/grub-install_header (grub_compress_file): Explicitly check for
1449 plain file to avoid cp error.
1450
775b284d
AB
14512013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1452
1453 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1454 names; fix LVM driver name (lvm, not lv).
1455 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1456 names.
1457
3ff4063d
VS
14582013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1461 files rather than one file with loads of #if's.
1462 * util/getroot.c: Likewise.
1463
287faafe
VS
14642013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1467
d1983764
VS
14682013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1471 GNU/Hurd to the list of checked PRNG.
1472
15ce95c4
VS
14732013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1476
207862dd 14772013-09-21 Ales Nesrsta <starous@volny.cz>
1478
7c680e1f 1479 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1480
63653cfd
VS
14812013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1484 * grub-core/disk/lvm.c: Add LVM UUIDs.
1485 * util/getroot.c: Use LVM UUIDs whenever possible.
1486
f5d3e7ef
AB
14872013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1488
1489 * docs/grub.texi (Networking commands): Add documentation for
1490 network related commands.
1491
53c6b7d6
VS
14922013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1495 to determine if device is handled by devmapper.
1496 (convert_system_partition_to_system_disk): Likewise.
1497 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1498 already done in grub_util_open_dm.
1499
e70d6736
LL
15002013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1501
1502 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1503 Clean up stack manipulation (sync_caches_armv*)
1504
90379808
VS
15052013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/lvm.c: Remove since unused. Remove remaining references.
1508
386701a8
VS
15092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Handle the case of partitioned LVM properly.
1512
1513 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1514 Stop on meeting LVM, mpath or DMRAID.
1515 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1516 (read_device_map): Likewise.
1517 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1518 device is full disk rather than erroring out on LVM and similar cases.
1519
53070787
VS
15202013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1523
1bc783bd
VS
15242013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1527 4K before the end.
1528 Reported by: Leif Lindholm
1529
436ad5c3
PW
15302013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
15312013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1534 codes.
1535
607319c9
CW
15362013-09-18 Colin Watson <cjwatson@ubuntu.com>
1537
1538 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1539 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1540
d404d154
DR
15412013-09-18 Douglas Ray <dougray@cpan.org>
1542
1543 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1544 as secure.
1545
28851ef6
AN
15462013-09-18 Aleš Nesrsta <starous@volny.cz>
1547
1548 * docs/grub.texi: Fix broken link.
1549
897c3bc6
MC
15502013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1551
1552 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1553 to break endless loop.
1554
f1630459
VS
15552013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * util/grub-fstest.c: Fix several printf formats.
1558 * util/grub-mkimage.c: Likewise.
1559 * util/grub-mkimagexx.c: Likewise.
1560 * util/grub-script-check.c: Likewise.
1561
64463dfd
VS
15622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1565 error.
1566
48972495
VS
15672013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1570
5dd5e64b
VS
15712013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1574 removed in current versions cygwin_conv_*.
1575
1c1f31e5
VS
15762013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * configure.ac: Disable efiemu runtime on cygwin.
1579
c546a259
VS
15802013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1583 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1584
81690478
VS
15852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1588 error message.
1589
6b87c10a
VS
15902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1593 windows variant.
1594 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1595 data.
1596
8f0baaac
VS
15972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1600 when on x86 and not cygwin.
1601 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1602 -Wl,-melf_x86_64.
1603
b224c266
VS
16042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * configure.ac: Set CPP to build one when checkoing for freetype for
1607 build.
1608
506b336b
VS
16092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1612 [!GRUB_BUILD]: Remove has_argument.
1613
8c8c87b7
VS
16142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1617 Replace with a dummy.
1618
7dc5ca13
VS
16192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * configure.ac: Don't change host_os from mingw to cygwin.
1622
c3302aa5
VS
16232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * configure.ac: Change target_os from windows to cygwin.
1626
7b780018
VS
16272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1630
1631 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1632 (build-grub-gen-asciih): Likewise.
1633 (build-grub-gen-widthspec): Likewise.
1634 * Makefile.util.def (grub-pe2elf): Remove.
1635 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1636 * configure.ac: Separate tests for build.
1637 Move ./build-grub-pe2elf to grub-core.
1638 Fix typo.
1639 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1640 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1641 defined.
1642 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1643 constants.
1644 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1645 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1646 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1647
984cfd8a
VS
16482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1651 mingw32 as well based on grub_util_get_disk_size.
1652 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1653 grub_util_get_fd_size.
1654 (sync): Removed.
1655 (fsync): Moved to ...
1656 * grub-core/kern/emu/misc.c (fsync): ... here.
1657
f82d79c9
VS
16582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * include/grub/mm.h (grub_extend_alloc): Remove.
1661 * grub-core/loader/i386/pc/plan9.c: Use own version of
1662 grub_extend_alloc with appropriate types.
1663
fd7dd66d
VS
16642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1667
43ffba7c
VS
16682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1671
3c7eac44
VS
16722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Fix dependencies on cygwin.
1675
1676 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1677 dependencies when used and defined.
1678 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1679
bdb5ba47
VS
16802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1683 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1684
ed7fbf43
VS
16852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1688 implementation available to cause compile-time rather than runtime
1689 error.
1690
fc46e9fc
VS
16912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * util/grub-fstest.c: Don't check for symlinks on windows.
1694
7f68269a
VS
16952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * INSTALL: Mention unavailability of man pages when cross-compiling.
1698
8ed358e0
VS
16992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1702 and gcry_log_bug.
1703 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1704
fc97214f
VS
17052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * INSTALL: Document cross-compilation.
1708 * acinclude.m4: Determine whether nm support -P and --defined-only.
1709 * configure.ac: Add TARGET_ to all variables pertaining to target
1710 that don't have it yet.
1711 * gentpl.py: Likewise.
1712 * grub-core/Makefile.am: Likewise.
1713 * grub-core/genmod.sh.in: Likewise.
1714 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1715 as well.
1716
ca1fb563
IB
17172013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1718
1719 * configure.ac: Remove -Wempty-body. It's not essential and needs
1720 recent gcc.
1721
0031b229
IB
17222013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1723
1724 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1725 * util/getroot.c: Likewise.
1726
54ea2f44
VS
17272013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/disk/ahci.c: Add needed explicit cast.
1730 * grub-core/lib/backtrace.c: Likewise.
1731 * grub-core/net/ip.c: Likewise.
1732 * grub-core/net/tcp.c: Likewise.
1733 * grub-core/net/udp.c: Likewise.
1734
3c601f8c
VS
17352013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1738
1d679dda
VS
17392013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/import_gcry.py: Add final newline in visibility.h.
1742
00c28dd9
VS
17432013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * conf/Makefile.common: Fix typo.
1746
32af299a
VS
17472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1750
e733cf52
VS
17512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * Makefile.am (widthspec.h): Fix typo.
1754 * util/grub-gen-widthspec.c: Likewise.
1755
c6b066f2
VS
17562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Move ascii.h and widthspec.h generation to a separate build-time-only
1759 tool.
1760
ad1fe3f9 17612013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1762
1763 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1764 Always fill bootdisk info and improve check for NetBSD disklabel.
1765
92a52dd4
VS
17662013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * conf/Makefile.extra-dist: Add util/bin2h.c.
1769 Reported by: floppym.
1770
b2e9d276
VS
17712013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1774
7b966834
VS
17752013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * configure.ac: Disable unifont and starfield if no freetype was found.
1778
d5c1eef1
VS
17792013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1782 on NetBSD and OpenBSD.
1783
66345b50 17842013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1785
1786 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1787
66345b50 17882013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1789
1790 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1791 reduced. Inheritant options are processed during the theme loading.
1792
66345b50 17932013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1794
1795 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1796
369508b3
AS
17972013-08-14 Avik Sil <aviksil@in.ibm.com>
1798
1799 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1800
18012013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1802
1803 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1804 using qemu.
1805
6f27a3f6
PFS
18062013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1807
1808 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1809 remove-potcdate.sed.
1810
c6ed362a
AB
18112013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1812
1813 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1814 unused attribute from pull argument.
1815
5e7d9464
AB
18162013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1817
1818 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1819 memory leak.
1820
dea55e2a
AB
18212013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1822
1823 * util/getroot.c (pull_lvm_by_command): add --separator option
1824 to vgs call to disable padding of output to 10 characters.
1825
f0b94ded
VS
18262013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1829 here ...
1830 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1831 here.
1832
b828fb5d
VS
18332013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1836 length.
1837
7c9d0c39
VS
18382013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1841 full Canadian cross. Tested with build=x86_64, host=arm,
1842 target=ppc-ieee1275.
1843
816719c8
VS
18442013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * configure.ac: Error if no $BUILD_CC could be found.
1847 Reported by: DevHC.
1848
2af2353b
VS
18492013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1852 i386-multiboot.
1853
797abd0a
VS
18542013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1857 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1858
36e87d25
CW
18592013-08-13 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1862 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1863 falling back to the partition device, otherwise a later call to this
1864 function may fail spuriously.
1865 Reported by Axel Beckert. Fixes Debian bug #708614.
1866
273349fe
GS
18672013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1868
1869 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1870
418f86c6
GS
18712013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1872
1873 Prevent shadowing of stdlib's devname(3) on BSD.
1874
1875 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1876 and devlast to diskname and disklast, respectively.
1877
c137aea0
CW
18782013-08-11 Colin Watson <cjwatson@ubuntu.com>
1879
1880 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1881
272dc8df 18822013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1883
1884 * docs/grub.texi: Introduce terminal window position options:
1885 terminal-left: terminal window's left position
1886 terminal-top: terminal window's top position
1887 terminal-width: terminal window's width
1888 terminal-height: terminal window's height
1889 terminal-border: terminal window's border width
1890 * grub-core/gfxmenu/theme-loader.c: Likewise.
1891 * include/grub/gfxmenu_view.h: Likewise.
1892 * po/exlude.pot: Likewise.
1893 * grub-core/gfxmenu/view.c: Likewise.
1894 Also updated minimal window size.
1895 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1896 * grub-core/tests/checksums.h: Update (terminal window height
1897 is adjusted now for low resolution screen)
b4743461 1898
748a4533
VS
18992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1902 position).
1903
fca5f944
VS
19042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * po/exclude.pot: Add few recent exceptions.
1907
4f47d809
VS
19082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * tests/grub_func_test.in: Add unicode.pf2.
1911
a62ae90c
VS
19122013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1915 standard rather than noral color, in line with other terminals.
1916
4ed41392
VS
19172013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1920 analysis.
1921
3719fbc5
VS
19222013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1925
459b1d91
VS
19262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1929 inappropriate printf.
1930
f4e1ab9d
AB
19312013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1932
1933 * .bzrignore: Remove grub-core/lib/dtc-grub,
1934 grub-core/Makefile.libfdt.def
1935 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1936
fa471bfa
VS
19372013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * include/grub/video.h (grub_video_register): Keep double-linked as
1940 well as single-linked invariants.
1941 Reported by: qwertial.
1942
d65be02b
VS
19432013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/commands/nativedisk.c (get_uuid): Handle
1946 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1947
ba8bc620
VT
19482013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1949
1950 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1951 maximum of NW, N, NE heights instead of N's height and maximum of
1952 NW, W, SW widths instead of W's width. (So the box will be always
1953 correctly drawn)
1954
4f0ad029
GS
19552013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1956
1957 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1958 Fix misuse of variable count.
1959
43d53b72
LL
19602013-07-18 Leif Lindholm <leif.lindholm@arm.com>
19612013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
19622013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1963
43d53b72
LL
1964 New ports to arm-uboot and arm-efi.
1965 Mostly by Leif Lindholm with some additions from
1966 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1967
88f8d146
VS
19682013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1971 and not before.
1972 Reported by: Leon Drugi.
1973
3f42504c
VS
19742013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1977 Reported by: Paulo Flabiano Smorigo.
1978
d110499b
VT
19792013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1980
1981 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1982
a8674ad3
VT
19832013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1984
1985 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1986
286fe4b3
VS
19872013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1990
1bd57aa3
VS
19912013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1994
7a87d69f
AB
19952013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1996
1997 * grub-core/net/bootp.c: Export net_* variables.
1998 * grub-core/net/net.c: Likewise.
1999
b2182299
VS
20002013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2003
795b3dc0
VS
20042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2007
68714c43
VS
20082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2011
af211bab
VS
20122013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2015
0036f02d
MM
20162013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2017
2018 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2019 <= 0.
2020
6d0ddff3
MM
20212013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2022
2023 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2024 functions.
2025
038016f4
MM
20262013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2027
2028 * grub-core/fs/zfs/zfs_lz4.c: New file.
2029 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2030
776bdce2
MM
20312013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2032
2033 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2034
c71dbd40
MM
20352013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2036
2037 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2038 (check_pool_label): Likewise.
2039 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2040
20412013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2042
2043 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2044
8e67b50f
AB
20452013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2046
2047 * docs/grub.texi (Commands): Document postition parameters
2048 for menuentry command.
2049
f5ae3717
AB
20502013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2051
2052 * util/grub-mknetdir.in: Remove stray line from help output.
2053
9c28da2a
VS
20542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Remove early sm712 init as there is no reason for it (the "watchdog"
2057 effect was due to wrong GPIO map).
2058
139072b8
VS
20592013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/commands/pcidump.c: Remove static variables.
2062
c6a61bda
VS
20632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2066
51369614
VS
20672013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * configure.ac: Move delimiter after the infos.
2070
efa8640a
VS
20712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2074
6f80a7b2
VS
20752013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2078 not filling whole 8x16 space.
2079
a2371e19
VS
20802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2083
64fce2d8
VS
20842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * configure.ac: Indicate which liblzma is used if any.
2087
eb272d84
PW
20882013-06-21 Paul Wise <pabs3@bonedaddy.net>
20892013-06-21 Craig Sanders <savannah@taz.net.au>
2090
2091 * util/grub-reboot.in: Document submenu usage.
2092
a9e5abee
CW
20932013-06-25 Colin Watson <cjwatson@ubuntu.com>
2094
2095 * .bzrignore: Update with a number of new test-related files.
2096
e639c204
CW
20972013-06-25 Colin Watson <cjwatson@ubuntu.com>
2098
2099 * util/grub-script-check.c: Fail on scripts containing no
2100 commands, to guard against corrupted grub-mkconfig setups that
2101 produce no useful output.
2102 * tests/grub_script_no_commands.in: New test.
2103 * Makefile.util.def (grub_script_no_commands): Add.
2104 Reported by Hans Putter. Fixes Debian bug #713886.
2105
a4c89b17
AB
21062013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2107
2108 * grub-core/disk/diskfilter.c: Forgot to remove comment
2109 from previous commit.
2110
5b06b53c
AB
21112013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2112
2113 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2114 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2115
702da5c9
AB
21162013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2117
2118 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2119
aa62a5b7
AB
21202013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2121
2122 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2123 rescan diskfilter devices until nothing new is found.
2124
4aa237c8
VS
21252013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2128
93d8479b
VS
21292013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 Don't try to detect cbfs on *-emu.
2132
837222cc
VS
21332013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2136
99c971af
VS
21372013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Add support for processed coreboot payload chainloading.
2140
e6930a45
VS
21412013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 Enable coreboot information commands even when not loaded as
2144 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2145
5027af38
VS
21462013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Support for cbfs. Also factor out the part which is common
2149 for all archives to a separate module. This splits tar from cpio
2150 as they are very different but keeps cpio, cpio_be, odc and newc
2151 together since they're very similar.
2152
a5b55c4b
DM
21532013-06-15 David Michael <fedora.dm0@gmail.com>
2154
2155 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2156 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2157
0301a8b3
VS
21582013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * tests/grub_script_eval.in: Really add the eval test.
2161
3d84cb17
VS
21622013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Move flavour-specific parts out of common cpio.c file and
2165 rename remaining to cpio_common.c
2166
593e430c
AB
21672013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2168
2169 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2170 off new function grub_script_execute_new_scope. Change callers to use
2171 either of them as appropriate.
2172 * grub-core/commands/eval.c: New command eval.
2173 * docs/grub.texi (Commands): Document it.
2174
63c29849
AB
21752013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2176
2177 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2178 to fetch values when listing.
2179
cc284112
AB
21802013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2181
2182 Fix make dist on non-pc.
2183
21842013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2185
2186 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2187 without a device name.
2188
69544d1e
VS
21892013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 Remove enable_executable_check as it's not needed anymore.
2192 Reported by: dougray.
2193
96dbe648
VS
21942013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2197 ambigouos RAID before discovering RAIDs on top of it.
2198 Reported by: bodom.
2199
ccfc0bdb
VS
22002013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Fix typo (failback vs fallback).
2203
f2587088
AB
22042013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2205
2206 * util/grub.d/30_os-prober.in: Add support for probing EFI
2207 System Partition (as of os-prober 1.58).
2208
cec5cf0c
VS
22092013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * configure.ac: Add yet another path to unifont. For parabola.
2212
e40b4596
JT
22132013-05-30 Josh Triplett <josh@joshtriplett.org>
2214
2215 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2216 handling to copy the killed characters to the kill buffer as
2217 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2218 stored as char. Eliminates UCS4 truncation and corruption
2219 observed when killing characters with Ctrl-u and yanking them
2220 back with Ctrl-y.
2221
fc4c4fdd
VS
22222013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Detach optional parts of gfxterm and integrate in with coreboot init.
2225
6570b205
VS
22262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 Move blit and fill dispatcher to appropriate files to decrease export
2229 and relocation overhead.
2230
b8323067
VS
22312013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2234 functions.
2235
3cc1878f
VS
22362013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/Makefile.am: Fix compilation problem with some
2239 automake versions.
2240
4b80e43c
VS
22412013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2244
57e0c20c
VS
22452013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2248 automake versions.
2249
4fd42c53
VS
22502013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2253 SSDT.
2254
1e908b34
RS
22552013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2256
2257 * grub-core/partmap/dfly.c: New partition map.
2258
1359e474
VS
22592013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2262 checking.
2263 Reported by: Francesco Lavra.
2264
17806392
AB
22652013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2266
2267 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2268 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2269 false conditions.
2270 * conf/Makefile.common: define dist_grubconf_DATA
2271
cdce14fa
VS
22722013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 Progressively skip menu elements on small terminals rather
2275 than crashing.
2276
c8d6cc3c
VS
22772013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2280 to avoid losing last column.
2281
a73b31ce
VS
22822013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * po/exclude.pot: Add missing string "%C".
2285
1202c764
VS
22862013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2289 after the test.
2290
50268344
VS
22912013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * util/grub-install.in: Gettextize "Not found" message.
2294
62b15edf
VS
22952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Fix distfiles list.
2298 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2299
23002013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2301
2302 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2303 present.
2304 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2305
709ad61b
VS
23062013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2309
d128901a
VS
23102013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2313 attribute since structure is not necessarily aligned.
2314
34b22f5c
AB
23152013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2316
2317 * docs/grub.texi (Device syntax): Clarify description of network
2318 drives.
2319
0f7e980b
VS
23202013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2323 for vasprintf presence.
2324
30b03dc2
VS
23252013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * util/grub-install.in: Handle efibootmgr presence check.
2328 Reported by: Leif Lindholm.
2329
0dc11c08
VS
23302013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2333 new strings to translate.
2334
f8024c3f
VS
23352013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2338 yet another string (pun intended) to translate.
2339
b4c1da62
VS
23402013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * po/POTFILES-shell.in: Autogenerate it.
2343
0ef7478b
VS
23442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2347
8200fa15
VS
23482013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2351 misnomer.
2352
091945b2
AB
23532013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2354
2355 * docs/grub.texi (Network): Add description of net_default_interface,
2356 net_default_ip and net_default_mac. Rewrite variables description
2357 to emphasize that they are per-interface.
2358
0e7b2e32
VS
23592013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 New test: cmdline and cat.
2362
16f7c8f6
VS
23632013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/commands/cat.c: Show UTF-8 characters.
2366
3e912fda
VS
23672013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * conf/Makefile.common: Poison float and double on non-emu.
2370
ee0220bc
VS
23712013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * configure.ac: Don't disable extended registers on emu.
2374
89e0240c
VS
23752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * configure.ac: Don't use extended registers on x86_64.
2378 Reported by: Peter Jones.
2379
e56d9637
VS
23802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/term/efi/console.c: Fix compile error.
2383
8098f655
VS
23842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Compressed HFS+ support.
2387
16940e07
VS
23882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2391 pixel".
2392
c5dbc13d
VS
23932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Menu color test.
2396
011f8ae8
VS
23972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/tests/setjmp_test.c: New test.
2400
2aa072d7
VS
24012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 New variables 'net_default_*' to determine MAC/IP of default interface.
2404
43fe02cb
VS
24052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * tests/gettext_strings_test.in: A test to check for strings not
2408 marked for translation.
2409
bed06142
VS
24102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * autogen.sh: Exclude unused libgcrypt files from translation.
2413
fb2666b5
VS
24142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 Simplify few strings.
2417
d22840ec
VS
24182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Mark few forgotten strings for translation.
2421
e34092fd
VS
24222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2425 rather than printf.
2426
47cf82b4
VS
24272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2430 rather than printf.
2431 * grub-core/video/readers/tga.c: Likewise.
2432
1eed0e6e
VS
24332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * tests/priority_queue_unit_test.cc: New test.
2436
c5b7697b
VS
24372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2440 than printf.
2441
5945c2f8
AB
24422013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2443
2444 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2445 variable for one time boot menu entry.
2446
fa292343
B
24472013-05-05 Bean <bean123ch@gmail.com>
2448
2449 * grub-core/commands/testspeed.c: New command testspeed.
2450
310d4214
VS
24512013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Factor-out human-size printing.
2454
85002bf3
VS
24552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Agglomerate more mallocs to speed-up gfxterm.
2458
22b06e96
VS
24592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Speed-up gfxterm by slightly agglomerating mallocs.
2462
b7c036bc
VS
24632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 More video checks.
2466
92323d1f
VS
24672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Speed-up gfxterm by saving intermediate results in index+alpha
2470 format.
2471
0fb356a3
VS
24722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2475 test.
2476
44dea3f9
VS
24772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2480 line of timeout as it may contain the rest of long line.
2481
14af86e4
VS
24822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/normal/main.c: Fix freed memory dereference.
2485
03f7c8c3
VS
24862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 Fix several memory leaks.
2489
c686014c
VS
24902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2493
0788a695
VS
24942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2497
daf01d61
VS
24982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Fix test -a and -o precedence.
2501 Reported by: adrian15.
2502
82ae74d7
VS
25032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2506
8cec7bd4
AB
25072013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2508
2509 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2510 and add it as source to functional_test module.
2511
aa73d688
VS
25122013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2515
c104b6f9
VS
25162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 New series of tests for gfxterm and gfxmenu.
2519
7391c4d5
VS
25202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2523 the theme path relative to $prefix/themes.
2524
cff50118
VS
25252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2528 Fix order bug.
2529 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2530
7c332bdc
VS
25312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2534 descriptor.
2535
a4f9a5ff
VS
25362013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2539 grub_gfxmenu_timeout_notifications.
2540 (grub_gfxmenu_view_destroy): Likewise.
2541
b5a2114d
VS
25422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2545
a8905e8a
VS
25462013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Several fixes to ieee1275 and big-endian video.
2549
813c1622
VS
25502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Add missing exports on mips.
2553
3f3e7326
VS
25542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2557 if no unifont is found.
2558 Restore original keyboard.
2559
095accd1
VS
25602013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2563 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2564
50361660
VS
25652013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 First automated video test (running videotest and comparing results)
2568
cd0f6eec
VS
25692013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2572 instead of 2 to have full RGB/CMY test pattern.
2573
3f9634e5
VS
25742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Add few more tests.
2577
583e5b64
VS
25782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2581 ARCS. All users updated.
2582
aa7bcb99
VS
25832013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2586
95ef1a54
VS
25872013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2590
46546fc5
VS
25912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2594 Reported by: qwertial.
2595
3476e0ef
VT
25962013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2597
2598 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2599 with syntax "XXX deg"/"XXX °".
2600
96f33fed
VS
26012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Make PCI init in i386-qemu port more robust.
2604
26052013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2606
2607 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2608 cached view is reused.
2609 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2610 open boot menus.
2611
c53b4e67
VS
26122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Unify more code in grub-install_header.
2615
f7457fb2
VS
26162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Add few new tests.
2619
e2f27a8c
VS
26202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 Enforce disabling of firmware disk drivers when native drivers kick in.
2623
ef9d8cd5
VS
26242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/commands/nativedisk.c: Customize the list of modules on
2627 platform. Don't try to search for disks already using native drivers.
2628
f7bf6c31
VS
26292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2632 platforms.
2633
bdc4add8
VS
26342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2637 handling of variables containing backslash.
2638
e9e46c9a
VS
26392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2642 dereference.
2643 Reported by: qwertial.
2644
0e90dee8
VS
26452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2648
e0aacf24
VS
26492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2652 dereference.
2653 Reported by: qwertial.
2654
3c0003c3
VS
26552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2658
adb7d667
VS
26592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2662
7cd0df84
VS
26632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 New command `nativedisk'.
2666
02adbb93
VS
26672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2670 * grub-core/loader/i386/bsd.c: Likewise.
2671
9fb0fd4f
VS
26722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2675
bd69257a
VS
26762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2679 grub_get_unaligned16 rather than shifts.
2680
178c2764
VS
26812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/kern/file.c: Use const char * rather than casting to
2684 non-const.
2685
eadfad24
VS
26862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/commands/probe.c: Add missing grub_device_close.
2689
9f73ebd4
VS
26902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * INSTALL: Document linguas.sh.
2693
965fa829
VS
26942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 Remove POTFILES.in and regenerate it in autogen.sh.
2697
d417ddc4
VS
26982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Move --directory/--override-directorry to grub-install_header and unify.
2701
f97ec546
VS
27022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/term/morse.c: Macroify dih and dah.
2705
b2d7470c
PFS
27062013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2707
2708 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2709
141e2a78
VS
27102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/term/ns8250.c: Systematically probe ports by writing
2713 to SR before using them.
2714
1dd70ebd
PFS
27152013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2716
2717 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2718 disks.
2719 (check_sas): Get sas_adress info.
2720
c796a107
VS
27212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2724 ports.
2725
43168646
LD
27262013-04-27 Leon Drugi <eyak>
2727
2728 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2729 BSS clearing.
2730
e7b8fd08
VS
27312013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Core compression test.
2734
17f9fd29
VS
27352013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Implement grub_machine_get_bootlocation for ARC.
2738
dc2a6c8b
VS
27392013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Improve AHCI detection and command issuing.
2742
f25a2ba6
VS
27432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Fix pseries test.
2746
a6393224
VS
27472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 Make 'make check' work on emu.
2750
db99fbe8
VS
27512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Replace libcurses with our own vt100 handling for the ease of testing
2754 and decreasing prerequisites.
2755
b24ca7cd
VS
27562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2759
63314aa4
VS
27602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2763 compile when not needed.
2764
c1b00fff
VS
27652013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * tests/pseries_test.in: New test.
2768
f93e89ef
VS
27692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Add test to check that different boot mediums work.
2772
c4b456d3
VS
27732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2776 ofw limited ISO support.
2777
5fe67f39
VS
27782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * configure.ac: Fix loongson conditional.
2781
7f63a64f
VS
27822013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Enable mipsel-arc.
2785
b04b5990
VS
27862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 Add serial on ARC platform.
2789
88d2f302
VS
27902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2793 commit.
2794
86eb23bc
VS
27952013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * tests/partmap_test.in: Add missing double semicolon.
2798
eec3bb75
VS
27992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * util/grub-mkrescue.in: Fix loongson filename.
2802
e0810df3
VS
28032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * util/grub-mkrescue.in: Move all files that don't have a location
2806 set in stone under /boot/grub. Use ISO hard links rather than copies
2807 to save some space.
2808
65a6b30b
VS
28092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2812 bogus SLOF values.
2813
6aff0107
VS
28142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 Make check work on mips-arc.
2817
5e013e56
VS
28182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/grub-mkrescue.in: Alias sashARCS as sash.
2821
d1989e2e
VS
28222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2825 it's serial.
2826
1a25e72c
VS
28272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * util/grub-install.in: Fix target fo qemu_mips.
2830 Fix extension on EFI.
2831
a59a9826
VS
28322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2835 in front of chosen entry to mark it even if highlighting is lost.
2836
1a40f80c
VS
28372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2840 gfxpayload=keep if cbfb is active.
2841
e343549c
VS
28422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2845
45fbd9a2
VS
28462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Add missing video ids to coreboot and ieee1275 video.
2849
ab1440bd
VS
28502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * util/grub-mkrescue.in: Add mips-arc support.
2853
cdeb8324
VS
28542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2857
8528c879
VS
28582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 Move mips-arc link address. Previous link address was chosen
2861 in belief that RAM on SGI platforms grows down while in fact it
2862 grows up from an unusual base.
2863
17fca573
VS
28642013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2867 Fix a type which prevented CD-ROM and floppy boot.
2868
d178788e
VS
28692013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Support coreboot framebuffer.
2872
2873 * grub-core/video/i386/coreboot/cbfb.c: New file.
2874
fe4c3e7e
VS
28752013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2878 detecting too small regions.
2879
ec2dd179
VS
28802013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2883
872dac83
VS
28842013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2887 Remove dprintf.
2888 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2889
90ec4b7f
VS
28902013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2893 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2894 * grub-core/loader/powerpc/ieee1275/linux.c
2895 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2896
f32555dd
VS
28972013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2900 Look for /boot-rom as well as /rom/boot-rom.
2901
38649799
VS
29022013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2905 handling when creating text_layer failed.
2906 * grub-core/video/video.c (grub_video_create_render_target):
2907 Set result to 0 on error.
2908 (grub_video_delete_render_target): Do not dereference NULL.
2909
aeace7f7
VS
29102013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2913 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2914 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2915 (grub_linux_load64): Mask out 2 high bits.
2916
4eafa175
AB
29172013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2918
2919 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2920 more place.
2921
daaa64bd
VS
29222013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 Add support for pseries and other bootinfo machines to grub-mkrescue.
2925
2926 Tested by: Paulo Flabiano Smorigo.
2927
d0d2daa6
VS
29282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * util/grub-mkrescue.in: Add GPT for EFI boot.
2931
b193e100
VS
29322013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2935 It improves performance in qemu.
2936
a0f8f3ac
VS
29372013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * build-aux/snippet: Add missing gnulib files.
2940
284df0e2
AB
29412013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2942
2943 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2944
740201f3
AB
29452013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2946
2947 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2948
a7e03923
PJ
29492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
29502013-04-15 Peter Jones <pjones@redhat.com>
2951
2952 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2953 sectors.
2954 Based on patch by Peter Jones.
2955
25fc51a8
VS
29562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 Fix DMRAID partition handling.
2959
88017d47
VS
29602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * tests/grub_cmd_date.in: Skip on sparc64.
2963
fa7d914e
VS
29642013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2967 firmware error messages.
2968
cbe57a48
VS
29692013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2972 source and destination differ.
2973
21aecce0
VS
29742013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2977 detection.
2978
25092d29
VS
29792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2982 match config-util.h to avoid warnings and increase compatibility.
2983
79451522 29842013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 29852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2986
2987 Add option to compress files on install/image creation.
2988
78b7d77b
VS
29892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * docs/grub-dev.texi: Rearrange menu to match the section order.
2992 Reported by: Bryan Hundven.
2993
cc2fa5ec
VS
29942013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2997
b49fe879
VS
29982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 Move GRUB out of system area when using xorriso 1.2.9 or later.
3001
5351da81
VS
30022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * tests/grub_cmd_date.in: Add missing exit 1.
3005
c9d586ea
VS
30062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * tests/partmap_test.in: Skip on sparc64.
3009
3f729741
VS
30102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Support grub-shell on sparc64.
3013
8ca86b3a
VS
30142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Support mkrescue on sparc64.
3017
aa1af9bb
VS
30182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3021 Needed on OpenBIOS due to incomplete device tree.
3022
ac4fea79
VS
30232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3026 would be otherwise excluded.
3027
30282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3029
3030 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3031 Inline name defines used only once.
3032
fe22b071
VS
30332013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 Fix memory leaks in ofnet.
3036 Reported by: Francesco Lavra.
3037
9d21381b
VS
30382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * docs/man/grub-glue-efi.h2m: Add missing file.
3041
07aec23c
VS
30422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3045
67ab8353
VS
30462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 Better support Apple Intel Macs on CD.
3049
ba44ca6d
VS
30502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Replace stpcpy with grub_stpcpy in tools.
3053
bbdd6305
VS
30542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 Handle Japanese special keys.
3057 Reported by: Hiroyuki YAMAMORI.
3058 Codes supplied by: Hiroyuki YAMAMORI.
3059
8573d302
VS
30602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * util/grub-mkimage.c: Document memdisk implying --prefix.
3063
d70dbab7
VS
30642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3067 much we can do about it anyway.
3068
51a4c3e3
AN
30692013-04-12 Aleš Nesrsta <starous@volny.cz>
3070
3071 Fix handling of split transfers.
3072
92c8f58d
VS
30732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/net/http.c: Fix bad free.
3076
b7d17a49
VS
30772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3080 than buffer size.
3081
a3d566d4
VS
30822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3085
a936af56
VS
30862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * tests/util/grub-shell.in: Fix it on powerpc.
3089
51212234
VS
30902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 Turn off QEMU ACPI-way since new releases don't have shutdown port
3093 anymore.
3094
a21eec9e
VS
30952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * docs/grub.texi: Update coreboot status info.
3098
e3734b84
VS
30992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * tests/grub_cmd_date.in: New test for datetime.
3102
f9d40055
VS
31032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * tests/partmap_test.in: Fix missing qemudisk setting.
3106
dbc56d8f
VS
31072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Support i386-ieee1275 grub-mkrescue and make check on it.
3110
a79b8a15
VS
31112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3114 feature for it.
3115
48f39bb4
VS
31162013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3119 GRUB_CMDLINE_XEN_DEFAULT.
3120 Reported by: Marc Warne (GigaTux) <gigatux>
3121
053cfcdd
VS
31222013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Import new gnulib.
3125
93cd84df
VS
31262013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Use ACPI shutdown intests as traditional port was removed.
3129
f4b1fa4f
AB
31302013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3131
3132 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3133 distinction.
3134
49818a59
VS
31352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3138 Fix few warining messages and leaks while on it.
3139
9277a306
AB
31402013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3141
3142 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3143 links under grub-core/lib/libgcrypt-grub/mpi.
3144
d5e2a158
VS
31452013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Fix ia64-efi image generation on big-endian machines. Deduplicate
3148 some code while on it.
3149 Reported by: Leif Lindholm.
3150
18866643
AB
31512013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3152
3153 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3154 as extra_dist.
3155
ca53deb8
AB
31562013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3157
3158 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3159
d4c4b8e1
BH
31602013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3161
3162 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3163 texinfo-5.1.
3164
47043f95
VS
31652013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/normal/term.c: Few more fixes for menu entry editor
3168 rendering.
3169 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3170
a3216068
VS
31712013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/normal/term.c: Few more fixes for menu entry editor
3174 rendering.
3175 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3176
21026747
AB
31772013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3178
3179 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3180 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3181
59624ca8
AB
31822013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3183
3184 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3185 instead of hardcoding grub.mo.
3186
1f44478c
FN
31872013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3188
3189 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3190
eeada7b1
VS
31912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3194 grub-core/disk/geli.c.
3195
132867de
VS
31962013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/grub-mkfont.c: Prefer enum to #define.
3199
de73de17
VS
32002013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3203
1865baa7
VS
32042013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3207
ce7d92a9
VS
32082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3211
52eab656
VS
32122013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3215
98b23b95
VS
32162013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * include/grub/bsdlabel.h: Use enums.
3219
0467a5dd
VS
32202013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Move GRUB_CHAR_BIT to types.h.
3223
16cc9f03
AB
32242013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3225
3226 * docs/grub.texi: Document more user commands.
3227
3152aecb
AB
32282013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3229
3230 * docs/grub.texi: Document menuentry --id option.
3231
c506fc30
FL
32322013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3233
3234 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3235
aa428238
VS
32362013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 Unify file copying setup across different install scripts. Add
3239 options for performing partial install.
3240
efe0cdda
PJ
32412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32422013-04-04 Peter Jones <pjones@redhat.com>
3243
3244 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3245
f75835bd
VS
32462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 Use TSC as a possible time source on i386-ieee1275.
3249
2cd5ce6c
VS
32502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3253 Init err.
3254
c9625630
VS
32552013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * util/grub-setup.c (setup): Handle some corner cases.
3258
be008941
VS
32592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3262
1a78d573
VS
32632013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/commands/verify.c: Save verified file to avoid it being
3266 tampered with after verification was done.
3267
db8ff59f
VS
32682013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3271 reported width by one to compensate for curesor algorithm problem.
3272
91bf46b1
VS
32732013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 Fix screen corruption in menu entry editor and simplify the code
3276 flow while on it.
3277
a7b1d693
AB
32782013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3279
3280 * util/grub-mount.c (fuse_init): Return error if fuse_main
3281 failed.
3282
31df9ad8
FL
32832013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3284
3285 * include/grub/elf.h: Add missing ARM relocation codes and fix
3286 existing ones.
3287
07f392eb
VT
32882013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3289
3290 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3291
9efd73ec 32922013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
32932013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3296 into account when calculating radius.
3297
32982013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3299
3300 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3301
4985ddaa
VT
33022013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3303
3304 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3305
8c3635ff
RS
33062013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3307
3308 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3309 missing closing bracket.
3310
74a35e69
RS
33112013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3312
3313 * INSTALL: Mention xorriso requirement.
3314
40f1c000
AB
33152013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3316
3317 * grub-core/commands/verify.c: Fix hash algorithms values for
3318 the first three hashes - they start with 1, not with 0.
3319
e75fdee4
VS
33202013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3323 Try terminating EFI services several times due to quirks in some
3324 implementations.
3325
33028f4c
CW
33262013-03-26 Colin Watson <cjwatson@ubuntu.com>
3327
3328 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3329 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3330 BankField extended opcodes.
3331 (get_sleep_type): Add minimal scope handling (just enough to
3332 handle setting the scope to the root path).
3333 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3334 * include/grub/acpi.h: Add enumeration values for Event, Device,
3335 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3336
33871a10
VT
33372013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3338
3339 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3340 memory leak.
3341
8990963a
VS
33422013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/disk/ahci.c: Give more time for AHCI request.
3345
daae8f9e
VS
33462013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3349 command.
3350
6a7fb94b
VS
33512013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 Replace the region at 0 from coreboot tables to available in BSD
3354 memory map.
3355
ff99babd
VS
33562013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3359 non-BIOS platforms.
3360
30d6b1b2
VS
33612013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3364 platforms.
3365
6ccd0b31
VS
33662013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3369 handling of multi-device filesystems.
3370
23c9cc04
VS
33712013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3374 platforms.
3375
ce50dbd7
VS
33762013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Add new 'proc' filesystem framework and put luks_script into it.
3379
d975e8d5
VS
33802013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3383 and qemu.
3384
e73ba5e8
VS
33852013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3388
92750e4c
VS
33892013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Add ability to generate newc additions on runtime.
3392
0ec45a68
VS
33932013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3396 description.
3397
320abd43
VS
33982013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * po/POTFILES.in: Regenerate.
3401
d7a6506e
VS
34022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/commands/verify.c (hashes): Add several hashes
3405 from the spec.
3406
8fe05def
VS
34072013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Slight improve in USB-related boot-time checkpoints.
3410
524e2766
VS
34112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/commands/boottime.c: Fix copyright header.
3414
cc19857a
VS
34152013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3418 coreboot tables content. Support for cbmemc.
3419
ef8810e9
VS
34202013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 Fix a conflict between ports structures with 2 controllers of
3423 same kind.
3424
e9dabdfa
VS
34252013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * include/grub/boottime.h: Add missing file.
3428
f6df57d2
VS
34292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 Initialize USB ports in parallel to speed-up boot.
3432
d745dda7
VS
34332013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Fix USB devices not being detected when requested
3436 due to delayed attach.
3437
e5a2dd7b
VS
34382013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3439
e744219b
VS
3440 Implement boot time analysis framework.
3441
34422013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3445 descriptor to just receive it as argument rather than endpoint
3446 address.
3447
5dd6f587
VS
34482013-03-19 Aleš Nesrsta <starous@volny.cz>
3449
3450 Better estimate the maximum USB transfer size.
3451
2f1071d5
VS
34522013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 Resend a packet if we got the wrong buffer in status.
3455
46ecfc49
VS
34562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3459 multiplication rather than division.
3460
ea811130
VS
34612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3464 than divisions.
3465
d2789cf0
VS
34662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3469 operations to have intended shifts and not divisions.
3470
a9c94590
VS
34712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3474 intended shifts rather than division.
3475
84cfe81b
VS
34762013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3479 computation for some years before epoch. Avode confusing division
3480 while on it.
3481
21344ef6
VS
34822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * grub-core/video/i386/pc/vbe.c
3485 (grub_video_vbe_print_adapter_specific_info): Replace division by
3486 shifts.
3487
3f2b4d1a
VS
34882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 Adjust types in gdb module to have intended unsigned shifts rather than
3491 signed divisions.
3492
3dac5878
VS
34932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3496 maximum size is 4G - 1 on hfs
3497
5341c0fb
VS
34982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3501
fc3ff2a2
VS
35022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3505 function.
3506
81455e8e
AB
35072013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3508
3509 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3510 causing gcc error with gcc 4.7.1.
3511
efd4f117
NZ
35122013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3513
3514 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3515 dereference null pointer. While the code is technically correct, gcc
3516 may eliminate a null check if pointer is already dereferenced.
3517
e11645f4
NZ
35182013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3519
3520 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3521 OOM check.
3522 * grub-core/normal/term.c (read_terminal_list): Likewise.
3523
77468368
VS
35242013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Lift up core size limits on some platforms. Fix potential memory
3527 corruption with big core on small memory systems. Document remaining
3528 limits.
3529
f6b58fe5
VS
35302013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3533 gotoxy to 0,0.
3534
19ce697d
VS
35352013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 Remove all trampoline support. Add -Wtrampolines when
3538 present. Remove symbols used for trampolines to make
3539 link fail if trampolines are present.
3540
73b5d90f
VS
35412013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3544 append out of its parent.
3545
cb758e96
VS
35462013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3549 parent.
3550
3188131f
VS
35512013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3554 all vars to a macro. All users updated.
3555
e42b2514
VS
35562013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3559 i386-ieee1275.
3560
83e1a1a1
VS
35612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3564
1d5a880f
VS
35652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3568
6e4146c4
VS
35692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 Move to more hookless approach in IEEE1275 devices handling.
3572
99fcda8a
VS
35732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/kern/term.c (grub_term_normal_color),
3576 (grub_term_highlight_color): Add back lost defaults.
3577
73bf57e2
VS
35782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 Make elfload not use hooks. Opt for flags and iterators instead.
3581
7f8c105f
VS
35822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3585 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3586
396d4091
VS
35872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3590
35912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3594 hook pass-through parameter. All users updated and unnested.
3595
74a27421
VS
35962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3599 out of its parent.
3600
b46d4213
VS
36012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/fs/hfs.c: Remove nested functions.
3604
e114c3cc
VS
36052013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3608 the context through.
3609 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3610
f9b7d780
VS
36112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * util/grub-editenv.c (list_variables): Move print_var out of its
3614 parent.
3615
ca9c2608
VS
36162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3619 function.
3620
5d983f5f
VS
36212013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/gentrigtables.c: Make tables const.
3624
3056d3e7
VS
36252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 Remove nested functions from videoinfo iterators.
3628
e2303774
VS
36292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3632 for 64-bit platforms.
3633
f42e3a2f
VS
36342013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3637 a FOR_CHILDREN macro.
3638
be174e5e
VS
36392013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3642 platform from firmware path.
3643
0789b672
VS
36442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Enable linux16 on non-BIOS systems for i.a. memtest.
3647
3648 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3649 correctly.
3650 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3651
005a9c32
VS
36522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3655 Fix end of table condition.
3656
ff2b3cd9
VS
36572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3660 out of its parent.
3661
4fc40ff8
VS
36622013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/fs/jfs.c: Remove nested functions.
3665
be42d97a
VS
36662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/fs/minix.c: Remove nested functions.
3669
99373ce4
VS
36702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/fs/iso9660.c: Remove nested functions.
3673
5aec2afe
VS
36742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3677 of parent function.
3678
6c69e691
VS
36792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * util/grub-fstest.c: Remove nested functions.
3682
43c91882
VS
36832013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/loader/machoXX.c: Remove nested functions.
3686
4eb8b756
CW
36872013-02-27 Colin Watson <cjwatson@ubuntu.com>
3688
3689 Remove nested functions from disk and file read hooks.
3690
3691 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3692 (struct grub_disk): Add read_hook_data member.
3693 * include/grub/file.h (struct grub_file): Likewise.
3694 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3695 argument.
3696
3697 Update all callers.
3698
df6da5a5
AB
36992012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3700
3701 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3702 Fix off by one error in enumerating extended partitions.
3703
21aecde5
AB
37042013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3705
3706 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3707 memory leak if device name is not found.
3708
f1a19118
AB
37092013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3710
3711 * grub-core/normal/menu_entry.c (update_screen): remove
3712 unused variable `off' which caused scroll down arrow to be always shown.
3713
958bfd20
AB
37142013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3715
3716 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3717 access to unallocated memory.
3718
b7b78edb
AB
37192013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3720
3721 * Makefile.util.def: Add partmap/msdos.c to common library.
3722 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3723 * grub-core/disk/ldm.c: Check for existence of
3724 GRUB_PC_PARTITION_TYPE_LDM.
3725
28d468d6
VS
37262013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3729 sizes and display sector size.
3730
d55ffb02
VS
37312013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 Implement new command cmosdump.
3734
b5ea6ce0
VS
37352013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3736
3737 Support Openfirmware disks with non-512B sectors.
3738
3739 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3740 size of the disk.
3741 * (grub_ofdisk_get_block_size): New function.
3742 * (grub_ofdisk_prepare): Use the correct block size.
3743 * (grub_ofdisk_read): Likewise.
3744 * (grub_ofdisk_write): Likewise.
3745 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3746 New proto.
3747
cc0e476f
VS
37482013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3751
c5dbdc33
VS
37522013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3755 on first error.
3756
3f078c0f
VS
37572013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3760 freeing it.
3761
66a93674
VS
37622013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 Implement USBDebug (full USB stack variant).
3765
c9f0c134
VS
37662013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3769 unless they have unexpected values.
3770
cfe1288b
VS
37712013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3774 grub_print_error.
3775
e42b9969
VS
37762013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3779 zero-out of port structure.
3780
cf94fd62
VS
37812013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3784 of extended attributes.
3785
f81ef4b5
AB
37862013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3787
3788 * util/grub-install.in: change misleading comment about
3789 device.map creation
3790
af18fdb4
VS
37912013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3794 when menu highlight color isn't set.
3795
08bcec50
M
37962013-01-27 C. Masloch <pushbx@38.de>
3797
3798 Improve FreeDOS direct loading support compatibility.
3799
3800 * include/grub/i386/relocator.h (grub_relocator16_state):
3801 New member ebp.
3802 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3803 variable.
3804 (grub_relocator16_boot): Handle %ebp.
3805 * grub-core/lib/i386/relocator16.S: Likewise.
3806 * grub-core/loader/i386/pc/freedos.c:
3807 Load BPB to pass kernel which partition to load from.
3808 Check that kernel file is not too large.
3809 Set register dl to BIOS unit number as well.
3810
7782b8a6
CW
38112013-01-22 Colin Watson <cjwatson@ubuntu.com>
3812
3813 * util/grub-reboot.in (usage): Document the need for
3814 GRUB_DEFAULT=saved.
3815 * util/grub-set-default.in (usage): Likewise.
3816 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3817
e661c180
VS
38182013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3821 than defining WORDS_BIGENDIAN manually.
3822
1c22ca9a
VS
38232013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3826 invariants.
3827
d44892fe
CW
38282013-01-21 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3831 nested.
3832 (blit_comb: add_device_width): Likewise.
3833
5fdbaed1
CW
38342013-01-21 Colin Watson <cjwatson@ubuntu.com>
3835
3836 Remove nested functions from USB iterators.
3837
3838 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3839 (grub_usb_controller_iterate_hook_t): Likewise.
3840 (grub_usb_iterate): Add hook_data argument.
3841 (grub_usb_controller_iterate): Likewise.
3842 (struct grub_usb_controller_dev.iterate): Likewise.
3843
3844 Update all implementations and callers.
3845
4250985a
VS
38462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3849 margin when not needed.
3850
7d8848f3
VS
38512013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3852
bc136973 3853 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3854
38552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3856
bc136973
VS
3857 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3858 asterisk.
7d8848f3 3859
ed12a003
CW
38602013-01-21 Colin Watson <cjwatson@ubuntu.com>
3861
3862 Fix powerpc and sparc64 build failures caused by un-nesting memory
3863 map iterators.
3864
6a0db449
CW
38652013-01-21 Colin Watson <cjwatson@ubuntu.com>
3866
3867 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3868 parameter declarations.
3869
ccd86b21
VS
38702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3873
822b726b
VS
38742013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Improve spkmomdem reliability by adding a separator between bytes.
3877
115c2cc1
CW
38782013-01-21 Colin Watson <cjwatson@ubuntu.com>
3879
3880 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3881 an Acer registration utility with several sightings in the wild.
3882 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3883
fc524edf
CW
38842013-01-21 Colin Watson <cjwatson@ubuntu.com>
3885
3886 Remove nested functions from filesystem directory iterators.
3887
3888 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3889 (struct grub_fs.dir): Add hook_data argument.
3890
3891 Update all implementations and callers.
3892
53d3e4e3
CW
38932013-01-21 Colin Watson <cjwatson@ubuntu.com>
3894
3895 * docs/grub.texi (Multi-boot manual config): Fix typo for
3896 "recommended".
3897
c821711f
LL
38982013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3899
3900 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3901 until after its use in generate_image.
3902
6a0debbd
CW
39032013-01-20 Colin Watson <cjwatson@ubuntu.com>
3904
3905 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3906 initrd size to addr_min, since the initrd will be allocated after
3907 this address.
3908
f41e08db
AB
39092013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3910
3911 * conf/Makefile.common: Fix autogen rules to pass definition
3912 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3913
77529e0f
LL
39142013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3915
3916 * include/grub/elf.h: Update ARM definitions based on binutils.
3917
b879aa7b
VS
39182013-01-20 Aleš Nesrsta <starous@volny.cz>
3919
3920 Split long USB transfers into short ones.
3921
8eb8284d
AB
39222013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3923
3924 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3925 is interrupted by ESC.
3926
08dad2dc
VS
39272013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * util/grub-script-check.c (main): Uniform the error message.
3930
6c724b85
CW
39312013-01-20 Colin Watson <cjwatson@ubuntu.com>
3932
3933 Remove nested functions from ELF iterators.
3934
25239370
CW
39352013-01-20 Colin Watson <cjwatson@ubuntu.com>
3936
3937 Remove nested functions from device iterators.
3938
3939 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3940 (grub_arc_iterate_devs): Add hook_data argument.
3941 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3942 (struct grub_ata_dev.iterate): Add hook_data argument.
3943 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3944 (grub_device_iterate): Add hook_data argument.
3945 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3946 (struct grub_disk_dev.iterate): Add hook_data argument.
3947 (grub_disk_dev_iterate): Likewise.
3948 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3949 Likewise.
3950 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3951 Likewise.
3952 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3953 type.
3954 (struct grub_partition_map.iterate): Add hook_data argument.
3955 (grub_partition_iterate): Likewise.
3956 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3957 (struct grub_scsi_dev.iterate): Add hook_data argument.
3958
3959 Update all callers.
3960
6c0314d6
CW
39612013-01-20 Colin Watson <cjwatson@ubuntu.com>
3962
3963 Fix typos for "developer" and "development".
3964
600dc5f1
VS
39652013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Add license header to spkmodem-recv.c.
3968
17334a6b
VS
39692013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Rewrite spkmodem to use PIT for timing. Double the speed.
3972
7d462559
VS
39732013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Add new command pcidump.
3976
b78d6c32
VS
39772013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 New terminal outputs using serial: morse and spkmodem.
3980
34f71cb8
VS
39812013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 Improve bidi handling in entry editor.
3984
4542e71b
VS
39852013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3988 argument to prevent name collision.
3989
09fd6d82
CW
39902013-01-15 Colin Watson <cjwatson@ubuntu.com>
3991
3992 Remove nested functions from script reading and parsing.
3993
3994 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3995 getline_data argument, passed to getline.
3996 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3997 getline_data argument, passed to grub_parser_split_cmdline.
3998 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3999 lexerstate->getline_data to lexerstate->getline.
4000 (grub_script_lexer_init): Add getline_data argument, saved in
4001 lexerstate->getline_data.
4002 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4003 argument, passed to grub_script_parse.
4004 * grub-core/script/script.c (grub_script_parse): Add getline_data
4005 argument, passed to grub_script_lexer_init.
4006 * include/grub/parser.h (grub_parser_split_cmdline): Update
4007 prototype. Update all callers to pass appropriate getline data.
4008 (struct grub_parser.parse_line): Likewise.
4009 (grub_rescue_parse_line): Likewise.
4010 * include/grub/reader.h (grub_reader_getline_t): Add void *
4011 argument.
4012 * include/grub/script_sh.h (struct grub_lexer_param): Add
4013 getline_data member.
4014 (grub_script_parse): Update prototype. Update all callers to pass
4015 appropriate getline data.
4016 (grub_script_lexer_init): Likewise.
4017 (grub_normal_parse_line): Likewise.
4018
4019 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4020 data argument.
4021 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4022 static instead of nested. Rename to ...
4023 (grub_parser_execute_getline): ... this.
4024 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4025 data argument.
4026 * grub-core/normal/main.c (read_config_file: getline): Make static
4027 instead of nested. Rename to ...
4028 (read_config_file_getline): ... this.
4029 (grub_normal_read_line): Add unused data argument.
4030 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4031 getline): Make static instead of nested. Rename to ...
4032 (grub_script_execute_sourcecode_getline): ... this.
4033 * util/grub-script-check.c (main: get_config_line): Make static
4034 instead of nested.
4035
d0d4b8a0
CW
40362013-01-15 Colin Watson <cjwatson@ubuntu.com>
4037
4038 Remove nested functions from memory map iterators.
4039
4040 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4041 argument, passed to hook.
4042 * grub-core/kern/i386/coreboot/mmap.c
4043 (grub_linuxbios_table_iterate): Likewise.
4044 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4045 instead of nested.
4046 (grub_machine_mmap_iterate): Add hook_data argument.
4047 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4048 Add hook_data argument, passed to hook.
4049 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4050 Likewise.
4051 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4052 Likewise.
4053 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4054 Likewise.
4055 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4056 Likewise.
4057 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4058 Likewise.
4059 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4060 Likewise.
4061 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4062 (grub_machine_mmap_iterate): Likewise.
4063 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4064 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4065 prototype.
4066 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4067 Remove NESTED_FUNC_ATTR from here and from all users.
4068 (grub_mmap_iterate): Update prototype.
4069 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4070 pass appropriate hook data.
4071 (grub_machine_mmap_iterate): Likewise.
4072
4073 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4074 static instead of nested.
4075 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4076 Rename to ...
4077 (lsmmap_hook): ... this.
4078 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4079 Likewise.
4080 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4081 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4082 heap_init): Likewise.
4083 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4084 Rename to ...
4085 (mmap_iterate_hook): ... this.
4086 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4087 Likewise.
4088 * grub-core/lib/ieee1275/relocator.c
4089 (grub_relocator_firmware_get_max_events: count): Likewise.
4090 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4091 to ...
4092 (grub_relocator_firmware_fill_events_iter): ... this.
4093 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4094 hook): Likewise. Rename to ...
4095 (grub_relocator_alloc_chunk_align_iter): ... this.
4096 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4097 Rename to ...
4098 (generate_e820_mmap_iter): ... this.
4099 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4100 Rename to ...
4101 (count_hook): ... this.
4102 (grub_linux_boot: hook): Likewise. Rename to ...
4103 (grub_linux_boot_mmap_find): ... this.
4104 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4105 (grub_linux_boot_mmap_fill): ... this.
4106 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4107 hook): Likewise. Rename to ...
4108 (grub_fill_multiboot_mmap_iter): ... this.
4109 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4110 hook): Likewise. Rename to ...
4111 (count_hook): ... this.
4112 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4113 hook): Likewise. Rename to ...
4114 (grub_fill_multiboot_mmap_iter): ... this.
4115 * grub-core/loader/powerpc/ieee1275/linux.c
4116 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4117 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4118 Likewise. Rename to ...
4119 (alloc_phys_choose): ... this.
4120 (determine_phys_base: get_physbase): Likewise.
4121 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4122 find_hook): Likewise.
4123 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4124 (malloc_hook: count_hook): Likewise.
4125 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4126 Likewise. Rename to ...
4127 (lower_hook): ... this.
4128 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4129 (upper_hook): ... this.
4130 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4131 (post64_hook): ... this.
4132 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4133 Likewise. Rename to ...
4134 (lower_hook): ... this.
4135 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4136 (upper_hook): ... this.
4137 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4138 (grub_mmap_iterate: fill_hook): Likewise.
4139 (fill_mask): Pass addr and mask within a single struct.
4140 (grub_cmd_badram: hook): Make static instead of nested. Rename
4141 to ...
4142 (badram_iter): ... this.
4143 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4144 (cutmem_iter): ... this.
4145
22099030
VS
41462013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4149 delimit path in strings using quotes.
4150 * util/getroot.c (grub_guess_root_devices): Likewise.
4151 (grub_make_system_path_relative_to_its_root): Likewise.
4152 * util/grub-probe.c (probe): Likewise.
4153 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4154 (xrealpath): Likewise.
4155
4a9950ec
VS
41562013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 Fix compilation with older compilers.
4159
4160 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4161 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4162 declarations.
4163 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4164 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4165 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4166 identifier with b.
4167 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4168 * include/grub/crypto.h: Add type defines.
4169 * util/import_gcrypth.sed: Remove duplicate type defines.
4170
adcc6020
VS
41712013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 New command list_trusted.
4174
4175 * grub-core/commands/verify.c (grub_cmd_list): New function.
4176
a4528937
CW
41772013-01-13 Colin Watson <cjwatson@ubuntu.com>
4178
4179 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4180 info message.
4181
ca3a7446
CW
41822013-01-13 Colin Watson <cjwatson@ubuntu.com>
4183
4184 Remove nested functions from PCI iterators.
4185
4186 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4187 passed to hook. Update all callers to pass appropriate hook data.
4188 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4189 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4190 Remove NESTED_FUNC_ATTR from here and from all users.
4191 (grub_pci_iterate): Update prototype.
4192 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4193 instead of nested. Rename to ...
4194 (grub_cs5536_find_iter): ... this.
4195 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4196 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4197 Likewise.
4198 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4199 Likewise.
4200 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4201 Likewise.
4202 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4203 Likewise.
4204 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4205 * grub-core/video/radeon_fuloong2e.c
4206 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4207 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4208 find_card): Likewise.
4209 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4210 Likewise.
4211
f8e98fee
VS
42122013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/commands/verify.c: Mark messages for translating.
4215
055b36b6
VS
42162013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4219 fatal.
4220
f7ff879b
VS
42212013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4224 fatal.
4225
42262013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4227
4228 * autogen.sh: Do not try to delete nonexistant files.
4229 * util/import_gcrypth.sed: Add some missing header removals.
4230
01323d49
CW
42312013-01-12 Colin Watson <cjwatson@ubuntu.com>
4232
4233 Clean up dangling references to grub-setup.
4234 Fixes Ubuntu bug #1082045.
4235
4236 * docs/grub.texi (Images): Refer generally to grub-install rather
4237 than directly to grub-setup.
4238 (Installing GRUB using grub-install): Remove direct reference to
4239 grub-setup.
4240 (Device map) Likewise.
4241 (Invoking grub-install): Likewise.
4242 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4243 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4244 * util/grub-install.in (usage): Likewise.
4245
4246 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4247 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4248 grub-setup.
4249 * configure.ac: Remove grub_setup output variable.
4250
4251 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4252 to grub-bios-setup.
4253 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4254 grub-setup to grub-sparc64-setup.
4255
5e3b8dcb
VS
42562013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 Import gcrypt public-key cryptography and implement signature checking.
4259
535714bd
VS
42602013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/fs/ntfs.c: Ue more appropriate types.
4263 * grub-core/fs/ntfscomp.c: Likewise.
4264 * include/grub/ntfs.h: Likewise.
4265
3e4f3566
VS
42662013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Support Apple FAT binaries on non-Apple platforms.
4269
4270 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4271 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4272 Likewise.
4273 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4274 Apple FAT binaries.
4275
4dedb13f
VS
42762013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4279 sector devices.
4280
f8861eaf
CW
42812013-01-07 Colin Watson <cjwatson@ubuntu.com>
4282
4283 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4284 explicitly zeroing elements.
4285 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4286 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4287 of elements in a structure already allocated using grub_zalloc.
4288 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4289
86065b0a
CW
42902013-01-07 Colin Watson <cjwatson@ubuntu.com>
4291
4292 * docs/grub.texi (grub_cpu): New subsection.
4293 (grub_platform): Likewise.
4294
c6f1e92f
VS
42952013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4298
f797ec85
VS
42992013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4302 divisions.
4303
033d0b4b
VS
43042013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4307 * grub-core/fs/ntfscomp.c: Likewise.
4308 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4309 (grub_ntfs_comp): Likewise.
4310
21d1b9a0
VS
43112013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4314 Rename to ...
4315 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4316 of groups_per_block. All users updated.
4317
10ca8645
VS
43182013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4321 grub_error properly.
4322 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4323 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4324
a4c3ed4c
VS
43252013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4328 always in /boot/zfs.
4329 Reported by: Yuta Satoh.
4330
0b716507
YS
43312013-01-03 Yuta Satoh <nigoro>
4332
4333 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4334 ${grub_probe}
4335
00c05e22
VS
43362013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * configure.ac: Extend -Wno-trampolines to host.
4339
dadddb76
VS
43402013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4343 entry->len = 0.
4344
54ce53ca
CW
43452013-01-03 Colin Watson <cjwatson@ubuntu.com>
4346
4347 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4348 (Invoking grub-script-check): Likewise.
4349
8912efca
CW
43502013-01-03 Colin Watson <cjwatson@ubuntu.com>
4351
4352 * docs/grub.texi (Invoking grub-mount): New section.
4353 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4354
c3fc8394
CW
43552013-01-02 Colin Watson <cjwatson@ubuntu.com>
4356
4357 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4358 test failures, so that a failing unit test correctly causes 'make
4359 check' to fail.
4360
45d26abb
CW
43612013-01-02 Colin Watson <cjwatson@ubuntu.com>
4362
4363 Fix failing printf test.
4364
4365 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4366 '$' in the correct order when collecting type information.
4367
971dd2c6
CW
43682013-01-02 Colin Watson <cjwatson@ubuntu.com>
4369
4370 * docs/grub.texi (configfile): Explain environment variable
4371 handling.
4372 (source): New section.
4373 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4374
5c67ea6c
CW
43752012-12-31 Colin Watson <cjwatson@ubuntu.com>
4376
4377 Remove several trivially-unnecessary uses of nested functions.
4378
4379 * grub-core/commands/i386/pc/sendkey.c
4380 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4381 instead of nested.
4382 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4383 Rename to ...
4384 (legacy_file_getline): ... this.
4385 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4386 Likewise.
4387 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4388 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4389 to ...
4390 (probe_dummy_iter): ... this.
4391 * grub-core/kern/i386/coreboot/mmap.c
4392 (grub_linuxbios_table_iterate: check_signature): Likewise.
4393 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4394 check_varstate): Likewise. Mark inline.
4395 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4396 an additional parameter.
4397 (find_long: fnd_long): Likewise. Pass two additional parameters.
4398 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4399 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4400 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4401 Likewise. Rename to ...
4402 (grub_cmos_find_port_iter): ... this.
4403 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4404 Rename to ...
4405 (find_rtc_iter): ... this.
4406
4407 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4408 function directly into the function body, since it is only called
4409 once.
4410
33a68ac6
CW
44112012-12-30 Colin Watson <cjwatson@ubuntu.com>
4412
4413 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4414 __attribute__ ((unused)).
4415 * grub-core/video/bochs.c (find_card): Likewise.
4416 * grub-core/video/cirrus.c (find_card): Likewise.
4417 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4418 * grub-core/video/sis315pro.c (find_card): Likewise.
4419 * grub-core/video/sm712.c (find_card): Likewise.
4420
608b647a
CW
44212012-12-28 Colin Watson <cjwatson@ubuntu.com>
4422
4423 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4424 Fixes Savannah bug #37821.
4425
fd49ceb3
CW
44262012-12-28 Colin Watson <cjwatson@ubuntu.com>
4427
4428 Apply program name transformations at build-time rather than at
4429 run-time. Fixes Debian bug #696465.
4430
4431 * acinclude.m4 (grub_TRANSFORM): New macro.
4432 * configure.ac: Create output variables with transformed names for
4433 most programs.
4434 * util/bash-completion.d/grub-completion.bash.in: Use
4435 pre-transformed variables for program names.
4436 * util/grub-install.in: Likewise.
4437 * util/grub-kbdcomp.in: Likewise.
4438 * util/grub-mkconfig.in: Likewise.
4439 * util/grub-mkconfig_lib.in: Likewise.
4440 * util/grub-mknetdir.in: Likewise.
4441 * util/grub-mkrescue.in: Likewise.
4442 * util/grub-mkstandalone.in: Likewise.
4443 * util/grub-reboot.in: Likewise.
4444 * util/grub-set-default.in: Likewise.
4445 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4446 * tests/util/grub-shell-tester.in: Remove unused assignment.
4447 * tests/util/grub-shell.in: Likewise.
4448 * util/grub.d/00_header.in: Likewise.
4449
7024b3c0
CW
44502012-12-28 Colin Watson <cjwatson@ubuntu.com>
4451
4452 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4453
4454 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4455 HAVE_RAW_DECL_GETS.
4456 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4457
e3501b13
VS
44582012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4461 Reported by: Eriks Latosheks <foresterlv>.
4462
b40c88a9
VS
44632012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * docs/grub.texi (Network): Update instructions on generating netboot
4466 image.
4467
ce96d01c
VS
44682012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4471 around device name if necessarry.
4472
0f596201
PFS
44732012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4474
4475 * util/grub-install.in: Follow the symbolic link parameter added
4476 to the file command.
4477
600d5bdb
AB
44782012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4479
4480 * util/grub-install.in: Remove stale TODO.
4481
64ebd2f4
PFS
44822012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4483
4484 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4485 dynamic allocation for the bootpath buffer.
4486
74b2fe3e
DTB
44872012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4488
4489 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4490 window too small.
4491
969b804f
VS
44922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4495 argument rather than font name. All users updated.
4496 (grub_gfxterm_set_window): Likewise.
4497
b9f5ebd6
VT
44982012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4499
4500 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4501 from working.
4502
258f43b7
VS
45032012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * util/getroot.c (convert_system_partition_to_system_disk): Support
4506 nbd disks.
4507
cc1ce5f9
VS
45082012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4511 infinite loop on corrupted FS.
4512
e77a16ca
VS
45132012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Fix big-endian mtime.
4516
4517 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4518 together sec and usec.
4519 (grub_ufs_dir): Use correct byteswapping for UFS time.
4520
d9c48c7b
VS
45212012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Support big-endian UFS1.
4524
4525 * Makefile.util.def (libgrubmods): Add ufs_be.c
4526 * grub-core/Makefile.core.def (ufs1_be): New module.
4527 * grub-core/fs/ufs_be.c: New file.
4528 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4529 the file.
4530
2f9f40ba
LL
45312012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4532
4533 * include/grub/types.h: Fix functionality unaffecting typo in
4534 GRUB_TARGET_WORDSIZE conditional macro.
4535
48ff0889
PFS
45362012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4537
4538 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4539
03711240
GS
45402012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4541
4542 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4543 that /netbsd appears first (when it exists).
4544
a31b11bd
CJ
45452012-10-12 Christoph Junghans <ottxor@gentoo.org>
4546
4547 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4548 Fixes Savannah bug #37558.
4549
e8a5d5d4
CW
45502012-10-12 Colin Watson <cjwatson@ubuntu.com>
4551
4552 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4553 description of extract_entries_configfile.
4554
45552012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4556
4557 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4558 preferred_address.
4559 (grub_cmd_linux): Likewise.
4560 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4561 preferred_lifetime. Update all users.
4562
288c757d
CW
45632012-09-26 Colin Watson <cjwatson@ubuntu.com>
4564
4565 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4566 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4567
0d35da3f
CW
45682012-09-26 Colin Watson <cjwatson@ubuntu.com>
4569
4570 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4571 errors from grub-probe to /dev/null, not stdout.
4572
b78c3127
VS
45732012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4576 sector 1.
4577
473959f0
CW
45782012-09-24 Colin Watson <cjwatson@ubuntu.com>
4579
4580 * util/grub-install.in: Make the error message if $source_dir
4581 doesn't exist more useful.
4582
794c8c33
CW
45832012-09-22 Colin Watson <cjwatson@ubuntu.com>
4584
4585 Fix grub-emu build on FreeBSD.
4586
4587 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4588 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4589 headers on Linux.
4590 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4591 implementation is currently Linux-specific.
4592 * util/getroot.c (exec_pipe): Define only on Linux or when either
4593 libzfs or libnvpair is unavailable.
4594 (find_root_devices_from_poolname): Remove unused path variable.
4595
86d08fdb
CW
45962012-09-19 Colin Watson <cjwatson@ubuntu.com>
4597
4598 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4599 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4600 should fit before end == 63.
4601
735abf54
CW
46022012-09-19 Colin Watson <cjwatson@ubuntu.com>
4603
4604 * util/grub-setup.c (write_rootdev): Remove unused core_img
4605 parameter. Update all callers.
4606 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4607 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4608 GRUB_SETUP_BIOS.
4609
140acd3c
VS
46102012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4613 (grub_add_tab): New function.
4614 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4615 * util/grub.d/10_illumos.in: Likewise.
4616 * util/grub.d/10_kfreebsd.in: Likewise.
4617 * util/grub.d/10_linux.in: Likewise.
4618 * util/grub.d/10_netbsd.in: Likewise.
4619 * util/grub.d/10_windows.in: Likewise.
4620 * util/grub.d/10_xnu.in: Likewise.
4621 * util/grub.d/20_linux_xen.in: Likewise.
4622 * util/grub.d/30_os-prober.in: Likewise.
4623
7ddffdad
VS
46242012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4627 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4628 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4629 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4630 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4631 ieee1275-nocursor.
4632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4633 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4634
4e092454
VS
46352012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4638 le-conversion.
4639 Reported by: BURETTE, Bernard.
4640
735abf54 46412012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4642
4643 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4644 from comment.
4645
dfd39dbd
CW
46462012-09-14 Colin Watson <cjwatson@ubuntu.com>
4647
4648 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4649 IEEE1275 machines. Fixes powerpc-emu compilation.
4650 * include/grub/terminfo.h: Likewise.
4651
3bfa763c
VS
46522012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4655 a const pointer.
4656 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4657 const pointer.
4658 (efiemu_set_variable): Make vendor_guid a const pointer.
4659
250e475b
VS
46602012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 Don't require grub-mkconfig_lib to generate manpages for programs.
4663
4664 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4665 dependencies, don't add grub-mkconfig_lib.
4666 (program): Pass empty adddeps.
4667 (script): Pass grub-mkconfig_lib as adddeps.
4668
592fd0e4
VS
46692012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4672 * util/getroot.c (grub_find_device): Likewise.
4673 (get_mdadm_uuid): Likewise.
4674 (grub_util_is_imsm): Likewise.
4675 (grub_util_pull_device): Likewise.
4676 * util/grub-probe.c (probe): Likewise.
4677
801a3027
BG
46782012-09-10 Benoit Gschwind <gschwind>
4679
4680 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4681 (devs): Add devpath_8.
4682
c5052c81
PJ
46832012-09-08 Peter Jones <pjones@redhat.com>
4684
4685 * grub-core/Makefile.core.def (efifwsetup): New module.
4686 * grub-core/commands/efi/efifwsetup.c: New file.
4687 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4688 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4689 New define.
4690 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4691
8e832f71
JS
46922012-09-05 Jiri Slaby <jslaby@suse.cz>
4693
4694 * configure.ac: Add SuSe path.
4695
f0f55752
CW
46962012-09-05 Colin Watson <cjwatson@ubuntu.com>
4697
4698 * NEWS: Fix typo.
4699
ecadc4c2
CW
47002012-09-05 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * util/import_gcry.py: Sort cipher_files, to make build system
4703 generation more deterministic.
4704
64498f25
VS
47052012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4708 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4709 (grub_set_datetime): Likewise.
4710
9cc836a2
VS
47112012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4714 warnings.
4715
bcfcea01
VS
47162012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4719
a4099485
VS
47202012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4723
265c162a
CW
47242012-09-04 Colin Watson <cjwatson@ubuntu.com>
4725
4726 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4727 required for checkouts from bzr, but it may be useful for users or
4728 distributors wishing to update translations against a tarball
4729 distribution, and it can be helpful for the tarball to be a superset
4730 of what's in bzr.
4731
3d171e95
CW
47322012-09-04 Colin Watson <cjwatson@ubuntu.com>
4733
4734 * Makefile.am (EXTRA_DIST): Add
4735 grub-core/tests/boot/linux.init-mips.S,
4736 grub-core/tests/boot/linux.init-ppc.S, and
4737 grub-core/tests/boot/linux-ppc.cfg.
4738
f2c2503e
CW
47392012-09-04 Colin Watson <cjwatson@ubuntu.com>
4740
4741 * grub-core/mmap/mips/loongson: Remove empty directory.
4742
47432012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4744
4745 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4746 gone.
4747
ab2163d5
CW
47482012-09-04 Colin Watson <cjwatson@ubuntu.com>
4749
4750 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4751 grub-sparc64-setup.
4752
ce938140
GS
47532012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4754
4755 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4756
529f58a5
GS
47572012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4758
4759 * po/POTFILES.in: Regenerated.
4760
16cf79e9
GS
47612012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4762
4763 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4764 (NetBSD): New subsection.
4765
39b27f1e 47662012-07-22 Ales Nesrsta <starous@volny.cz>
4767
4768 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4769 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4770
a885261b
VS
47712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4774 * util/grub.d/10_hurd.in: Add missing quoting.
4775 * util/grub.d/10_illumos.in: Likewise.
4776 * util/grub.d/10_kfreebsd.in: Likewise.
4777 * util/grub.d/10_linux.in: Likewise.
4778 * util/grub.d/20_linux_xen.in: Likewise.
4779
7bd29c01
VS
47802012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 New command `lsefi'.
4783
4784 * grub-core/Makefile.core.def (lsefi): New module.
4785 * grub-core/commands/efi/lsefi.c: New file.
4786 * include/grub/efi/api.h: Add more GUIDs.
4787
ac625d8f
VS
47882012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4791 (grub_bsd_elf32_hook): Likewise.
4792 (grub_bsd_elf64_size_hook): Likewise.
4793 (grub_bsd_elf64_hook): Likewise.
4794 (grub_bsd_load_elf): Likewise.
4795
e73bb801
VS
47962012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4799 if hash function is unavailable.
4800 (dec_stream_header): Likewise.
4801
e81db8b5
VS
48022012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4805 filter state.
4806
d187a1c3
VS
48072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 Fix coreboot compilation.
4810
4811 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4812 (grub_vga_text_init_real): ... this.
4813 (grub_vga_text_fini): Rename to ...
4814 (grub_vga_text_fini_real): ... this.
4815
91a05f64
VS
48162012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4819
6af96df7
VS
48202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/lib/legacy_parse.c: Support clear and testload.
4823
4d569e12
VS
48242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4827
073b57bb
VS
48282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4831
a706f4cc
VS
48322012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/net/tftp.c (ack): Fix endianness problem.
4835 (tftp_receive): Likewise.
4836 Reported by: Michael Davidsaver.
4837
e7850aa9
VS
48382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4841
48422012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4845 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4846 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4847
35692881
VS
48482012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4851 efi_mmap_size.
4852 Reported by: Stuart Hayes.
4853
c35fc5bd
VS
48542012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4857
4858 * grub-core/Makefile.core.def (mda_text): New module.
4859 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4860 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4861 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4862 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4863 here.
4864 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4865 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4866 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4867 here.
4868 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4869 to ..
4870 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4871 ... here
4872 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4873 here.
4874 * grub-core/term/i386/vga_common.c: Removed.
4875 * include/grub/i386/vga_common.h: Likewise.
4876 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4877 (grub_vga_cr_bw_read): Likewise.
4878 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4879 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4880 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4881 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4882 grub_vga_cr_read/grub_vga_cr_write.
4883 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4884
5f91f701
VS
48852012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * configure.ac: Bump version to 2.00.
4888 * grub-core/normal/main.c (features): Add feature_200_final.
4889
0c4f85f6
VS
48902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
48912012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4892
4893 * NEWS: Fix unclarity and language mistakes.
4894
f923ad22
VS
48952012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4898 additional size to 3 pages.
4899 Reported by: Stuart Hayes.
4900
d22029ba
VS
49012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * NEWS: Add 2.00 entry.
4904
58eee08f
VS
49052012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4908 put explicit "/" for empty path.
4909 (wildcard_expand): Improve dprintf.
4910
c59bdff7
VS
49112012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4914 it's equal to currnode. This can happen with "" symlink.
4915
5e6a440a
YB
49162012-06-27 Yves Blusseau <blusseau@zetam.org>
4917
4918 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4919 echo shell command by printf command.
4920
73a68bcb
VS
49212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4924 the value returned by firmware is the maximal position, not diumension.
4925 (grub_terminfo_output_state): Use a more sane fallback.
4926
392a603b
VS
49272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4930
42d0867f
VS
49312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4934 frequency to 150 MHz.
4935
489509f4
VS
49362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 Apple fixes.
4939
4940 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4941 __APPLE_
4942 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4943 definition.
4944 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4945
9f3fc883
VS
49462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 Handle slash in HFS label.
4949
4950 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4951 (grub_hfs_dir): Tanslate slash.
4952 (grub_hfs_label): Don't translate slash.
4953
54853fd7
VS
49542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4957 network protocol listing since it introduces problematic dependency on
4958 net module.
4959
4dc02ddf
VS
49602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4963
c50c867d
VS
49642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Init video early on yeeloong to avoid being rebooted by watchdog.
4967
4968 * grub-core/Makefile.am (gensm712): New target.
4969 (sm712_start.S): Likewise.
4970 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4971 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4972 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4973 description.
4974 * include/grub/vga.h: Move registry definitions to...
4975 * include/grub/vgaregs.h: ... here.
4976
5f92c8a1
VS
49772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4980 signedness.
4981
e9e6f111
VS
49822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4985 platforms with firmware disk drivers in the core.
4986
754ad9eb
VS
49872012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4990 informative verbose message.
4991 (read_lv): Handle 64-bit segment size.
4992
315654c2
VS
49932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4996
fb022c79
VS
49972012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5000 character but still remove trainling spaces.
5001 (grub_fat_label): Ignore archive flag.
5002
8645f72c
VS
50032012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5006 cast between linux_kernel_header and linux_kernel_params.
5007
36498496
VS
50082012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5011 type for size.
5012 (grub_raid6_recover_func_t): Likewise.
5013 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5014 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5015
0b5ea6b8
VS
50162012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5019
650cfcfe
GS
50202012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5021
5022 Fix overflow.
5023
5024 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5025 [__NetBSD__]: Add explicit cast before bitshift.
5026
8a4d6a44
VS
50272012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * configure.ac: Bump to 2.00~rc1.
5030
2fb97ed3
VS
50312012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5034 half of $a0.
5035
1fa097dc
VS
50362012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
50372012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5038
5039 * docs/grub.texi: Fix search syntax.
5040 (Multi-boot manual config): Put msdos rather than GPT example.
5041 Grammar corrections.
5042
c890ba78
VS
50432012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5046
0f92dca7
VS
50472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5050
3988c4a0
VS
50512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5054 message on double free. Put the value of magic in case of mismatch.
5055
9e86d4c5
VS
50562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Speed-up video on yeeloong.
5059
5060 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5061 add cached_ptr.
5062 (grub_video_sm712_video_fini): Unmap cached_ptr.
5063 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5064 (grub_video_sm712_set_active_render_target): Removed.
5065 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5066 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5067 sync caches.
5068
ed24c312
VS
50692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 Avoid flushing the same line multiple times on loongson.
5072
5073 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5074 Step in 32 bytes and not 1 byte.
5075 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5076 Likewise.
5077
d1718e7d
VS
50782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5081 subvolumes.
5082
982f1909
VS
50832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 Implement flow control for http.
5086
5087 * grub-core/net/http.c (parse_line): Handle response 206.
5088 (http_receive): Stall if too many packets are in the queue.
5089 (http_establish): Fix range header.
5090 (http_seek): Fix double free.
5091 (http_close): Likewise.
5092 (http_packets_pulled): New function.
5093 (grub_http_protocol): Set http_seek
5094 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5095 (ack_real): Set window depending on i_stall.
5096 (grub_net_send_tcp_packet): Likewise.
5097 (grub_net_tcp_stall): New function.
5098 (grub_net_tcp_unstall): Likewise.
5099 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5100 (grub_net_tcp_unstall): Likewise.
5101
bd407d6e
VS
51022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5105
c7564b8e
VS
51062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5109
a3706162
VS
51102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * tests/util/grub-shell.in: Fix a typo.
5113
b27069e0
VS
51142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Implement flow control for tftp.
5117
5118 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5119 packets but stop only if stop condition is satisfied.
5120 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5121 `stall' instead of `eof' as stop condition.
5122 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5123 (http_err): Likewise.
5124 * grub-core/net/tftp.c (ack): Replace the first argument with data
5125 instead of socket.
5126 (tftp_receive): Stall if too many packets are in wait queue.
5127 (tftp_packets_pulled): New function.
5128 (grub_tftp_protocol): Set packets_pulled.
5129 * include/grub/net.h (grub_net_packets): New field count.
5130 (grub_net_put_packet): Increment count.
5131 (grub_net_remove_packet): Likewise.
5132 (grub_net_app_protocol): New field `packets_pulled'.
5133 (grub_net): New field `stall'.
5134
6b9cfac6
VS
51352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5138 sync part to handle them.
5139
f35abd81
VS
51402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5143 * grub-core/net/drivers/ieee1275/ofnet.c
5144 (grub_ieee1275_net_config_real): Likewise.
5145
0e7ec820
VS
51462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5149 the direct route for server/gateway.
5150
9d611a31
VS
51512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5154 IP address to server name since we may not hame the DNS.
5155
418f45ab
VS
51562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5159 freeing random buffer on failure.
5160 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5161
44a0efc1
VS
51622012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5165
531e2241
VS
51662012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5169 reserved bytes.
5170 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5171 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5172 Handle malloc error correctly.
5173
cde393c9
VS
51742012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5177 blocks.
5178
538478d0
VS
51792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5182 increment.
5183
9b55efe0
VS
51842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5187 none is explicitly specified.
5188
9eb832c3
VS
51892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5192 while reallocating.
5193
d6b7c7c9
VS
51942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Respect netmask from bootp/dhcp.
5197
5198 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5199 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5200 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5201 into ...
5202 (grub_net_add_ipv4_local): ... this.
5203 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5204 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5205 (grub_net_add_ipv4_local): New proto.
5206
67caf9eb
VS
52072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5210 determining EFI memory map size.
5211
43657558
VS
52122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5215
eb6d0dd3
VS
52162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5219 when looking for partition separator.
5220
31230544
VS
52212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5224 Escape commas.
5225
918a2517
VS
52262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 Restructure FAT driver to avoid hook in label reading as it hits a
5229 GCC bug.
5230
5231 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5232 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5233 (grub_fat_iterate_dir): Split into ...
5234 (grub_fat_iterate_init): ... this, ...
5235 (grub_fat_iterate_fini): ... this, ...
5236 (grub_fat_iterate_dir_next): ... and this. All users updated.
5237
9f1d654e
VS
52382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5241 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5242 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5243 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5244 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5245 New fields last_key and last_key_time.
5246 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5247 extended key-esc into extended key-extended key.
5248
52f0f643
VS
52492012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 Avoid unnecessary memcpy of whole video buffer.
5252
5253 * grub-core/video/fb/video_fb.c (dirty): New struct.
5254 (framebuffer): Add members current_dirty and previous_dirty.
5255 (dirty): New function.
5256 (grub_video_fb_fill_rect): Update dirty.
5257 (common_blitter): Likewise.
5258 (grub_video_fb_scroll): Likewise.
5259 (doublebuf_blit_update_screen): Copy only dirty part.
5260 (doublebuf_pageflipping_update_screen): Likewise.
5261 (grub_video_fb_doublebuf_blit_init): Init dirty.
5262 (doublebuf_pageflipping_init): Likewise.
5263 (grub_video_fb_setup): Likewise.
5264
e169a180
VS
52652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5268 poll rate.
5269
48556879
VS
52702012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 Fix wildcard regexp dot and other special characters handling.
5273 Reported by: Robert Mabee.
5274
5275 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5276 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5277 (split_path): Trigger expansion on '?'.
5278 (unescape): New function.
5279 (wildcard_expand): Unescape parts copied without globbing.
5280 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5281 (grub_script_arglist_to_argv): Don't unescape expansions.
5282
0494408e
VS
52832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * include/grub/net.h (grub_net_card): New member txbufsize.
5286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5287 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5288 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5289 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5290 txbufsize.
5291 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5292 compatible property to check for macs. Set
5293 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5294 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5295 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5296 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5297 (send_card_buffer): Use txbuf.
5298 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5299 nested function out of the parent while on it.
5300
cc35fe8f
VS
53012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5304 presence check.
5305 (grub_ieee1275_net_config_real): Fix config pointer.
5306
970a0a09
VS
53072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5310 filename parsing to non-block devices.
5311
3e19bf87
VS
53122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5315
c62d1a0c
VS
53162012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5319 All users updated.
5320
ef76bec3
VS
53212012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5324 UUID search command even if hints probing failed.
5325
53262012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5327
5328 * po/POTFILES.in: Regenerated.
5329
70aaf305
VS
53302012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 Speed-up video on fuloong.
5333
5334 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5335 New function.
5336 (grub_pci_device_unmap_range): Handle non-cached address.
5337 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5338 add direct_ptr.
5339 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5340 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5341 (grub_video_sis315pro_set_active_render_target): Removed.
5342 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5343 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5344 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5345 sync caches.
5346 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5347 New proto.
5348
10400f0b
VS
53492012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * docs/grub.texi (Multi-boot manual config): New section.
5352
ba67e2c6
VS
53532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Avoid slow read-back from VRAM.
5356
5357 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5358 Move from here ...
5359 * grub-core/video/fb/video_fb.c
5360 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5361 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5362 (front_target): Remove front_target. Add pages.
5363 (grub_video_fb_init): Skip setting front_pages.
5364 (grub_video_fb_fini): Likewise.
5365 (doublebuf_blit_update_screen): Use pages.
5366 (grub_video_fb_doublebuf_blit_init): Likewise.
5367 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5368 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5369 (grub_video_fb_setup): Prefer doublebuffing.
5370
377c98cb
VS
53712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5374 gzio.
5375
eac49cff
VS
53762012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Add loongson tests.
5379
5380 * tests/util/grub-shell.in: Handle loongson.
5381 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5382 drivers.
5383 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5384 Reboot instead of shutdown if REBOOT is defined.
5385
0321415e
VS
53862012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5389 sized ports since unlike on real hardware qemu supports only 32-bit
5390 regs.
5391
3f2bdd8f
VS
53922012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5395 * util/grub-mkrescue.in: Handle loongson.
5396
29a049c9
VS
53972012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5400 Set is_part appropriately.
5401 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5402 names. Canonicalize partition without full disk.
5403
4abde346
VS
54042012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 Revert usb-quiesce since it's wrong.
5407
5408 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5409 (grub_ofdisk_init): Don't do quiesce.
5410
61f1d93b
VS
54112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5414 PowerMac workaround to Xserves as well.
5415 Information supplied by: Benjamin Herrenschmidt.
5416
a09eb541
VS
54172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 Don't assume that beginning address is also the entry point on ppc.
5420
5421 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5422 (grub_linux_boot): Use linux_entry.
5423 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5424 (grub_linux_load64): Likewise.
5425
505b3c9b
VS
54262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5429
cbe0b4ef
VS
54302012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5433 needlessly lose the console.
5434
3006e981
VS
54352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5438 space.
5439
4e5a96b0
VS
54402012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5441
7da036bb
VS
5442 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5443 than current grub_get_rtc() not implemented when booted with
5444 coreboot without TSC.
5445
5446 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5447 Add machine/time.h to kernel headers on loongson.
5448 * grub-core/Makefile.core.def (kernel): Remove
5449 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5450 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5451 (grub_get_rtc): Likewise.
5452 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5453 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5454 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5455 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5456 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5457 rather than installing known non-working time source.
5458 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5459 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5460 * include/grub/time.h: Don't include machine/time.h.
5461 * include/grub/efi/time.h: Removed.
5462 * include/grub/i386/efi/time.h: Likewise.
5463 * include/grub/i386/ieee1275/time.h: Likewise.
5464 * include/grub/powerpc/ieee1275/time.h: Likewise.
5465 * include/grub/sparc64/ieee1275/time.h: Likewise.
5466 * include/grub/x86_64/efi/time.h: Likewise.
5467
54682012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5471
5472 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5473 value.
5474 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5475 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5476 with dotless variants when any combining above is present.
5477
5561c22d
VS
54782012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5481 text and not binary.
5482
96f7e60e
VS
54832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Stop polling as soon as we have the packet we were waiting for.
5486
5487 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5488 All users updated.
5489 * grub-core/net/arp.c (have_pending): New var.
5490 (pending_req): Likewise.
5491 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5492 stop indicator.
5493 (grub_net_arp_receive): Set have_pending.
5494 * grub-core/net/dns.c (recv_data): New field stop.
5495 (recv_hook): Set stop.
5496 (grub_net_dns_lookup): Init stop and use as stop condition.
5497 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5498 condition.
5499 * grub-core/net/net.c (grub_net_poll_cards): New argument
5500 stop_condition. Stop when it goes true.
5501 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5502 indicator.
5503 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5504
3e747239
VS
55052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Keep TX and RX buffers on EFI rather than always allocate new ones.
5508
5509 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5510 card. All users updated.
5511 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5512 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5513 (get_card_packet): Likewise.
5514 (grub_efinet_findcards): Init new fields.
5515
f695e99a
VS
55162012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5519 compilation error on sparc64.
5520
9e5e66d1
VS
55212012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Use ITC on IA64 rather than broken routine based on daytime.
5524
5525 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5526 ia64.
5527 (grub_get_rtc) [__ia64__]: Likewise.
5528 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5529 (get_itc): New function.
5530 (grub_rtc_get_time_ms): Likewise.
5531 (grub_machine_init): Calibrate ITC.
5532 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5533 Keep only on non-ia64. Don't export since it's broken and used only
5534 if TSC is unavailable.
5535
a1767404
VS
55362012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5539 even if it's used.
5540 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5541 Skip if parent is unused.
5542
34b2bced
VS
55432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5546
5e619f40
VS
55472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Fix wildcard escaping.
5550
5551 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5552 * grub-core/script/execute.c (wildcard_escape): .. to here.
5553 Don't escape dot.
5554 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5555 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5556 Don't escape dot.
5557 * grub-core/script/execute.c (gettext_append): Always escape.
5558 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5559 * grub-core/script/yylex.l: Don't cut away the escaping.
5560 * tests/grub_script_echo1.in: Add tests with wildcard.
5561
c8ca5855
VS
55622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5565 (ftdi_hw_configure): Likewise.
5566 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5567 define.
5568 (real_config): Handle 1.5 stop bits.
5569 (pl2303_hw_configure): Likewise.
5570
7183452c
VS
55712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * Makefile.am: Add ppc linux bootcheck.
5574 * grub-core/tests/boot/linux-ppc.cfg: New file.
5575 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5576
f57c84cd
VS
55772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * tests/grub_script_expansion.in: Skip network protocols.
5580
ecfc6207
VS
55812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5584
8d03d284
VS
55852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5588 --rom-directory.
5589 Add -graft-points.
5590
61c42af0
VS
55912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 ESCC serial driver for conducting sautomated tests in qemu.
5594 Not tested on real hardware.
5595
5596 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5597 * grub-core/term/ieee1275/escc.c: New file.
5598 * grub-core/Makefile.core.def (escc): New module.
5599
08fd1291
VS
56002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5603 invalid on error.
5604 (serial_hw_fetch): Don't read invalid handle.
5605 (serial_hw_put): Don't write into invalid handle.
5606
08dafeea
VS
56072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 Add a 1.5 stop bits value.
5610
5611 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5612 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5613 GRUB_SERIAL_STOP_BITS_1_5.
5614
9068fdcf
VS
56152012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5618 value rather than let it uninited.
5619
f4d5820f
VS
56202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/commands/wildcard.c (+check_file): New function.
5623 (wildcard_expand): Don't expand to non-existing files, expand with
5624 suffix and not attempt to expand if not needed.
5625
3d2de9a7
VS
56262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5629 out of partitions containing other partitions.
5630
c5c81ff9
VS
56312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5634 on some qemu versions with GRUB.
5635
5636 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5637 define.
5638 (grub_openbsd_bootarg_pcibios): New struct.
5639 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5640 Add PCIINFO.
5641
08a14e0b
VS
56422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * tests/util/grub-shell.in: Trim firmware output on EFI.
5645
cede3ca3
VS
56462012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5649 and coreboot since it's already in kernel.
5650
558d3a60
VS
56512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5654 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5655 to here. New return value start. All users updated.
5656 Recursively scan linear mappings.
5657 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5658 proto.
5659 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5660 Use grub_util_get_dm_node_linear_info.
5661 * util/getroot.c (convert_system_partition_to_system_disk): Use
5662 grub_util_info rather than grub_dprintf.
5663 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5664
60fde14d
VS
56652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5668
5669 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5670 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5671
24bd8838
VS
56722012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * include/grub/types.h (grub_set_unaligned64): New function.
5675 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5676 (setup): Likewise.
5677
7bc06a49
VS
56782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5681 (grub_ofdisk_fini): Quiesce USB devices.
5682
49cea015
VS
56832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5686 caches.
5687
8dcbe03b
VS
56882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5691
5b258735
VS
56922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/disk/pata.c (grub_pata_pio_read)
5695 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5696 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5697
37ba07eb
VS
56982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 Extend automated tests to qemu-mips.
5701
5702 * Makefile.am: reorganise tests and enable qemu-mips.
5703 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5704 * grub-core/tests/boot/linux.init-mips.S: New file.
5705 * tests/partmap_test.in: Handle ata0 disks.
5706 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5707 non-pc i386.
5708
070038f8
VS
57092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5712 ia64.
5713 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5714 quotes while on it.
5715
004be2cd
VS
57162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5719 (grub_halt): Likewise.
5720 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5721
b1622487
VS
57222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/term/serial.c (grub_serial_register)
5725 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5726 the behaviour in line with x86 platforms.
5727
b7b4ab33
VS
57282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5731 (grub_ata_strncpy): Likewise.
5732 (grub_ata_identify): Add missing byteswaps.
5733
5e3535ae
VS
57342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5737 byte-swap.
5738 (screen_read_char): Likewise.
5739 (grub_vga_text_cls): Likewise.
5740
c21b17e6
VS
57412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5744 filenames.
5745 (make_file_path): Likewise.
5746
bf293dec
VS
57472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5750 machines.
5751 Tested by: Paulo Flabiano Smorigo.
5752 Crucial information about API supplied by: Coleen <Last name unknown>.
5753 Reviewed by: Coleen <Last name unknown>.
5754
81f6ef0e
VS
57552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * util/grub-mkimage.c: Disable -Wcast-align.
5758
7284143a
VS
57592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5762 as they are fatal.
5763
b99f3e00
VS
57642012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5767
944f752d
VS
57682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * util/grub-probe.c (escape_of_path): Fix double free.
5771
6cce6f38
VS
57722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/commands/videoinfo.c (hook): Show pitch.
5775
1e1eb50e
VS
57762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5779
1c715b5a
VS
57802012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5783 (probe): Add ieee1275 to OFW devices.
5784
007ae52d
VS
57852012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5788
4557a36d
VS
57892012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 Handle IBM OFW path.
5792
5793 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5794 available.
5795 (of_path_of_scsi): Handle vdevice.
5796
efbeefe9
VS
57972012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5800 Allocate in multiples of 16 to avoid adding a few bytes free region the
5801 windows bugs upon.
5802
15a940bb
VS
58032012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5806 Allocate in multiples of 16 to avoid adding a few bytes free region the
5807 windows bugs upon.
5808 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5809
6e5efd60
VS
58102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5813 resolutions.
5814 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5815 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5816
0d3d137e
IS
58172012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5818
5819 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5820
45dbe300
VS
58212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5824 resulted in \\ at the end of the line.
5825
6d8db947
VS
58262012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5829 (grub_parser_cmdline_state): Likewise.
5830 (grub_parser_split_cmdline): Likewise.
5831
de89d338
VS
58322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5835 /dev/root and /dev/dm-*.
5836
00d41dee
VS
58372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5840 fix partially stale display.
5841
f95d1f11
VS
58422012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5845 substraction.
5846
6297e197
VS
58472012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5850 Fix MBR remapping workaround.
5851 (grub_util_biosdisk_read) [__linux__]: Likewise.
5852
8a7ecad3
VS
58532012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5856
2b34f944
VS
58572012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * configure.ac: Bump to beta6.
5860
684aef11
CW
58612012-05-31 Christer Weinigel <christer@weinigel.se>
5862
5863 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5864
05b0bb91
VS
58652012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5868 (grub_cmd_linux): Likewise.
5869
bda36bfa
CW
58702012-05-31 Christer Weinigel <christer@weinigel.se>
5871
5872 Fix EHCI low-speed.
5873
5874 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5875 (GRUB_EHCI_MULT_TWO): Likewise.
5876 (GRUB_EHCI_MULT_THREE): Likewise.
5877 (GRUB_EHCI_CMASK_MASK): New enum value.
5878 (GRUB_EHCI_SMASK_MASK): Likewise.
5879 (GRUB_EHCI_CMASK_OFF): Likewise.
5880 (GRUB_EHCI_SMASK_OFF): Likewise.
5881 (grub_ehci_pci_iter): Enable periodic schedule.
5882 (grub_ehci_parse_notrun): Likewise.
5883 (grub_ehci_restore_hw): Likewise.
5884 (grub_ehci_setup_qh): Set flags for low speed transfers.
5885 (grub_ehci_find_qh): Use periodic list for low speed.
5886 (grub_ehci_setup_transfer): Check periodic queue as well.
5887 (grub_ehci_check_transfer): Likewise.
5888 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5889
e12bcb1c
PFS
58902012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5891
5892 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5893 parameter is used.
5894
bcc75fb3
PJ
58952012-05-31 Peter Jones <pjones@redhat.com>
5896
5897 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5898 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5899 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5900
f19cb95e
VS
59012012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5904 uninited variable. Allocate at least setup_sects.
5905
a4e5ca80
VS
59062012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Fix handling of EFI with big memory maps.
5909
5910 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5911 (real_mode_mem): Likewise.
5912 (real_mode_target): Likewise.
5913 (real_mode_pages): Likewise.
5914 (prot_mode_pages): Likewise.
5915 (linux_params): New var.
5916 (linux_cmdline): Likewise.
5917 (free_pages): Don't set real mode variables.
5918 (allocate_pages): Don't allocate real mode memory.
5919 (grub_e820_add_region): Remove the limit.
5920 (grub_linux_boot): Allocate and copy real mode memory.
5921 (grub_linux_unload): Free linux_cmdline.
5922 (grub_cmd_linux): Use temporary storage for parameters.
5923 (grub_cmd_initrd): Likewise.
5924 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5925 (linux_kernel_params): Make it 1K big.
5926
ddb73558
VS
59272012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * Makefile.util.def: Remove -Wno-format.
5930 * grub-core/Makefile.core.def: Likewise.
5931
1c4afb60
VS
59322012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * tests/cmp_unit_test.c: Add missing failure message.
5935 * tests/example_unit_test.c: Likewise.
5936 * tests/printf_unit_test.c: Likewise.
5937
941e3a6d
VS
59382012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5941 relaxation of protective MBR requirements.
5942
b105df76
VS
59432012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * configure.ac: Add condition for COND_HOST_XNU.
5946 * Makefile.util.def (10_xnu): New script.
5947 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5948
84e1569e
VS
59492012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5952 objconv bug.
5953
130c0f77
VS
59542012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5957 Binary on other platforms stays identical.
5958
6fd0b143
VS
59592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5962 Apple.
5963
0af1751d
VS
59642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5967
176d5f7d
VS
59682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5971 rather than defining size_t ourselves to avoid conflict.
5972
7de5e20a
VS
59732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5976 initialisation to avoid __bzero reference.
5977
f7143efe
VS
59782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5981 version.
5982 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5983 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5984 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5985 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5986 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5987
e6ad0555
VS
59882012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5991 * grub-core/kern/misc.c: Likewise.
5992 * grub-core/loader/i386/xnu.c: Likewise.
5993 * include/grub/i386/tsc.h: Likewise.
5994 * include/grub/symbol.h: Likewise.
5995
4a5a3c4a
VS
59962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5999 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6000 on older compiler.
6001
037f6d90
VS
60022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6005 Implement Apple flavour.
6006 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6007
f7194551
VS
60082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6011 (memmove) [__APPLE__]: Likewise.
6012 (memcpy) [__APPLE__]: Likewise.
6013 (memset) [__APPLE__]: Likewise.
6014 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6015 (memmove) [__APPLE__]: Likewise.
6016 (memcpy) [__APPLE__]: Likewise.
6017 (memset) [__APPLE__]: Likewise.
6018
85a730ca
VS
60192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6022 dependency discard.
6023
40e80b94
VS
60242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/normal/main.c (read_config_file): Provide config_file and
6027 config_directory.
6028 * util/grub.d/41_custom.in: Use config_directoy when available.
6029
9da59c32
VS
60302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6033 (grub_bfs_dir): Likewise.
6034
2787ae53
PJ
60352012-05-27 Peter Jones <pjones@redhat.com>
6036
6037 The old code gives arguments to a printf function which can't work
6038 correctly, and the compiler complains.
6039
6040 * grub-core/tests/example_functional_test.c (example_test): Add
6041 missing text.
6042 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6043 * include/grub/test.h (grub_test_assert_helper): New declaration.
6044 (grub_test_assert): Use grub_test_assert_helper.
6045
526ef13d
VS
60462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6049 (exfctest): ... this to avoid overlong filenames.
6050 All users updated.
6051
20dd511c
VS
60522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 Handle "." and ".." on squashfs.
6055
6056 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6057 Make inode numbers into stack.
6058 (grub_squash_read_symlink): Use stack.
6059 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6060 (make_root_node): Fill stack.
6061 (grub_squash_open): Use stack.
6062
1d80c62a
VS
60632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6066 freeing.
6067
d336f652
VS
60682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6071 stderr on test calls.
6072
8b43f587
VS
60732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6076
80a3dc3f
VS
60772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6080
47e297d4
VS
60812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6084 "..".
6085
df042ccb
VS
60862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6089 (grub_hfsplus_iterate_dir): Add "." and "..".
6090
fc977f48
VS
60912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6094 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6095
f3250e5f
VS
60962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6099 (find_path): Handle "." and "..".
6100
fd8ed4c5
VS
61012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6104 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6105 (grub_affs_iterate_dir): Handle hardlinks.
6106
4ce776d2
MG
61072012-05-26 Matthew Garrett <mjg@redhat.com>
6108
6109 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6110 (grub_efi_console_fini): Likewise.
6111 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6112 (grub_video_gop_fill_mode_info): Rename to ...
6113 (grub_video_gop_fill_real_mode_info): ... this.
6114 (grub_video_gop_fill_mode_info): New function.
6115 (grub_video_gop_setup): Setup double framebuffer.
6116 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6117 Free offscreen.
6118 (grub_video_gop_swap_buffers): Copy framebuffer.
6119 (grub_video_gop_fini): Free offscreen buffer.
6120 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6121 New enum.
6122 (grub_efi_gop_blt_pixel): New struct.
6123
683031ba
VS
61242012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * gentpl.py: Remove error disabling for objconv.
6127
c2deb798
VS
61282012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * configure.ac: Remove -Wunitialized as it's not available on older
6131 compilers.
6132
61332012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6134
6135 Fix extent overflow comparator.
6136
6137 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6138 (grub_hfsplus_read_block): Set type.
6139 (grub_hfsplus_cmp_extkey): Compare type.
6140
d6b1fd36
VS
61412012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6144
0a9aa0f6
VS
61452012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6148 than 0.
6149
8360e159
VS
61502012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6153 (dejavu_bold_14.pf2): New target.
6154
501b9e4b
VS
61552012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * configure.ac: Fix djvu font detection.
6158
7026b0e2
VS
61592012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6162 ext* instead of ext2.
6163
c2a51ade
VS
61642012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6167 name with \0.
6168
8f803a5d
JU
61692012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6170
6171 * docs/grub-dev.texi: Remove dot from .png.
6172
13c6353f
VS
61732012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6176 protective entry in any slot.
6177 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6178 if protective entry is found in any slot.
6179
6180 Protective entry in non-first slot make no sense but is a widespread
6181 brain damage.
6182
4cf6be1b
VS
61832012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6186
937d1c44
VS
61872012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6190 with old reiserfs.
6191 (grub_reiserfs_open): Don't free root.
6192
021d90ec
VS
61932012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6196 after freeing for safety.
6197
967b2b64
VS
61982012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6201 Reported by: Jordan Uggla.
6202
34274d02
JU
62032012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6204
967b2b64
VS
6205 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6206 actual implementation. Specifically, clarify that the grub menu will
6207 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6208 passed.
34274d02 6209
dcaaae9d
BH
62102012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6211
6212 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6213 of r0.
6214
7086ad52
VS
62152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Remove unjustified hard dependency of normal.mod on gfxterm.
6218
6219 * include/grub/term.h (grub_term_output): New member fullscreen.
6220 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6221 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6222 (grub_gfxterm): Set .fullscreen.
6223 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6224 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6225
37ed2c9b
VS
62262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6229 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6230 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6231
a4469c88
VS
62322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6235
4e461486
VS
62362012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6239 a bad FS.
6240
aa78f5c4
VS
62412012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6244 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6245
197626b5
VS
62462012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6249 (grub_jfs_mount): Fill caseins.
6250 (grub_jfs_find_file): Respect caseins.
6251
8ad3f28c
VS
62522012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6255 through UTF-16.
6256
0c6c324e
VS
62572012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6260 New argument origpath. All users updated.
6261
c6666ba6
VS
62622012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6265 (read_attr): Ensure that we read start of possibly compressed block.
6266
e28e5fe5
VS
62672012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6270 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6271 All users updated.
6272
5fc23ab2
VS
62732012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6276 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6277 (dejavu.pf2): Replace with ...
6278 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6279 this.
6280
79dbc21c
VS
62812012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * util/grub.d/20_linux_xen.in: Add missing line.
6284
d2fcfb0c
VS
62852012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6288 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6289 (grub_utf16_to_utf8): Likewise.
6290
5560e9d6
VS
62912012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6294 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6295 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6296 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6298 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6299
63002012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6301
6302 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6303 a bad FS.
6304
5560e9d6 63052012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6306
6307 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6308 (grub_udf_read_symlink): Handle read_string failure.
6309
5eae3175
VS
63102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6313 comment.
6314
c1ad82db
VS
63152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 Fix handling of UDF symlinks.
6318
6319 * grub-core/fs/udf.c (read_string): New argument outbuf.
6320 All users updated.
6321 (grub_ufs_read_symlink): Rename to ...
6322 (grub_udf_read_symlink): ... this. All users updated.
6323 Handle symlinks with more than one component.
6324
33eca6e0
VS
63252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6328 symlinks. Replace leading colon with a slash.
6329
57f4a70b
VS
63302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6333 filename.
6334
38c8ee20
VS
63352012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6338 match in inner node.
6339
2e57f28f
VS
63402012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6343 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6344 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6345 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6346 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6347 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6348 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6349 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6350 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6351
fe8c2f11
VS
63522012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 Use grub-probe and not cmp to check that disk is empty.
6355
6356 * util/grub-install.in: Use grub-probe for zero-check.
6357 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6358 (probe): Handle PRINT_ZERO_CHECK.
6359 (argp_parser): Handle -t zero_check.
6360
63612012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6362
6363 Flush block cache on adding disk to device map.
6364
6365 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6366 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6367 adding.
6368 (read_device_map): Likewise.
6369 (open_device): Flush on opening.
6370
690434e8
VS
63712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6374 (handle_symlink): Fix off-by-one error.
6375 Canonicalize the target.
6376 (grub_cpio_dir): Canonicalize the name.
6377 Fix memory leak.
6378 Set directory.
6379 (grub_cpio_open): Canonicalize the name.
6380
742d2be6
VS
63812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6384 handling.
6385
3244fe96
VS
63862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6389 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6390
8aeb1837
VS
63912012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6394 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6395 All users updated.
8aeb1837 6396
9133fd05
VS
63972012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6400 counterpart.
6401
6d521c5b
VS
64022012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Fix UFS1 big file support.
6405
6406 * grub-core/fs/ufs.c (INODE): Removed.
6407 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6408 64-bit.
6409 (INODE_MODE): Simplify.
6410 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6411 (grub_ufs_lookup_symlink): Don't use INODE.
6412
21b82e17
VS
64132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6416
6417 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6418 (grub_minix_data): Replace log_block_size with block_size.
6419 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6420 (grub_minix_mount): Fill block_size.
6421
64222012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6423
6424 * configure.ac: Bump to beta5.
6425
f417ed04
VS
64262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 Fix wrapped HFS+ handling.
6429
6430 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6431 blocks_start. All users updated.
6432 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6433 wrapping offset.
6434 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6435
607d282b
VS
64362012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Fix long symlinks on reiserfs.
6439
6440 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6441 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6442 (grub_reiserfs_iterate_dir): Save size for non-directories.
6443 (grub_reiserfs_open): Don't reread stat block as we already know the
6444 size.
6445 (grub_reiserfs_read): Split into...
6446 (grub_reiserfs_read_real): ... and ...
6447 (grub_reiserfs_read): ...this.
6448
ae16024d
VS
64492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Fix non-indexed JFS.
6452
6453 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6454 (grub_jfs_data): New field namecomponentlen.
6455 (grub_jfs_mount): Fill namecomponentlen.
6456 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6457
eea1e26e
VS
64582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6461 * tests/grub_script_echo1.in: Add tests.
6462
df760f77
VS
64632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/grub-install.in: Ignore empty devicetree directory.
6466
5efb817d
B
64672012-05-08 Bean <bean123ch@gmail.com>
6468
6469 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6470 All users updated.
6471 (free_rsm): Free header as well.
6472 (free_old_fragments): Fix memory leak.
6473 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6474 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6475 (destroy_pq): Likewise.
6476 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6477
668ea6d2
VS
64782012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6481 resulting hash as a precaution.
6482
1739b1fe
VS
64832012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6486 '_' in variable names.
6487 * grub-core/net/net.c (grub_net_network_level_interface_register):
6488 Likewise.
6489
6ae485aa
VS
64902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Fix AFFS with non-512B blocks.
6493
6494 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6495 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6496 (grub_affs_data): Replace blocksize with log_blocksize.
6497 (grub_affs_read_block): Fix non-512B blocks.
6498 (grub_affs_read_symlink): Likewise.
6499 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6500 (grub_affs_read): Fix non-512B blocks.
6501 (grub_affs_label): Likewise.
6502 (grub_affs_mtime): Likewise.
6503 (grub_affs_mount): Fix block detection routine.
6504
d20fab84
VS
65052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Add filesystem mtime to AFFS.
6508
6509 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6510 (aftime2ctime): New function.
6511 (grub_affs_dir): Use aftime2ctime.
6512 (grub_affs_label): Fix return value.
6513 (grub_affs_mtime): New function.
6514 (grub_affs_fs): Add mtime.
6515
e87b10f5
VS
65162012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6519 UTF-8.
6520
7dceec9b
VS
65212012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6524 UTF-8.
6525
2f48221f
VS
65262012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6529
dacd85cf
VS
65302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6533 flags.
6534 (FLAGS_CASE_SENSITIVE): New enum value.
6535 (cache_entry): New struct.
6536 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6537 cache_size and cache.
6538 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6539 Add log_blocksize and fshelp_flags.
6540 (grub_sfs_read_extent): Handle non-512 blocks.
6541 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6542 (grub_sfs_read_file): Handle non-512 blocks.
6543 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6544 fshelp_flags.
6545 (grub_sfs_read_symlink): Handle non-512 blocks.
6546 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6547 (grub_sfs_dir): Free cache.
6548 (grub_sfs_close): Likewise.
6549
24e9a854
VS
65502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6553 filesystems.
6554
62ace64d
VS
65552012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6558
83b2e89c
VS
65592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6562
75ccaea3
VS
65632012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6566 (grub_sfs_read_extent): Likewise.
6567 (grub_sfs_read_block): Likewise.
6568 (grub_sfs_mount): Likewise.
6569 (grub_sfs_iterate_dir): Likewise.
6570 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6571 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6572
1b8463f2
VS
65732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Fix errors on compressed NTFS with 512B clusters.
6576
6577 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6578 types.
6579 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6580 not 0.
6581 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6582 Relax check for inline extents.
6583 (ntfscomp): Return correct -1 on error and not 0.
6584
4f8e368f
VS
65852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * util/grub-install.in: Fix handling of prefix containing spaces.
6588
6f5d5ee8
VS
65892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6592 (grub_squash_read_data): Fix offset byte-swapping.
6593
ce41ab7a
VS
65942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6597 per common usage and preffered in several parts of code.
6598 (grub_memcmp): Likewise.
6599 (grub_strncmp): Likewise.
6600 * include/grub/misc.h (grub_strcasecmp): Likewise.
6601 (grub_strncasecmp): Likewise.
6602 * Makefile.util.def (cmp_test): New test.
6603 (grub_script_strcmp): Likewise.
6604 * tests/cmp_unit_test.c: New file.
6605 * tests/grub_script_strcmp.in: Likewise.
6606 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6607
49717bf4
VS
66082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * include/grub/pci.h: Move enums into no-asm part.
6611
0a308f64
VS
66122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6615
1796965f
ST
66162012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6617
6618 * util/getroot.c (find_hurd_root_device): Try to make error message
6619 and comments to translators clearer.
6620
4e9b2819
VS
66212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6624
076aeb50
VS
66252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6628 btrfs.
6629
19424d94
VS
66302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * docs/grub.cfg: Update.
6633
ebb73076
VS
66342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * docs/grub.texi (PXE): Remove not present variables.
6637
9a1b669c
VS
66382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/net/net.c (defserver_set_env): New function.
6641 (defserver_get_env): Likewise.
6642 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6643
d38bf7d3
VS
66442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6647 entries.
6648
66492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6650
6651 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6652 * grub-core/kern/emu/hostdisk.c: Likewise.
6653
e5e4ca48
ST
66542012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6655
6656 Handle hurd userspace partitions.
6657
6658 * util/getroot.c (find_hurd_root_device): New function.
6659 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6660
56bb5dd5
VS
66612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6664 names.
6665 Reported by: Bastian Blank.
6666
9e8bc27a
VS
66672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6670 crossing page boundary.
6671
aa01499d
VS
66722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 Fix B-tree search in BFS, especially in presence of non-ASCII
6675 characters.
6676
6677 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6678 (find_in_b_tree): Use standard bsearch + btree algorithm.
6679
57006035
VS
66802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6683 and so on.
6684
9d34bb85
MG
66852012-05-03 Matthew Garrett <mjg@redhat.com>
66862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 Suspend broadcom cards in order to stop their DMA.
6689
6690 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6691 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6692 (pci): Don't build on x86 EFI.
6693 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6694 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6695 New function.
6696 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6697 stop_broadcom if running on EFI.
6698 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6699 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6700 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6701 (grub_pci_find_capability): New proto.
6702
01aab997
VS
67032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * docs/grub.texi: Remove dot from the extension as it apparently
6706 doesn't work with some makeinfo versions.
6707
fbd8dca6
VS
67082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6711 with GRUB expectance.
6712
dab797f4
VS
67132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6716
1516bfb4
VS
67172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6720 zero after directory block since last entry may be not 0-terminated if
6721 it ends on block boundary. Use continue instead of if spanning whole
6722 loop.
6723
a3a0eace
VS
67242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 Support 4K sectors UDF inline files.
6727
6728 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6729 (grub_udf_extended_file_entry): Likewise.
6730 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6731 All users updated.
6732 (get_fshelp_size): New function.
6733 (grub_udf_read_icb): Read whole block.
6734 (grub_udf_iterate_dir): Likewise.
6735 (grub_udf_dir): Likewise.
6736 (grub_udf_open): Likewise.
6737
c82f16c1
VS
67382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6741
59fd2aac
VS
67422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6745 inline symlinks in addition to workaround.
6746
3b4afb4d
VS
67472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6750
f45c794a
VS
67512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6754
f25cecbd
VS
67552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6758
bb9a34e8
VS
67592012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Fix reiserfs big seek times.
6762
6763 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6764 exact. All users updated.
6765 (grub_reiserfs_read): Use nearest btree search for seeking.
6766 Fix return value on error.
6767
dc478aea
VS
67682012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6771 entries.
6772 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6773 * docs/grub.texi: Update menuentry description.
6774
8db10f47
VS
67752012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6778 crash when embedding onto filesystem.
6779
bcb288ed
VS
67802012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6783 name.
6784
a626fdd7
VS
67852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6788
b2f68477
VS
67892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6792 commit.
6793
ba15b2af
B
67942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
67952012-05-01 Bean <bean123ch@gmail.com>
6796
6797 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6798
a188012e
VS
67992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6802 Special behaviour for len = 0 to read whole file isn't used anywhere and
6803 can cause buffer ovewrflows in several places.
6804
f0a53ed2
VS
68052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6808
5ed554f0
VS
68092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 Handle RAIDZ on non-512B sectors.
6812
6813 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6814 max_children_ashift.
6815 (fill_vdev_info_real): Fill max_children_ashift.
6816 (read_device): Use max_children_ashift.
6817
ddc58357
VS
68182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6821
e3282399
VS
68222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6825 disk names.
6826 * docs/grub.texi: Update device.map parts.
6827
ee618bd4
VS
68282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 Don't scan into non-diskfilter devices having diskfilter names.
6831
6832 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6833 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6834 handling.
6835 (scan_disk_hook): New function.
6836
bdf88864
B
68372012-04-29 Bean <bean123ch@gmail.com>
6838
6839 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6840 allocation.
6841
32745f51
MK
68422012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6843
6844 * configure.ac: Detect starfield theme font path
6845 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6846
bc95c8c0
VS
68472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6850 geometry on serial consoles.
6851
147fbcab
VS
68522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6855 because of network consoles.
6856
0f42c889
VS
68572012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6860 handling.
6861
4a3594c9
VS
68622012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6865 falls on Q syndrom.
6866
5cb53879
VS
68672012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6870 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6871
b282dfe5
VS
68722012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6875 Allocate at lest 8192 for temporary buffer as required for lzo.
6876
daa59f47
VS
68772012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6880 to cluster_bits, since it's already added in.
6881 (grub_fat_read_data): Likewise.
6882
986748ce
VS
68832012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6886 as long as cluster size is multiple of 512 bytes.
6887
a20f6ad0
VS
68882012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * util/grub-mkrescue.in: Fix locale directory.
6891
385f9abb
VS
68922012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/kern/emu/hostdisk.c (map): Make static.
6895
1c557d30
B
68962012-04-23 Bean <bean123ch@gmail.com>
6897
6898 * util/grub-fstest.c (fstest): Add missing break.
6899
524b5d3a
ST
69002012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6901
6902 Fix hurd build.
6903
6904 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6905 not define nr variable.
fe4824e9 6906 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6907 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6908 grub_find_device): Do not define.
524b5d3a 6909
9a06490c
VS
69102012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 Fix kfreebsd compile and behaviour.
6913
6914 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6915 format-security.
6916 * util/getroot.c: Fix wait.h include.
6917 (grub_guess_root_devices): Error if grub_find_device fails.
6918 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6919 (grub_util_get_dev_abstraction): Likewise.
6920 (grub_util_pull_device): Likewise.
6921 (grub_util_get_grub_dev): Likewise.
6922 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6923
48143d96
VS
69242012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 Fix and unify wholedisk detection.
6927
6928 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6929 is_part. All users updated.
6930 (device_is_wholedisk): Removed.
6931 (grub_util_biosdisk_get_grub_dev): Use is_part.
6932
ebbd24f3
VS
69332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6936 mode.
6937
56f7aa1e
VS
69382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * configure.ac: Bump to beta4.
6941
9c815e01
VS
69422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6945 --fs-uuid --set UUID syntax.
6946
59e2651a
VS
69472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6950 disunification.
6951
54e03cfc
VS
69522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6955
81092a75
MK
69562012-04-18 Mads Kiilerich <mads@kiilerich.com>
6957
6958 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6959
f8315e14
MG
69602012-04-18 Mike Gilbert <floppym@gentoo.org>
6961
6962 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6963
1501ac21
B
69642012-04-18 Bean <bean123ch@gmail.com>
6965
6966 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6967 place.
6968
cb7f944e
VS
69692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6972 users updated.
6973 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6974 corresponding to GRUB partitions.
6975 (grub_util_biosdisk_write): Likewise.
6976
b72d44a1
VS
69772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 Scan mdraid before LVM.
6980
6981 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6982 (grub_diskfilter_register_front): ... this.
6983 (grub_diskfilter_register_back): New function.
6984 All users of grub_diskfilter_register updated.
6985
33d918b8
VS
69862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/grub-install.in: Fix an automatic target detection bug.
6989
c6ca973d
VS
69902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * util/grub-install.in: New option --efi-directory.
6993
b41be562
VS
69942012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6997 boot services if we have no other choice.
6998
69992012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7002 document it.
7003 * tests/util/grub-shell.in: Update to --directory.
7004
e0595a73
VS
70052012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7008
4ed80652
VS
70092012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7012 (grub_minix_read_file): Likewise.
7013 (grub_minix_read_inode): Likewise.
7014 (grub_minix_find_file): Likewise.
7015 (grub_minix_dir): Likewise.
7016
56008077
VS
70172012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * util/grub-setup.c (setup): Fix partition handling and blocklist
7020 check.
7021
ee520775
VS
70222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7025 redundant buggy overlap check.
7026
16fc9293
VS
70272012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7030 and grub-mknetdir.
7031
9bab65c4
VS
70322012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7035 kh.loadflags on pre-2.00 kernels.
7036
3c491b47
VS
70372012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 Terminate UNDI and PXE before launching the payload to avoid problems
7040 with DMA.
7041
7042 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7043 (grub_loader_flags): ... this. All users updated.
7044 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7045 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7046 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7047 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7048 function.
7049 (grub_pxe_restore): Likewise.
7050 (fini_hnd): New var.
7051 (GRUB_MOD_INIT): Register shutdown hook.
7052 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7053 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7054 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7055 (grub_loader_set): Rename second argument to flags.
7056
851ffada
VS
70572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7060 written bytes.
7061 (grub_get_num_of_utf8_bytes): New function.
7062 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7063 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7064 executing it.
7065 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7066 (grub_ucs4_to_utf8): Change return type.
7067
491c57a8
VS
70682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7071 warning.
851ffada
VS
7072 * grub-core/fs/bfs.c (hop_level): Likewise.
7073 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7074
756773df
VS
70752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/lib/adler32.c: Recode due to license unclearness.
7078
fd556a96
VS
70792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7082 (test_header): Likewise.
7083
9f9d3f69
VS
70842012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 Fix --help formatting.
7087
7088 * util/grub-mkconfig_lib.in (print_option_help): New function.
7089 (grub_fmt): Likewise.
7090 * util/grub-install.in: Use print_option_help and grub_fmt.
7091 * util/grub-kbdcomp.in: Likewise.
7092 * util/grub-mkconfig.in: Likewise.
7093 * util/grub-mknetdir.in: Likewise.
7094 * util/grub-mkrescue.in: Likewise.
7095 * util/grub-mkstandalone.in: Likewise.
7096 * util/grub-reboot.in: Likewise.
7097 * util/grub-set-default.in: Likewise.
7098 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7099
561ec77e
VS
71002012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * linguas.sh: Remove autogenerated *.po.
7103
7ec2b021
VS
71042012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * po/README: Move language fetcing to ...
7107 * linguas.sh: ... here.
7108 * po/README: Point to linguas.sh.
7109
a88f3270
VS
71102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * po/README: Exclude ko.po due to disclaimer problems.
7113
d61357ce
VS
71142012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7117 len = 0.
7118 (grub_gettext_translate_real): Handle 0th string.
7119 (grub_gettext_translate): Ensure that "" isn't translated.
7120
505e41dc
VS
71212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7124 TRANSLATORS comment.
7125 (grub_diskfilter_print_partmap): Propagate changing of error into
7126 warning.
7127
e44092db
VS
71282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7131 to uint64_t to prevent overflow.
7132 (grub_diskfilter_lv): Increase start_extent and extent_count
7133 to uint64_t to prevent overflow.
7134
9b83956a
VS
71352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * configure.ac: Increase version.
7138
da0d5b3f
VS
71392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7142
7143 * po/Rules-translit: New file.
7144 * po/arabic.sed: Likewise.
7145 * po/cyrillic.sed: Likewise.
7146 * po/greek.sed: Likewise.
7147 * po/hebrew.sed: Likewise.
7148 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7149 * po/Makefile.in.in: Add extra_dist4.
7150
ac66b453
VS
71512012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7154
7155 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7156 modify names. Introduce MODE_BIGENDIAN.
7157 * grub-core/fs/minix_be.c: New file.
7158 * grub-core/fs/minix2_be.c: Likewise
7159 * grub-core/fs/minix3_be.c: Likewise.
7160 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7161 minix3_be.
7162 * grub-core/Makefile.core.def (minix_be): New module.
7163 (minix2_be): Likewise.
7164 (minix3_be): Likewise.
7165
71662012-04-01 Felix <email@hamburg.de>
7167
7168 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7169 (devs): Add MBP 2011.
7170
0a2d5a82
VS
71712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7174
d1625889
VS
71752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/normal/cmdline.c (print_completion): New field
7178 prompt_len.
7179 (grub_cmdline_get): Handle width properly.
7180
6d36a236
VS
71812012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7184
9576977e
VS
71852012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7188 after 29th of February.
9576977e 7189
d73ff15d
VS
71902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Fix exfat endianness handling.
7193
7194 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7195 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7196 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7197 Byte-swap utf16 when necessary.
7198 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7199
bbb39a45
AB
72002012-03-31 Anton Blanchard <anton@samba.org>
72012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 Fix btrfs endianness handling.
7204
7205 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7206 (lower_bound): Make root uint64_t. Use root in le.
7207 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7208 (find_path): Fix template key init.
7209 (grub_btrfs_dir): Fix mtime byteswap.
7210 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7211
354e0af7
VS
72122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7215 recursion_depth. Break infinite resursions. All users updated.
7216
4e75f21c
VS
72172012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7220 after free.
7221 Reported by: Peter Jones.
7222
25581802
AB
72232012-03-31 Anton Blanchard <anton@samba.org>
7224
7225 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7226 8 bit values.
7227
08fbf92e
VS
72282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * util/grub-install.in: Fix nvram call for PreP.
7231
5d1182a6
VS
72322012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7235 the error when some elements are missing into a warning.
7236
3f8cdd90
VS
72372012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7240
51006716
CW
72412012-03-28 Colin Watson <cjwatson@ubuntu.com>
7242
7243 * docs/grub.texi (Invoking grub-probe): New section.
7244 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7245
e1bd676b
VS
72462012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 Fix tab and wide character handling in editor and menu.
7249
7250 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7251 agglomerate control characters with combining marks.
7252 (bidi_line_wrap): Allow break on tab.
7253 (grub_unicode_get_comb_start): New function.
7254 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7255 and tab correctly.
7256 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7257 with a space.
7258 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7259 fixed_tab_size. All users updated.
7260 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7261 (grub_term_getcharwidth): Handle \t.
7262 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7263 and copy.
7264
22e6a774
VS
72652012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Handle big-endian mdraid.
7268
7269 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7270 * grub-core/Makefile.core.def (mdraid09_be): New module.
7271 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7272 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7273 * grub-core/disk/mdraid_linux_be.c: New file.
7274
3c0eae66
VS
72752012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7278
b6cf74c9
VS
72792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7282 missing quotes which caused confusion among translators.
7283
83c93b9c
VS
72842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * util/grub-mkconfig_lib.in: Fix typo.
7287
ac6fd218
VS
72882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7291 spaces.
7292 * tests/grub_script_leading_whitespace.in: New file.
7293 * Makefile.util.def (grub_script_leading_whitespace): New test.
7294
ba287dd8
VS
72952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7298 to work.
7299
d2d58d0a
VS
73002012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7303 starts with control character.
7304
0382d9bb
VS
73052012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7308 overflow.
7309 (grub_gdb_outbuf): Likewise.
7310
d83ff9f9
VS
73112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7314 zero terminator. Fixes a crash.
7315
2282da4a
VS
73162012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7319 beyond 4 GiB.
7320 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7321 images independently of preffered adderss field.
7322
0ae4f0bd
VS
73232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7326 * grub-core/commands/regexp.c: Likewise.
7327 * grub-core/loader/i386/linux.c: Likewise.
7328 * grub-core/partmap/msdos.c: Likewise.
7329 * grub-core/script/execute.c: Likewise.
7330 * grub-core/term/gfxterm.c: Likewise.
7331
546fbe9b
VS
73322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 Add variable parsing in $"..." and fix several mismatches with bash.
7335
7336 * Makefile.util.def (grub_script_gettext): New test.
7337 * grub-core/script/execute.c (parse_string): New function.
7338 (gettext_append): Likewise.
7339 (grub_script_arglist_to_argv): Use gettext_append.
7340 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7341 * tests/grub_script_gettext.in: New file.
7342
9fdb2d7b
VS
73432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 Fix handling of leading spaces in scripts.
7346
7347 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7348 spaces.
7349 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7350 other than skipping \r. All users updated.
7351 * tests/grub_script_echo1.in: Add space-related tests.
7352 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7353
1a1ac4f6
VS
73542012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7357
b63d89b6
VS
73582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * configure.ac: Bump up the version to beta2.
7361
17f38c0f
VS
73622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 Fix gettext reload bugs (e.g. inability to disable gettext
7365 once enabled).
7366
7367 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7368 main_context and secondary_context. All functions updated.
7369 (grub_gettext_translate): Rename to ...
7370 (grub_gettext_translate_real): ... this. Return NULL on failed
7371 translate.
7372 (grub_gettext_translate): Handle secondary context.
7373 (grub_gettext_delete_list): Close file and zero-out the context.
7374 (grub_mofile_open): Don't call grub_gettext_delete_list.
7375 Don't close file.
7376 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7377 if locale="" to avoid pointless error message.
7378 (grub_gettext_env_write_lang): Update lang even if load fails.
7379 Handle secondary context.
7380 (grub_gettext_reread_prefix): New function.
7381 (read_main): Likewise.
7382 (read_secondary): Likewise.
7383 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7384 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7385 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7386 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7387
8e56f870
VS
73882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * configure.ac: Decrease warning level to avoid spurious warnings and
7391 to be able to compile with GCC 4.2.
7392 * Makefile.util.def: Remove -Wno-error=logical-op.
7393
82f6d455
WB
73942012-03-10 William Bittner <william.bittner@gmail.com>
7395
7396 * util/import_unicode.py: Add missing brackets around string for
7397 python 3 support.
7398
1ecd61a4
VS
73992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 Fix efi chainloader on network root.
7402
7403 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7404 network devices.
7405 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7406 New function.
7407
14361ee8
VS
74082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7411 unused show_text member.
7412 * docs/grub.texi: Document "text" property.
7413
922aabf3
VS
74142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7417 in dprintf.
7418
ec316771
VS
74192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 Fix IMSM handling on Fedora.
7422
7423 * util/getroot.c (grub_util_is_imsm): New function.
7424 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7425
0f021838
VS
74262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * Makefile.am: Strip gold section.
7429 * conf/Makefile.common: Likewise.
7430 * gentpl.py: Likewise.
7431 * grub-core/Makefile.core.def: Likewise.
7432 * grub-core/genmod.sh.in: Likewise.
7433
1039c8eb
VS
74342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7437 * util/grub.d/20_linux_xen.in: Likewise.
7438 Based on Debian patch.
7439
6dd412cd
VS
74402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub.d/10_linux.in: Fix syntax error resulting in
7443 Richard Laager's patch.
7444 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7445
3fd8bae5
VS
74462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7449 dependencies.
7450
7eea1671
RL
74512012-03-10 Richard Laager <rlaager@wiktel.com>
7452
7453 * util/grub.d/10_linux.in: Fix ZFS root passing.
7454
e8e0566b
VS
74552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7458 * grub-core/commands/xnu_uuid.c: Likewise.
7459 * grub-core/loader/efi/appleloader.c: Likewise.
7460 * grub-core/script/execute.c: Likewise.
7461 * grub-core/script/main.c: Likewise.
7462 * util/grub-mkfont.c: Likewise.
7463
1acc5b1f
VS
74642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * util/grub-mkfont.c (options): Use more appropriate "select" that
7467 "set" for face index.
7468
35d70620
VS
74692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * util/grub-editenv.c (options): Gettextize command summaries.
7472
c9eb96b5
VS
74732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7476 "out of memory" error messagge.
7477
1f493136
VS
74782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7481 of diskfilter for diskfilter on diskfilter support.
7482
6d790129
VS
74832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7486
005f46c9
VS
74872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7490 themes/starfield.
7491
c8f778a0
VS
74922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7495
de1e64eb
VS
74962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7499
c6d54211
VS
75002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7503 of error message.
7504
dd390777
VS
75052012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7508
5fd1c522
VS
75092012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7512 message.
c6d54211 7513 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7514
fae01f6c
VS
75152012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7518 Gettextize.
7519 * util/grub-mount.c (options): Likewise.
7520
292fdaff
VS
75212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7524 gettextize.
7525 * grub-core/commands/search_wrap.c (options): Likewise.
7526
ecdbae77
VS
75272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7530
52bfedfa
VS
75312012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7534 size calculation.
7535 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7536 none is known.
7537
55b20e58
VS
75382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7541 "temporary" since it's used in identifier and is limited in space.
7542
fda9d101
VS
75432012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * po/POTFILES.in: Regenerate. Include *.h since they contain
7546 translatable strings as well.
7547
6a0295e2
VS
75482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7551 byte-swap on big-endian.
7552 Reported by: Lennart Sorensen
7553
807fb77c
VS
75542012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7557 (allocate_pages): Improve dprintf.
7558 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7559 code32_start. Fill code32_start and kernel_alignment in params.
7560 (grub_cmd_initrd): Use prot_init_space.
7561
61ac50ba
VS
75622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7565
abdd26dd
VS
75662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * util/grub-install.in: Add missing dot at the end of sentence.
7569
6e69da9c
VS
75702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7573 * grub-core/commands/videotest.c: Likewise.
7574 * grub-core/loader/i386/linux.c: Likewise.
7575
4a929343
VS
75762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7579 sentence.
7580 Reported by: Milo Casagrande.
7581
bb51c6c6
VS
75822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7585 * grub-core/commands/gptsync.c: Likewise.
7586 * grub-core/commands/hashsum.c: Likewise.
7587 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7588 * grub-core/commands/legacycfg.c: Likewise.
7589 * grub-core/io/gzio.c: Likewise.
7590 * grub-core/net/net.c: Likewise.
7591 * grub-core/term/gfxterm.c: Likewise.
7592 * grub-core/term/terminfo.c: Likewise.
7593 * grub-core/tests/test_blockarg.c: Likewise.
7594 * grub-core/video/video.c: Likewise.
7595 * util/grub-install.in: Likewise.
7596 * util/grub-mkfont.c: Likewise.
7597
b2b149cb
VS
75982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7601
c7c080ad
VS
76022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7605 Reported by: David Prévot.
c7c080ad 7606
f2e243c0
VS
76072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7610 description.
7611
09963c76
VS
76122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * util/grub-script-check.c (main): Fix a syntax error message which was
7615 unclear.
7616
a50514a8
VS
76172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7620
4650daec
VS
76212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7624 messages.
7625
76262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7627
7628 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7629 without argument.
7630 * util/grub-mount.c (options): Likewise.
7631
bbc5a342
VS
76322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7635
ef292a87
VS
76362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/net/http.c: Add TRANSLATORS comments.
7639 * grub-core/normal/cmdline.c: Likewise.
7640 * grub-core/normal/misc.c: Likewise.
7641 * grub-core/partmap/msdos.c: Likewise.
7642 * grub-core/parttool/msdospart.c: Likewise.
7643 * grub-core/script/execute.c: Likewise.
7644 * grub-core/script/main.c: Likewise.
7645 * grub-core/term/terminfo.c: Likewise.
7646 * grub-core/video/bitmap.c: Likewise.
7647 * util/grub-install.in: Likewise.
7648 * util/grub-mkimage.c: Likewise.
7649 * util/grub-mklayout.c: Likewise.
7650 * util/grub-setup.c: Likewise.
7651
0fc19bd0
VS
76522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7655 with similar messages in grub-fstest.
7656
d95862ef
VS
76572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * util/grub-install.in: Unify "option requires an argument" message
7660 with similar messages in other files.
7661 * util/grub-mkconfig.in: Likewise.
7662
b7308f90
VS
76632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * util/grub-set-default.in: Replace printf with gettext_printf (the
7666 string in in question is already translated from grub-reboot)
7667
559dc587
VS
76682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * configure.ac: Bump up the version to beta1.
7671
1a11761f
VS
76722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7675 case when min_align = 0.
7676
24539abd
VS
76772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7680 and fix a case when line_start overflows.
7681
32bd735b
VS
76822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * util/grub-reboot.in (usage): Mention id posibility.
7685 * util/grub-set-default.in (usage): Likewise.
7686
1a2fd1e6
VS
76872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7690 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7691 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7692 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7693 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7694 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7695 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7696
90eeab76
VS
76972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/menuentry.c (options): Remove
7700 GRUB_ARG_OPTION_REPEATABLE.
7701 Reported by: Andreas Vogel
7702
5ad1be82
AV
77032012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7704
7705 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7706
cb055286
HE
77072012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7708
7709 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7710 error.
7711
93b1cd79
VS
77122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 Use sort -V by the idea of Georgi Georgiev.
7715
7716 * util/grub-mkconfig_lib.in (version_sort): New function.
7717 (version_test_numeric): Use version_sort.
7718
0cdc126c
VS
77192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 Use submenus in grub-mkconfig.
7722
7723 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7724 * util/grub-mkconfig_lib.in (grub_quote): New function.
7725 (gettext_printf): Use gettext and not gettext_quoted to fix several
7726 messages.
7727 * util/grub.d/10_hurd.in: Use submenus.
7728 * util/grub.d/10_kfreebsd.in: Likewise.
7729 * util/grub.d/10_linux.in: Likewise.
7730 * util/grub.d/10_netbsd.in: Likewise.
7731 * util/grub.d/20_linux_xen.in: Likewise.
7732 * util/grub.d/30_os-prober.in: Likewise.
7733 * util/grub.d/10_illumos.in: Add missing quoting.
7734 * util/grub.d/10_windows.in: Likewise.
7735
d9bef9bc
VS
77362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 Fix menu title instability bug.
7739
7740 * grub-core/commands/menuentry.c (options): New option --id.
7741 (grub_normal_add_menu_entry): New argument id. All users updated.
7742 (grub_cmd_menuentry): Handle --id.
7743 (grub_menu_init): Accept unknown arguments.
7744 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7745 feature_menuentry_options.
7746 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7747 saved_entry.
7748 (get_entry_number): Match with id as well.
7749 * include/grub/menu.h (grub_menu_entry): New member id.
7750 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7751 * util/grub.d/00_header.in: Define menuentry_id_option.
7752 * util/grub.d/10_hurd.in: Define id.
7753 * util/grub.d/10_illumos.in: Likewise.
7754 * util/grub.d/10_kfreebsd.in: Likewise.
7755 * util/grub.d/10_linux.in: Likewise.
7756 * util/grub.d/10_netbsd.in: Likewise.
7757 * util/grub.d/10_windows.in: Likewise.
7758 * util/grub.d/20_linux_xen.in: Likewise.
7759 * util/grub.d/30_os-prober.in: Likewise.
7760
77612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7762
7763 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7764 "scope" with "body".
7765
7c8d0ce7
VS
77662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7769 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7770 prot_size and prot_file_size.
7771
49de079b
VS
77722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7775 All users updated. If easily=1 require raid-5/-6 to be full.
7776 (is_node_readable): Likewise.
7777 (scan_devices): Scan incomplete but readable LVs at the end.
7778 (grub_diskfilter_memberlist): Pull missing devices.
7779 (insert_array): Skip scanning until device is complete or scan is
7780 done otherwise.
7781 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7782 check.
7783 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7784 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7785
aff05d45
MG
77862012-03-03 Matthew Garrett <mjg@redhat.com>
77872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 Avoid EFI boot services when loading Linux.
7790
7791 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7792 avoid_efi_bootservices. All users updated.
7793 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7794 argument avoid_efi_bootservices. All users updated.
7795 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7796 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7797 align, min_align, relocatable, prefered_address. All users updated.
7798 Allocate avoiding boot services if kernel is relocatable.
7799 (grub_cmd_linux): Check if kernel is relocatable.
7800 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7801 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7802 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7803 avoid_efi_boot_services.
7804 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7805 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7806 (linux_kernel_params): Likewise.
7807
3935dde2
MG
78082012-03-03 Matthew Garrett <mjg@redhat.com>
78092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 Use EDID on EFI.
7812
7813 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7814 datasize_out.
7815 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7816 modes. Set gop_handle.
7817 (grub_video_gop_get_edid): New function.
7818 (grub_gop_get_preferred_mode): Likewise.
7819 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7820 (grub_video_efi_gop_adapter): Set .get_edid.
7821 * include/grub/efi/edid.h: New file.
7822 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7823
32107ec0
VS
78242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * util/grub-install.in: Load efivars unconditionally.
7827
e70a2c50
VS
78282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * po/Rules-piglatin: Change suffix from .po-update-en to
7831 .po-update-en-piglatin.
7832
8f9cace1
VS
78332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 Add a pig farm.
7836
7837 * po/piglatin.sed: New file.
7838 * po/en@piglatin.header: Likewise.
7839 * po/Rules-piglatin: Likewise.
7840 * po/README: Add en@piglatin to autogenerated languages.
7841
8f95d002
VS
78422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7845 "Command for ...".
7846 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7847 "Check" since we don't check anything.
7848 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7849 is 64-bit one.
7850 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7851 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7852 (grub_md_sha512_real): Likewise.
7853
805a8dcc
VS
78542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * grub-core/commands/gptsync.c: Fix typographic quoting.
7857 * grub-core/commands/ieee1275/suspend.c: Likewise.
7858 * grub-core/commands/parttool.c: Likewise.
7859 * grub-core/commands/search_wrap.c: Likewise.
7860 * grub-core/commands/videoinfo.c: Likewise.
7861 * grub-core/gfxmenu/gui_label.c: Likewise.
7862 * grub-core/hello/hello.c: Likewise.
7863 * grub-core/kern/emu/main.c: Likewise.
7864 * grub-core/net/net.c: Likewise.
7865 * grub-core/normal/menu.c: Likewise.
7866 * grub-core/normal/menu_text.c: Likewise.
7867 * grub-core/normal/misc.c: Likewise.
7868 * util/grub-editenv.c: Likewise.
7869 * util/grub-install.in: Likewise.
7870 * util/grub-kbdcomp.in: Likewise.
7871 * util/grub-mkconfig.in: Likewise.
7872 * util/grub-mknetdir.in: Likewise.
7873 * util/grub-mkrescue.in: Likewise.
7874 * util/grub-mkstandalone.in: Likewise.
7875 * util/grub-reboot.in: Likewise.
7876 * util/grub-set-default.in: Likewise.
7877 * util/grub-setup.c: Likewise.
7878 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7879
40211ab8
VS
78802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7883 * grub-core/commands/keystatus.c: Likewise.
7884 * grub-core/commands/loadenv.c: Likewise.
7885 * grub-core/commands/probe.c: Likewise.
7886 * grub-core/commands/regexp.c: Likewise.
7887 * grub-core/commands/true.c: Likewise.
7888 * grub-core/commands/videoinfo.c: Likewise.
7889 * grub-core/disk/cryptodisk.c: Likewise.
7890 * grub-core/disk/ldm.c: Likewise.
7891 * grub-core/disk/loopback.c: Likewise.
7892 * grub-core/disk/luks.c: Likewise.
7893 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7894 * grub-core/kern/disk.c: Likewise.
7895 * grub-core/kern/emu/hostdisk.c: Likewise.
7896
0c7d99c7
VS
78972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7900 * util/grub-install.in: Add missing quote in the comment.
7901
e7d2559b
VS
79022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7905 * grub-core/commands/lsmmap.c: Likewise.
7906 * grub-core/commands/minicmd.c: Likewise.
7907 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7908 * grub-core/commands/regexp.c: Likewise.
7909 * grub-core/gdb/gdb.c: Likewise.
7910 * grub-core/term/gfxterm.c: Likewise.
7911 * util/grub-mkconfig.in: Likewise.
7912 * util/grub-mkfont.c: Likewise.
7913 * util/grub-mklayout.c: Likewise.
7914 * util/grub-mknetdir.in: Likewise.
7915 * util/grub-mkrescue.in: Likewise.
7916 * util/grub.d/30_os-prober.in: Likewise.
7917
49ce9e50
VS
79182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7921 with "Direct color" and "Packed" with "Packed pixel".
7922 (grub_cmd_videoinfo): Simplify legend.
7923
e4b791fa
VS
79242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7927 absolutely unclear error message.
7928
fd1265cb
VS
79292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * util/grub-mkstandalone.in: Remove confusing leftover print.
7932
8822a8a0
VS
79332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7936 comments.
7937 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7938 (GRUB_MOD_INIT): Likewise.
7939 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7940 VGA mode.
7941 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7942 comments.
7943 * util/grub-install.in (usage): Likewise.
7944 Spell ID in whole letters.
7945 Add missing ending dot.
7946 Quote variables.
7947 * util/grub-reboot.in: Fix capitalisation.
7948 * util/grub-set-default.in: Likewise.
7949
937fd0cc
VS
79502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7953 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7954 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7955 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7956 Disable -Werror for -Wdeprecated-declarations.
7957 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7958 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7959 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7960 (grub_util_get_grub_dev): Make luks handling dependent on
7961 HAVE_DEVICE_MAPPER and not __linux__.
7962 (get_win32_path): Fix format security.
7963 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7964 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7965 Don't try grub_find_zpool_from_dir.
7966 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7967 #ifdef-out paresdir.
7968
1bab1ae3
VS
79692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub-pe2elf.c (usage): Add missing noreturn.
7972 (write_section_data): Rename name to shname to avoid shadowing.
7973 (write_symbol_table): Rename name to symname to avoid shadowing.
7974 Fix write_reloc_section call.
7975
ef023e42
VS
79762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7979 to ensure that it's after the last byte of .text.
7980
48afcb75
VS
79812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * util/ieee1275/ofpath.c (my_isdigit): New function.
7984 (trailing_digits): Use my_isdigit.
7985 (strip_trailing_digits): Likewise.
7986
88d51eff
VS
79872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7990 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7991
17edc2ba
VS
79922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * grub-core/kern/i386/pc/startup.S: Define __start.
7995
ad5518d7
VS
79962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7999 strip already transforms he format.
8000
9e95e1bf
VS
80012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8004
9cc3ee5c
VS
80052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * util/grub-install.in: Add missing gettext init.
8008 * util/grub-kbdcomp.in: Likewise.
8009 * util/grub-mkconfig.in: Likewise.
8010 * util/grub-mknetdir.in: Likewise.
8011 * util/grub-mkrescue.in: Likewise.
8012 * util/grub-mkstandalone.in: Likewise.
8013 * util/grub-reboot.in: Likewise.
8014 * util/grub-set-default.in: Likewise.
8015 * util/grub.d/00_header.in: Likewise.
8016 * util/grub.d/10_hurd.in: Likewise.
8017 * util/grub.d/10_windows.in: Likewise.
8018 * util/grub.d/30_os-prober.in: Likewise.
8019 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8020
49e08a06
VS
80212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * po/Rules-swiss: Fix header comment.
8024
3809cb41
AV
80252012-02-29 Andreas Vogel <anvoit>
8026
8027 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8028 resulted in leak of arguments.
8029
fa6ec573
VS
80302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8033 reed_solomon_size const definition instead of computing it since
8034 Apple assembler doesn't support the later.
8035
22899b9c
VS
80362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * gentpl.py (kernel): Rewrite Apple part.
8039
a132afc3
VS
80402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8043
9d742bd4
VS
80442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8047 ELF section gap.
8048 (load_image): Likewise.
8049
f04a9a21
VS
80502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * configure.ac: Fix a typo in previous commit.
8053
46cf439c
VS
80542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 Don't add -Wl,-N on Apple platform.
8057
8058 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8059 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8060
c4c48c54
VS
80612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/Makefile.core.def (lzma_decompress): Use
8064 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8065
31a12124
VS
80662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/genmod.sh.in: Rewrite the Apple part.
8069
4f3aa1af
VS
80702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8073 comparison.
8074
7bd8b0c7
VS
80752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * acinclude.m4 (grub_CHECK_PIC): New test.
8078 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8079
97304d7c
VS
80802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8083 to avoid the warning.
8084
fb883812
VS
80852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8088 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8089 after. All users updated.
8090
a121c964
VS
80912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 Use the common size routine in hostfs so we can read disks as well.
8094
8095 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8096 (grub_util_get_fd_size): ... this. Return size in bytes.
8097 All users updated.
8098 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8099 grub_util_get_fd_size.
8100
c66d6410
VS
81012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8104 Add blocksize retrieval.
8105
dfc8aeb0
VS
81062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * configure.ac: Restore CFLAGS after efiemu check.
8109
403e25a5
VS
81102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8113 Apple bug.
8114
382775d1
VS
81152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8118
6fd4e6e4
VS
81192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8122 (grub_cmd_halt): Likewise.
8123
bea359d6
VS
81242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8127 for local arithmetics.
8128 Break %sp init into 2 instructions.
8129 Add 0 byte at the end.
8130
32eb6ee1
VS
81312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8134 before loops.
8135
e8377389
VS
81362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8139 for context.
8140
8cb17de7
VS
81412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * grub-core/disk/ldm.c (make_vg): Init part.name.
8144 (grub_ldm_detect): Silence spurious warning.
8145 (grub_util_is_ldm): Likewise.
8146
595717e6
VS
81472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8150 sane value to avoid a spurious warning.
8151
c4b7e588
VS
81522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8155 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8156
59824957
VS
81572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8160 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8161
70115b99
VS
81622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8165 hardcoding the relevant info.
8166
56733740
VS
81672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8170 missing const qualifiers.
8171 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8172
43481481
VS
81732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * util/getroot.c [__APPLE__]: Add missing includes.
8176 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8177
3cb38f01
VS
81782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8181
d9dbf11e
VS
81822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8185 avoid conflicts.
8186
0c42a45d
VS
81872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8190
46c34eb0
VS
81912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8194 and grub_file_close call.
8195
99ce1597
VS
81962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Add LZSS Mach-O support (needed for new xnu kernelcache).
8199
8200 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8201 * grub-core/loader/lzss.c: New file.
8202 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8203 on Mach-O open failure.
8204 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8205 Don't free cmdsXX in uncompressedXX is set.
8206 (grub_macho_file): Init new fields.
8207 New argument is_64bit. All users updated.
8208 Handle compressed. Error out if no suitable architecture is found.
8209 Don't close file.
8210 (grub_macho_open): New argument is_64bit. All users updated.
8211 * grub-core/loader/macho32.c: Add defines for new fields.
8212 * grub-core/loader/macho64.c: Likewise.
8213 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8214 (grub_macho_parse): Handle compressed.
8215 Defer actual processing if compressed.
8216 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8217 "filename". All users updated.
8218 (grub_macho_size): New argument "filename". All users updated.
8219 (grub_macho_get_entry_point): Likewise.
8220 (grub_macho_load): Handle compressed.
8221 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8222 (GRUB_MACHO_LZSS_OFFSET): New define.
8223 (grub_decompress_lzss): New proto.
8224 * include/grub/machoload.h (grub_macho_file): New fields to handle
8225 compressed.
8226 (grub_macho_contains_macho64): Remove proto.
8227 (grub_macho_contains_macho32): Likewise.
8228 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8229
ebd17d6f
VS
82302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8233
2702b4e4
VS
82342012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Fix make dist.
8237
8238 * Makefile.am (starfield_theme_files): New var.
8239 (starfield_DATA): Use starfield_theme_files.
8240 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8241 Add bootcheck-related files.
8242 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8243 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8244 and font_char_metrics.txt.
8245 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8246 (setjmp): Add lib/ia64/longjmp.S.
8247 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8248 * po/POTFILES.in: Regenerate.
8249 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8250 DISTFILES.common.extra1.
8251 * util/devicemap.c: Removed.
8252 * grub-core/lib/i386/relocator_backward.S: Likewise.
8253 * util/import_gcry.py: Remove unused files. Add extra_dist for
8254 ChangeLog.
8255
cf1adfdf
VS
82562012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8259 grub_gettext_delete_list before changing grub_gettext_max to avoid
8260 running out of array bounds.
8261
82622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8263
8264 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8265 grub_vga_text_init/grub_vga_text_fini.
8266
cf1adfdf 82672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8268
8269 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8270
541d92e9
VS
82712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * configure.ac: Bump to 2.00~beta0.
8274
7931dddf
VS
82752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8278 missing initialisation.
8279
f1b16fa3
VS
82802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8283
83ddae23
VS
82842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Support v2 xnu boot arguments.
8287
8288 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8289 New argument fsbfreq_out.
8290 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8291 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8292 be used.
8293 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8294 darwin_version.
8295 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8296 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8297 (grub_xnu_boot_params): Rename to ...
8298 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8299 (grub_xnu_boot_params_v2): New struct.
8300
dc693fe6
VS
83012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8304 zeroing of CRC field before computing CRC.
8305
5a6e39c2
VS
83062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8309 Change order of allocations to decrease fragmentation.
8310
6c21f5d7
VS
83112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8314
cfe456dc
CW
83152012-02-27 Colin Watson <cjwatson@ubuntu.com>
8316
8317 Use write-combining MTRR to speed up video with buggy BIOSes.
8318
8319 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8320 (cpuid): New define.
8321 (rdmsr): Likewise.
8322 (wrmsr): Likewise.
8323 (mtrr_base): Likewise.
8324 (mtrr_mask): Likewise.
8325 (grub_vbe_enable_mtrr_entry): New function.
8326 (grub_vbe_enable_mtrr): Likewise.
8327 (grub_vbe_disable_mtrr): Likewise.
8328 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8329 control off to BIOS.
8330 (grub_video_vbe_init): Fill mtrr.
8331 (grub_video_vbe_fini): Disable mtrr.
8332 (grub_video_vbe_get_info_and_fini): Likewise.
8333 (grub_video_vbe_setup): Enable mtrr.
8334
e3c78337
CW
83352012-02-27 Colin Watson <cjwatson@ubuntu.com>
8336
8337 * include/grub/partition.h (grub_partition_map): Change prototype of
8338 embed to take a maximum value for nsectors.
8339 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8340 * include/grub/fs.h (grub_fs): Likewise.
8341 * grub-core/partmap/msdos.c (embed_signatures): New array.
8342 (pc_partition_map_embed): Check for and avoid sectors matching any
8343 of the signatures in embed_signatures, up to max_nsectors.
8344 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8345 returned sector map to max_nsectors.
8346 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8347 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8348 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8349 * util/grub-setup.c (setup): Allow for the embedding area being
8350 split into multiple blocklists. Tell dest_partmap->embed the
8351 maximum number of sectors we care about.
8352
83532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8356 Specify blocklist_install and reserver_first_sector for all fs.
8357 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8358 blocklists.
8359
984b973f
VS
83602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * util/grub-install.in: Clarify strings.
8363 Fix source dir check.
8364
f122e0d6
RL
83652012-02-27 Richard Laager <rlaager@wiktel.com>
8366
8367 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8368 "zfs" and "fuse.zfs" as synonyms.
8369
071114bb
VS
83702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * configure.ac: Put platform and target_cpu substitutions back since
8373 they are used for directories.
8374
817e6abc
RL
83752012-02-27 Richard Laager <rlaager@wiktel.com>
83762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8379 * util/grub.d/20_linux_xen.in: Likewise.
8380
897b7419
RL
83812012-02-27 Richard Laager <rlaager@wiktel.com>
8382
8383 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8384 with full paths.
8385
a414bd15
RL
83862012-02-27 Richard Laager <rlaager@wiktel.com>
8387
8388 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8389 unescape.
8390
30ac48c4
VS
83912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 Don't use insecure popen in getroot.
8394
8395 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8396 (exec_pipe): ... here.
8397 (find_root_devices_from_poolname): Use exec_pipe.
8398
53f13848
VS
83992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Remove platform and target_cpu replacement.
8402
8403 * configure.ac: Remove platform and target_cpu substitutions.
8404 * tests/util/grub-shell.in: Use modinfo.
8405 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8406 explicitly.
8407
90cb2803
VS
84082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 Autodetect platform in grub-install but allow override.
8411
8412 * util/grub-install.in: Autodetect platform. Support --target and
8413 --directory. Read platform from modinfo.sh.
8414
b9136427
VS
84152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 Support btrfs multi-volume probe.
8418
8419 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8420 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8421 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8422 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8423 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8424 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8425 grub_find_root_devices_from_btrfs if on btrfs.
8426
c36e5cd1
VS
84272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 Remove any awareness of *.c util files about target.
8430
8431 * Makefile.util.def (grub-setup): Split to ...
8432 (grub-bios-setup): ... and this.
8433 (grub-sparc64-setup): ... and this.
8434 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8435 * docs/man/grub-setup.h2m: Split into ...
8436 * docs/man/grub-sparc64-setup.h2m: ... this.
8437 * docs/man/grub-bios-setup.h2m: ... and this.
8438 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8439 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8440 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8441 (grub_target_addr_t): Remove.
8442 (grub_target_size_t): Remove.
8443 (grub_target_ssize_t): Remove.
8444 * util/grub-install.in: Use new grub-*-setup.
8445 * util/grub-mkimagexx.c (Elf_Word): New define.
8446 (Elf_Half): Likewise.
8447 (Elf_Section): Likewise.
8448 (ELF_ST_TYPE): Likewise.
8449 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8450 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8451
584b2f8a
VS
84522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 Replace grub_target_addr with more appropriate types.
8455
8456 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8457 grub_target_addr with grub_addr.
8458 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8459 grub_target_addr with grub_port.
8460 (grub_cmd_write): Likewise.
8461 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8462 grub_target_addr with grub_addr.
8463 (grub_cmd_write): Likewise.
8464 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8465
5a0dc6fb
VS
84662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8469 const qualifier for vendor_guid.
8470
786aff6e
VS
84712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8474 const qualifier.
8475 (efiemu_memequal): Likewise.
8476 (find_variable): Likewise.
8477
49017b17
VS
84782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 Fix missing console prototype on qemu-mips.
8481
8482 * include/grub/mips/qemu_mips/console.h: New file.
8483
c5988629
MG
84842012-02-27 Matthew Garrett <mjg@redhat.com>
84852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8488 * include/grub/efi/efi.h: Likewise.
8489 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8490 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8491 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8492 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8493 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8494 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8495
e33f8d69
MG
84962012-02-27 Matthew Garrett <mjg@redhat.com>
8497
8498 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8499
fb312cd9
VS
85002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8503 error.
8504
7134247c
VS
85052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * configure.ac: Remove inappropriate use of program_transform_name
8508 on grubdir and bootdir but allow explicit specification of those
8509 variables.
8510
6a313124
VS
85112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * util/grub-mknetdir.in (grub_prefix): Removed.
8514 (subdir): Use @bootdirname@ and @grubdirname@.
8515
2311c5ca
VS
85162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8519
7d5d60f7
VS
85202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * po/POTFILES.in: Regenerated.
8523
8151bc82
VS
85242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 Remove improper use of program_transform_name on pkglibrootdir.
8527
8528 * configure.ac (pkglibrootdir): Removed.
8529 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8530 * util/grub-mkimage.c: Likewise.
8531
b4a6a533
VS
85322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8535 warning.
8536
668f304f
VS
85372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * util/grub-install.in: Use file identifier if no UUID is available
8540 or user explicitly prompted for it.
8541
665f2341
NP
85422012-02-27 Navdeep Parhar <nparhar@gmail.com>
8543
8544 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8545 (freebsd_get_zfs): New function.
8546 (grub_freebsd_boot): Pass zfs UUID.
8547 (grub_cmd_freebsd): Set zfs UUID.
8548
8151bc82 85492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8550
8551 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8552 pkglibrootdir.
8553
e4c498a1
MG
85542012-02-27 Mike Gilbert <floppym@gentoo.org>
8555
8556 Add configure flag to control libzfs integration.
8557
8558 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8559
1e9a9a3f
VS
85602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8563 device.
8564 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8565 small devices.
8566
036985b8
VS
85672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8570 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8571 be used on non-modules.
8572
8573 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8574 Rename to grub_boot_init.
8575 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8576 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8577 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8578 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8579 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8580 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8581 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8582 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8583 includes.
8584 (grub_machine_init): Remove empty inits.
8585 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8586 includes.
8587 (grub_machine_init): Remove empty inits.
8588 * grub-core/term/arc/console.c: Remove explicit proto.
8589 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8590 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8591 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8592 grub_at_keyboard_fini.
8593 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8594 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8595 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8596 grub_gfxterm_fini.
8597 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8598 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8599 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8600 grub_vgatext_fini.
8601 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8602 * grub-core/term/serial.c (GRUB_MOD_INIT)
8603 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8604 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8605 grub_serial_fini.
8606 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8607 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8608 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8609 grub_terminfo_fini.
8610 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8611 (GRUB_MOD_FINI): Likewise.
8612 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8613 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8614 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8615 grub_video_radeon_fuloong2e_fini.
8616 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8617 [LOONGSON]: Rename to grub_video_sis315pro_init.
8618 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8619 grub_video_sis315pro_fini.
8620 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8621 [LOONGSON]: Rename to grub_video_sm712_init.
8622 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8623 grub_video_sm712_fini.
8624 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8625 (grub_at_keyboard_fini): Likewise.
8626 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8627 Don't declare grub_{modname}_init.
8628 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8629 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8630 New proto.
8631 (grub_keylayouts_fini) [!EMU]: Likewise.
8632 * include/grub/serial.h (grub_serial_init) [!EMU]:
8633 New proto.
8634 (grub_serial_fini) [!EMU]: Likewise.
8635 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8636 New proto.
8637 (grub_terminfo_fini) [!EMU]: Likewise.
8638 * include/grub/video.h (grub_font_init) [!EMU]:
8639 New proto.
8640 (grub_font_fini) [!EMU]: Likewise.
8641 (grub_gfxterm_init) [!EMU]: Likewise.
8642 (grub_gfxterm_fini) [!EMU]: Likewise.
8643 (grub_video_sm712_init) [!EMU]: Likewise.
8644 (grub_video_sm712_fini) [!EMU]: Likewise.
8645 (grub_video_sis315pro_init) [!EMU]: Likewise.
8646 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8647 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8648 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8649
d5534665
VS
86502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 Make nand a prefix for nand devices.
8653
8654 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8655
10133b5f
VS
86562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8659 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8660
8e307a62
VS
86612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * include/grub/env.h (grub_env_find): Remove prototype.
8664 * grub-core/kern/env.c (grub_env_find): Make static.
8665 (grub_env_set): Remove useless set.
8666
a4c65f34
VS
86672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/kern/i386/realmode.S: Remove useless align.
8670
d87893d5
VS
86712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * include/grub/dl.h (grub_dl_load_file): Don't export.
8674
50159add
VS
86752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8678 grub_dprintf.
8679
b2582b84
VS
86802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8683 grub_errors.
8684 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8685 not reloading whole superblock but only the part which is really needed.
8686 Remove useless grub_errors.
8687 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8688 grub_errors.
8689
e2a83395
VS
86902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Don't export grub_get_rtc.
8693
8694 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8695 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8696
e7d2a906
VS
86972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8700
6cf1363b
VS
87012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8704 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8705
eece3349
VS
87062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Remove prio_list.
8709
8710 * include/grub/list.h (grub_prio_list): Removed.
8711 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8712 GRUB_COMMAND_PRIO_MASK.
8713 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8714 GRUB_COMMAND_FLAG_ACTIVE.
8715 (grub_prio_list_insert): Removed.
8716 (grub_prio_list_remove): Likewise.
8717 (GRUB_AS_PRIO_LIST): Likewise.
8718 (GRUB_AS_PRIO_LIST_P): Likewise.
8719 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8720 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8721 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8722 * grub-core/kern/command.c (grub_register_command_prio): Inline
8723 the prio_list code.
8724 (grub_unregister_command): Likewise.
8725
94f064b4
VS
87262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 Fix interrupt mixup from previous commit.
8729
8730 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8731 (grub_realidt): New var.
8732 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8733 Load idt.
8734 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8735 New declaration.
8736 (grub_relocator16_boot): Set grub_relocator16_idt.
8737 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8738 (LOCAL(realidt)): ... this.
8739 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8740 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8741 (grub_realidt): New variable.
8742
27317084
VS
87432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8746 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8747 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8748 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8749 Gettextize.
8750 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8751 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8752 * po/POTFILES.in: Regenerate.
8753
47b40053
VS
87542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8757 errors.
8758
2b343101
VS
87592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8762 \0.
8763 (add_length): Likewise.
8764
ff27c3dd
LK
87652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
87662012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8767
8768 GDB serial and backtrace support.
8769
8770 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8771 (prot_to_real): Likewise.
8772 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8773 * grub-core/Makefile.core.def (backtrace): New module.
8774 (gdb): Likewise.
8775 * grub-core/gdb/cstub.c: New file.
8776 * grub-core/gdb/gdb.c: Likewise.
8777 * grub-core/gdb/i386/idt.c: Likewise.
8778 * grub-core/gdb/i386/machdep.S: Likewise.
8779 * grub-core/gdb/i386/signal.c: Likewise.
8780 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8781 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8782 * include/grub/backtrace.h: Likewise.
8783 * include/grub/gdb.h: Likewise.
8784 * include/grub/i386/gdb.h: Likewise.
8785
87862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8787
8788 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8789 New function.
8790 (add_length): Likewise.
8791 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8792 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8793 proto.
8794 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8795 __argp_get_display_len.
8796
ff27c3dd 87972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8798
8799 $"..." support in scripts.
8800
8801 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8802 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8803 * grub-core/script/yylex.l: Likewise.
8804 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8805 value.
8806
ff27c3dd 88072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8808
8809 * gentpl.py: Remove obsolete pkglib_DATA handling.
8810
ff27c3dd 88112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8812
8813 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8814 mailing list.
8815
8816 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8817 * util/grub-kbdcomp.in: Likewise.
8818 * util/grub-mkconfig.in: Likewise.
8819 * util/grub-mkconfig_lib.in: Likewise.
8820 * util/grub-mknetdir.in: Likewise.
8821 * util/grub-mkrescue.in: Likewise.
8822 * util/grub-mkstandalone.in: Likewise.
8823 * util/grub-reboot.in: Likewise.
8824 * util/grub-set-default.in: Likewise.
8825 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8826
ff27c3dd 88272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8828
8829 Remove GRUB_PREFIX.
8830
8831 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8832 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8833 used for backward compatibility.
8834
ff27c3dd 88352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8836
8837 Add new all_video module.
8838
8839 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8840 * grub-core/Makefile.core.def (all_video): New module.
8841 * grub-core/genmoddep.awk: Generate dependency of all_video from
8842 video.lst.
8843 * grub-core/lib/fake_module.c: New file.
8844 * grub-core/normal/main.c (features): Add feature_all_video_module.
8845 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8846 don't do explicit search again.
47454da5 8847 insmod all_video in load_video if available.
22c7ce85 8848
ff27c3dd 88492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8850
8851 Another round of string clarification and adding TRANSLATORS comments.
8852
ff27c3dd 88532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8854
8855 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8856
ff27c3dd 88572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8858
8859 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8860 to grub_ssize_t.
8861 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8862 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8863
ff27c3dd 88642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8865
8866 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8867 trailing newline implicitly. All users updated.
8868
ff27c3dd 88692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8870
8871 Implement serial on IEEE1275 and EFI.
8872
8873 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8874 on emu. Mention arc and emu as the only platforms without serial
8875 support.
8876 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8877 ieee1275 platforms.
8878 * grub-core/term/efi/serial.c: New file.
8879 * grub-core/term/ieee1275/serial.c: Likewise.
8880 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8881 specification if no ns8250 driver is available.
8882 (grub_cmd_serial): Likewise.
8883 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8884 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8885 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8886 (grub_efi_parity_type_t): New type.
8887 (grub_efi_stop_bits_t): Likewise.
8888 (grub_efi_serial_io_interface): New struct.
8889 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8890 available for all interfaces.
8891 Add EFI and IEEE1275 fields.
8892 (grub_ofserial_init): New proto.
8893 (grub_efiserial_init): Likeiwse.
8894 * util/grub.d/00_header.in: Don't check for the presence of serial
8895 module.
8896
ff27c3dd 88972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8898
8899 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8900 name as if it was an alias.
8901
114076ef
VS
89022012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/commands/lsacpi.c (options): Fix typo.
8905
6a656b0e
VS
89062012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 Convert grub-emu to argp.
8909
8910 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8911 emu.
8912 * util/argp_common.c: Rename to ...
8913 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8914 Add missing includes.
8915 * grub-core/kern/emu/main.c: Convert to argp.
8916 * po/POTFILES.in: Regenerate.
8917 * util/grub-install.in (usage): Make first letter lowcase in messages
8918 for uniformity.
8919 * util/grub-setup.c (options): Likewise.
8920
1e3f8ae8
VS
89212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8924 Put back accidently commented-out code.
8925
ed167a80
VS
89262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8929 loop check using Brent algorithm.
8930 (grub_hfsplus_btree_search): Likewise.
8931
6753c0ec
VS
89322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * util/grub-install.in: Fix usage of wrong device for PreP install.
8935
4e27343f
VS
89362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * conf/Makefile.common (CFLAGS_GNULIB): Add
8939 -Wno-unsafe-loop-optimizations.
8940 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8941 on tools.
8942 * grub-core/commands/legacycfg.c: Add pragma to skip
8943 -Wunsafe-loop-optimizations.
8944 (check_password_md5_real): Fix loop counter type.
8945 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8946 reading.
8947 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8948 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8949 loop condition.
8950 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8951 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8952 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8953 condition.
8954 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8955 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8956 avoid possible infinite loops.
8957 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8958 and -Wunsafe-loop-optimizations.
8959 * grub-core/script/yylex.l: Likewise.
8960 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8961 (print_glyphs): Avoid infinite loops.
8962 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8963
697f18b0
GS
89642012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8965
8966 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8967 to avoid infinite loop.
8968 (disp_acpi_rsdt_table): Likewise.
8969
274416e8
VS
89702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/font/font.c (grub_font_load): Add support for default
8973 path for fonts ($prefix/fonts).
8974 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8975 for checking if string is a path.
8976 * grub-core/normal/main.c (features): Add feature_default_font_path.
8977 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8978 * util/grub.d/00_header.in: Use default directory if possible.
8979 * util/grub-install.in: Install unicode.pf2.
8980
b3e08622
VS
89812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8984 * po/Rules-swiss: New file.
8985 * po/swiss.sed: Likewise.
8986
fe42ce09
VS
89872012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/fs/btrfs.c (find_device): Fix typos.
8990 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8991 * util/grub-mkrelpath.c (argp_parser): Likewise.
8992 Reported by: Yuri Chornoivan.
8993
72f1d065
DO
89942012-02-23 Dalet Omega <daletomega@gmail.com>
8995
8996 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8997 for usual informative messages.
8998
c5884973
DO
89992012-02-23 Dalet Omega <daletomega@gmail.com>
9000
9001 Starfield theme.
9002
9003 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9004 * conf/Makefile.common: Define starfielddir.
9005 * configure.ac: Configure starfield.
9006 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9007 * themes/starfield/README: Likewise.
9008 * themes/starfield/blob_w.png: Likewise.
9009 * themes/starfield/boot_menu_c.png: Likewise.
9010 * themes/starfield/boot_menu_e.png: Likewise.
9011 * themes/starfield/boot_menu_n.png: Likewise.
9012 * themes/starfield/boot_menu_ne.png: Likewise.
9013 * themes/starfield/boot_menu_nw.png: Likewise.
9014 * themes/starfield/boot_menu_s.png: Likewise.
9015 * themes/starfield/boot_menu_se.png: Likewise.
9016 * themes/starfield/boot_menu_sw.png: Likewise.
9017 * themes/starfield/boot_menu_w.png: Likewise.
9018 * themes/starfield/slider_c.png: Likewise.
9019 * themes/starfield/slider_n.png: Likewise.
9020 * themes/starfield/slider_s.png: Likewise.
9021 * themes/starfield/src/blob_nw.xcf: Likewise.
9022 * themes/starfield/src/bootmenu/: Likewise.
9023 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9024 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9025 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9026 * themes/starfield/src/slider_c.xcf: Likewise.
9027 * themes/starfield/src/slider_n.xcf: Likewise.
9028 * themes/starfield/src/slider_s.xcf: Likewise.
9029 * themes/starfield/src/terminalbox/: Likewise.
9030 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9031 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9032 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9033 * themes/starfield/starfield.png: Likewise.
9034 * themes/starfield/terminal_box_c.png: Likewise.
9035 * themes/starfield/terminal_box_e.png: Likewise.
9036 * themes/starfield/terminal_box_n.png: Likewise.
9037 * themes/starfield/terminal_box_ne.png: Likewise.
9038 * themes/starfield/terminal_box_nw.png: Likewise.
9039 * themes/starfield/terminal_box_s.png: Likewise.
9040 * themes/starfield/terminal_box_se.png: Likewise.
9041 * themes/starfield/terminal_box_sw.png: Likewise.
9042 * themes/starfield/terminal_box_w.png: Likewise.
9043 * themes/starfield/theme.txt: Likewise.
9044
17d73325
VS
90452012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/grub.d/00_header.in: Add missing export theme.
9048
dbebaf92
VS
90492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9052 already included.
9053 Reported by: Eren D.
9054
3d68bffb
VS
90552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * conf/Makefile.common (grubdatadir): Removed.
9058 (Makefile.am): Move eveything grubdata to pkgdata.
9059
4b59234d
VS
90602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/commands/acpihalt.c (get_sleep_type):
9063 Remove unused variable.
9064
463dcadc
VS
90652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9068 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9069 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9070 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9071 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9072 i18n with gettext no-op.
9073 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9074 GRUB_ACPI_OPCODE_STRING_CONST.
9075 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9076 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9077
e5b90c82
VS
90782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * po/POTFILES.in: Regenerate.
9081
2a704ca9
VS
90822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9085 -Wno-error=missing-noreturn.
9086
84f9d341
VS
90872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9090 condition to avoid possibly infinite loops.
9091 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9092 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9093
d46683f9
VS
90942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9097 condition to avoid possibly infinite loops.
9098
c44866b2
VS
90992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9102 on show_error.
9103
96790539
VS
91042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9107
1ba7e295
VS
91082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9111
21ffe8f1
VS
91122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * util/bin2h.c (usage): Add missing attribute noreturn.
9115
0ccb6b3c
VS
91162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9119 if the size isn't divisible by 512.
9120
b00d7fb6
VS
91212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Make list_push and list_remove functions rather than inline functions
9124 to decrease size and avoid aliasing violations.
9125
9126 * include/grub/list.h (grub_list_push): Move to ...
9127 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9128 * include/grub/list.h (grub_list_remove): Move to ...
9129 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9130
9d369087
VS
91312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9134 and -Wunused-result.
9135
af0250d9
VS
91362012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9139 Reported by: Seth Goldberg
9140
aad32b14
VS
91412012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9144
ac96441c
ST
91452012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9146
9147 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9148 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9149 command line.
9150 * docs/grub.texi (Simple configuration): Document
9151 GRUB_CMDLINE_GNUMACH.
9152
91532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9154
9155 * conf/Makefile.common (platform_SCRIPTS): New variable.
9156 (platform_PROGRAMS): Likewise.
9157 * gentpl.py: Mark *,module and *.image for install.
9158 * grub-core/gdb_grub.in: Add a notice of expected environment.
9159 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9160 (gmodule.pl): Likewise.
9161
ac96441c 91622012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9163
9164 Replace grub_checkkey with grub_getkey_noblock.
9165
9166 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9167 (grub_getkey_noblock): ... this. All users updated.
9168
ac96441c 91692012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9170
9171 * grub-core/kern/emu/console.c: Move to ...
9172 * grub-core/term/emu/console.c: ...here.
9173 (grub_ncurses_getkey): Fix return value if no key is detected.
9174
e51b5666
VS
91752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9178 (grub_unit_test_fini): Likewise.
9179 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9180
91812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * include/grub/test.h (GRUB_UNIT_TEST)
9184
d9a62292
VS
91852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9188 Better error handling.
9189 (grub_script_return): Likewise.
9190 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9191
77c9182f
VS
91922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9195 rimplicit redifinition.
9196
edb13cf9
VS
91972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9200 GRUB.
9201
a9e9dc7c
VS
92022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9205 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9206 prompt here.
9207
b4ba8e02
VS
92082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9211 as GRUB_ERR_BUG. Don't malloc if no device is available.
9212
dded5540
VS
92132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9216 Mark calling with invalid term as GRUB_ERR_BUG.
9217
0cf69874
VS
92182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9221 packets rather than raising an error.
9222
59bfe502
VS
92232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9226 in if.
9227
db5fc596
VS
92282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9231 diagnostic to dprintf.
9232 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9233
e4b7f404
VS
92342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9237 device name.
9238
e7b02f9e
VS
92392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9242 (grub_ntfs_iterate_dir): Likewise.
9243
0331e102
VS
92442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Efiemu stylistic fixes and gettext.
9247
9248 * grub-core/efiemu/i386/loadcore32.c
9249 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9250 * grub-core/efiemu/i386/loadcore64.c
9251 (grub_arch_efiemu_relocate_symbols64): Likewise.
9252 * grub-core/efiemu/i386/pc/cfgtables.c
9253 (grub_machine_efiemu_init_tables): Likewise.
9254 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9255 (grub_efiemu_loadcore_initXX): Add a filename argument.
9256 All users updated.
9257 Improved error message.
9258 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9259 Add a filename argument.
9260 All users updated.
9261 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9262 Reclassify double relocation as GRUB_ERR_BUG.
9263
306fc074
VS
92642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9267 handling.
9268
794d8ef2
VS
92692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9272 on partition.
9273
92742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9275
9276 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9277
794d8ef2 92782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9279
9280 Improve string. Gettextize.
9281
78dde88e
VS
92822012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9285 utils.
9286 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9287
4786a90f
VS
92882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9291 [GRUB_UTIL]: New function.
9292 (insert_array) [GRUB_UTIL]: Store partmaps.
9293 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9294 partmaps.
9295 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9296 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9297 (probe_abstraction): Print diskfilter and not raid.
9298 Reported by: Lennart Sorensen
9299
0b6225bd
VS
93002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9303 * util/grub-mkimagexx.c (MASK3): New define.
9304 (add_value_to_slot_20b): Use MASK3.
9305 (add_value_to_slot_21): Likewise.
9306 (relocate_addresses): Fix format specification.
9307 (load_image): Explicitly init symtab_section.
9308
b055f8f6
VS
93092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9312 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9313
b77c2fb7
VS
93142012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9317 on powerpc.
9318 Reported by: Lennart Sorensen
9319
e3ec28ab
VS
93202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * gentpl.py: Add missing license header.
9323 * docs/grub.texi: Update copyright year.
9324
c8d9ead6
GS
93252012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9326
9327 Source grub-mkconfig_lib from the build directory at build time.
9328 Suggested by: Vladimir Serbinenko.
9329
9330 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9331 * util/grub-install.in: Define pkgdatadir if not already set, and source
9332 grub-mkconfig_lib from there.
9333 * util/grub-kbdcomp.in: Likewise.
9334 * util/grub-mkconfig.in: Likewise.
9335 * util/grub-mknetdir.in: Likewise.
9336 * util/grub-mkrescue.in: Likewise.
9337 * util/grub-mkstandalone.in: Likewise.
9338 * util/grub-reboot.in: Likewise.
9339 * util/grub-set-default.in: Likewise.
9340 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9341
ebcecdf1
VS
93422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Increase warning level.
9345
9346 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9347 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9348 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9349 (TARGET_CFLAGS): Likewise.
9350 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9351 * grub-core/Makefile.core.def (decompressor_xz): Add
9352 -Wno-unreachable-code.
9353 (normal): Add -Wno-redundant-decls.
9354 (xzio): Add -Wno-unreachable-code.
9355 (lzopio): Add -Wno-redundant-decls -Wno-error.
9356 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9357 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9358 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9359 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9360 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9361 * grub-core/kern/i386/coreboot/init.c: Add exception to
9362 -Wsuggest-attribute=noreturn.
9363 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9364 * grub-core/kern/ia64/dl_helper.c: Likewise.
9365 * grub-core/kern/mips/dl.c: Likewise.
9366 * grub-core/kern/sparc64/dl.c: Likewise.
9367 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9368 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9369 (memcmp): Likewise.
9370 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9371 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9372 * grub-core/loader/mips/linux.c: Likewise.
9373 * grub-core/loader/multiboot_elfxx.c: Likewise.
9374 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9375 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9376 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9377 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9378 fixme.
9379 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9380 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9381 Fix prototype.
9382
37bb97fe
VS
93832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9386 address.
9387
29a3550b
VS
93882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9391 Avoid improper use of strings.
9392 (grub_cmd_legacy_initrdnounzip): Likewise.
9393
dfdffd0d
VS
93942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9397 attribute.
9398 (grub_util_info): Likewise.
9399 (grub_util_error): Likewise.
9400
102fae4a
VS
94012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9404 * util/grub-fstest.c (fstest): Likewise.
9405
7e94d044
VS
94062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9409 (grub_md_sha512_real): Likewise.
9410 (grub_util_get_geli_uuid): Likewise.
9411 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9412 (grub_util_biosdisk_open): Fix format specification.
9413 Respect format security.
9414 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9415 (xrealloc): Likewise.
9416 (xasprintf): Likewise.
9417
5ebd9769
VS
94182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * util/import_gcry.py: Include grub/crypto.h in init.c.
9421
495fc8c1
VS
94222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9425 (generate_image): Make prefix a const char *.
9426 Fix format specifications. Respect format security.
9427 Avoid void * arithmetics.
9428 Avoid shadowing.
9429 (argp_parser): Remove unused variable. Respect format security.
9430 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9431 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9432 (count_funcs): Remove unused variable.
9433 (relocate_addresses): Fix format specification.
9434 Disable x86-64 with elf32. Remove unused variables.
9435 (add_fixup_entry): Avoid shadowing.
9436 (make_reloc_section): Fix format specification.
9437 Use assert.
9438 (locate_sections): Fix format specifications.
9439 (load_image): Avoid shadowing.
9440
043c2ea3
VS
94412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9444 Fix format specifications. Respect format security.
9445 Don't translate already translated grub_errmsg.
9446 (argp_parser): Remove unused variable
9447
3ec65a81
VS
94482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9451
a4d9fe4a
VS
94522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9455 (main): Likewise. Use xmalloc. Respect format security.
9456
15b81d49
VS
94572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9460 a const char *.
9461 (argp_parser): Remove unused variable.
9462
31731fc0
VS
94632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9466 (add_pixel): Make static.
9467 (add_font): Likewise.
9468 (write_string_section): Make name and str a const char *.
9469 (write_be16_section): Make name a const char *.
9470 (print_glyphs): Make static.
9471 (write_font_ascii_bitmap): Likewise.
9472 (write_font_width_spec): Likewise.
9473 (write_font_pf2): Likewise.
9474 (argp_parser): Remove unused variable.
9475 Respect format security.
9476 (main): Avoid shadowing. Respect format security.
9477
0809527b
VS
94782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * util/grub-editenv.c (argp_parser): Make static.
9481 (create_envblk_file): Use xmalloc.
9482 (open_envblk_file): Likewise.
9483 Resepect format security.
9484 (set_variables): Respect format security.
9485
45b0c8b7
VS
94862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * util/getroot.c (grub_find_device): Respect format security.
9489 (get_mdadm_uuid): Remove unused variable.
9490 (grub_util_pull_device): Dont call gettext on already translated
9491 grub_errmsg.
9492 (find_system_device): Remove unused variable.
9493 (grub_util_get_grub_dev): Likewise.
9494 (grub_make_system_path_relative_to_its_root): Respect format security.
9495
1b024b4e
VS
94962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * util/grub-fstest.c (execute_command): Make first argument
9499 a const char *.
9500 (read_file): Avoid shadowing.
9501 Reuse underlying error message if device open fails.
9502 (cmd_cmp): Respect format security.
9503 (root): Make const char *.
9504 (fstest): Remove args argument and use global copy.
9505 Respect format security.
9506 (argp_parser): Make static.
9507 (main): Make default_root const char *.
9508
5d1d4e28
VS
95092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * util/grub-mount.c (root): Make const char *.
9512 (execute_command): Make first argument a const char *.
9513 (fuse_init): Respect format security.
9514 (argp_parser): Make static. Remove unused variable.
9515 (main): Make default_root a const char *.
9516 Respect format security.
9517
36eb7379
VS
95182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * util/grub-probe.c (probe): Don't call gettext on already translated
9521 grub_errmsg.
9522 Remove unused variables.
9523 (argp_parser): Remove unused variable.
9524
76fb2ea9
VS
95252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * util/grub-script-check.c (argp_parser): Remove unused variable.
9528 (main): Rename read to curread to avoid shadowing.
9529
56c98584
VS
95302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * util/misc.c (grub_util_write_image_at): Fix format specification.
9533 (grub_util_write_image): Likewise.
9534 (grub_script_execute_argument_to_string): Removed (unused).
9535 (grub_script_execute_menuentry): Likewise.
9536 (grub_putchar): Likewise.
9537
164ebb48
VS
95382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9541 (FUNCTION) [GRUB_UTIL]: Likewise.
9542 (VARIABLE) [GRUB_UTIL]: Likewise.
9543
44318d61
VS
95442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9547 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9548
31a26002
VS
95492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9552 buffer.
9553
95542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9557 (LzmaEnc_SaveState): Removed (unused).
9558 (LzmaEnc_RestoreState): Likewise.
9559 (LzmaEnc_InitPriceTables): Made static.
9560 (LzmaEnc_Construct): Likewise.
9561 (LzmaEnc_FreeLits): Likewise.
9562 (LzmaEnc_Destruct): Likewise.
9563 (LzmaEnc_Init): Likewise.
9564 (LzmaEnc_InitPrices): Likewise.
9565 (LzmaEnc_Finish): Likewise.
9566 (LzmaEnc_PrepareForLzma2): Removed (unused).
9567 (LzmaEnc_MemPrepare): Likewise.
9568 (LzmaEnc_GetNumAvailableBytes): Likewise.
9569 (LzmaEnc_GetCurBuf): Likewise.
9570 (LzmaEnc_CodeOneMemBlock): Likewise.
9571
6fa67967
VS
95722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9575 (grub_util_ldm_embed): Likewise.
9576
9a7428e6
VS
95772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-editenv.c (print_var): Rename name to varname to
9580 avoid shadowing.
9581 (main): Rename index to curindex to avoid shadowing.
31a26002 9582 Make filename a const char *.
9a7428e6 9583
4f96abd1
VS
95842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9587 to arg_getline to avoid shadowing.
9588
44d10dad
VS
95892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9592 disk_ to avoid shadowing.
9593
340ba63e
VS
95942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9597 curindex to avoid shadowing.
9598 Make static.
9599 (MatchFinder_GetNumAvailableBytes): Make static.
9600
22965bce
VS
96012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9604 avoid shadowing.
9605
7b5784d4
VS
96062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9609 argument from encrypt to do_encrypt to avoid shadowing.
9610
6f48ca01
VS
96112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9614 incorrect nesting of #if's.
9615
a4ea2dff
VS
96162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9619 checks which are always false on some platforms.
9620 (grub_cmd_lsacpi): Likewise.
9621 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9622 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9623 Likewise.
9624
def9fc1b
VS
96252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9628 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9629
a67b2a04
VS
96302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9633 re_dfa_t to avoid breaking alignment invariants.
9634 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9635 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9636
44c6828d
VS
96372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9640 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9641
bebe0dd0
VS
96422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9645 Fix declaration.
9646
a9cdb3cf
VS
96472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9650 conserve alignment invariants.
9651 (grub_ehci_ehcc_read16): Likewise.
9652 (grub_ehci_oper_read32): Likewise.
9653 (grub_ehci_oper_write32): Likewise.
9654 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9655 Conserve alignment invariants.
9656
ccc3b1b8
VS
96572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9660 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9661 declarations.
9662
987fbd95
VS
96632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9666 Remove unused variable.
9667
0df363f3
VS
96682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9671 Remove set in if.
9672
b2c0c4a6
VS
96732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * include/grub/net.h: Remove double declarations.
9676
690c531f
VS
96772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 Remove "payload" command in ia64 Linux loader since I couldn't
9680 find any evidence of it being used for anything.
9681 Replace "relocate" command with an environment variable
9682
9683 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9684 fields.
9685 (ia64_boot_payload): Removed.
9686 (last_payload): Likewise.
9687 (RELOCATE_OFF): Likewise.
9688 (RELOCATE_ON): Likewise.
9689 (RELOCATE_FORCE): Likewise.
9690 (relocate): Likewise.
9691 (free_pages): Don't free payloads.
9692 (grub_load_elf64): Use common error messages.
9693 Use "linux_relocate" variable.
9694 Increase the space after boot_params.
9695 (grub_cmd_payload): Removed.
9696 (grub_cmd_relocate): Likewise.
9697 (grub_cmd_fpswa): Improve messages.
9698 (cmd_payload): Removed.
9699 (cmd_relocate): Likewise.
9700 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9701 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9702
01783768
VS
97032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 Convert UHCI to DMA framework.
9706
9707 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9708 (grub_uhci_pci_iter): Fill new members
9709 (grub_alloc_td): Use P2V and V2P functions.
9710 (grub_free_queue): Likewise.
9711 (grub_alloc_qh): Likewise.
9712 (grub_uhci_setup_transfer): Likewise.
9713 (grub_uhci_check_transfer): Likewise.
9714
43206939
VS
97152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9718 Remove assignment in if while on it.
9719
571e140e
VS
97202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * util/grub-mkstandalone.in: Fix modules directory.
9723
a9d96eeb
VS
97242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9727 on i386-pc target.
9728 (argp_parser): Accept "auto" as compression specification.
9729
e4e37e8d
VS
97302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 Fix `help' with unloaded modules.
9733
9734 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9735 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9736 (grub_dyncmd_dispatcher): Small stylistic fix.
9737 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9738 explicit help is requested.
9739
e1ea3ade
VS
97402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9743 Explicitly init restart while on it.
9744
27556881
VS
97452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9748 uninited variable.
9749
d65f6b36
VS
97502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * util/grub-mknetdir.in: Use . rather than source for POSIX
9753 compatibility.
9754
0a1e473c
VS
97552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9758
ce6647c8
VS
97592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9762 variable.
9763
66747894
VS
97642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9767 without quotes.
9768
71645f6e
VS
97692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9772
0e1c1f61
VS
97732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9776 iteration of partitions.
9777
9c4b5c13
VS
97782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 Improve gettext support. Stylistic fixes and error handling fixes while
9781 on it.
9782
215c90cb
VS
97832012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9786 part. Instead setup the correct stack in RM.
9787 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9788 for stack.
9789 * include/grub/i386/relocator_private.h: New file.
9790
b5c1f9bf
VS
97912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9794 argument.
9795 * util/grub-fstest.c (options): Add missing DEVICE part.
9796
b525fd83
VS
97972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 Clarify and unify messages.
9800
9801 * grub-core/commands/hashsum.c (options): Unify messages.
9802 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9803 literal-only message as translatable.
9804 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9805 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9806 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9807 commands.
9808 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9809 key, not the key used to unlock. Clarify what it's used for.
9810 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9811 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9812 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9813 * util/grub-editenv.c (options): Unify "verbose" message.
9814 * util/grub-fstest.c (read_file): Unify error message.
9815 (fstest): Add quotes around commands.
9816 (options): Unify "verbose" message.
9817 * util/grub-install.in: Add quotes around variable name.
9818 * util/grub-kbdcomp.in: Unify error message.
9819 * util/grub-mkfont.c (main): Likewise.
9820 * util/grub-mkrescue.in: Likewise.
9821 * util/grub-mklayout.c (options): Unify "verbose" message.
9822 * util/grub-mkstandalone.in: Unify help and verbose messages.
9823 * util/grub-mount.c (options): Unify "verbose" message.
9824 * util/grub-probe.c (options): Likewise.
9825 * util/grub-script-check.c (options): Likewise.
9826 * util/grub-setup.c (setup): Unify no-terminator message.
9827 (options): Use DEVICE and not DEV.
9828 Unify "verbose" message.
9829 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9830
0ae70393
VS
98312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Improve and unify messages.
9834
9835 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9836 name. All users updated.
9837 Print filename in error.
9838 (read_device_map): Print filename in error.
9839 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9840 (grub_util_get_os_disk): Likewise.
9841 (grub_util_biosdisk_get_grub_dev): Likewise.
9842 (grub_util_check_block_device): Likewise.
9843 (grub_util_check_char_device): Likewise.
9844 (grub_make_system_path_relative_to_its_root): Likewise.
9845 * util/grub-editenv.c (create_envblk_file): Likewise.
9846 (open_envblk_file): Likewise.
9847 (write_envblk): Likewise.
9848 * util/grub-fstest.c (cmd_cp): Likewise.
9849 (cmd_cat): Likewise.
9850 (cmd_cmp): Likewise.
9851 * util/grub-menulst2cfg.c (main): Likewise.
9852 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9853 (write_font_width_spec): Likewise.
9854 (write_font_pf2): Likewise.
9855 * util/grub-mkimage.c (generate_image): New argument outname.
9856 All users updated.
9857 Remove unreacheable message.
9858 (options): Unify messages.
9859 (help_filter): Likewise.
9860 * util/grub-mklayout.c (usage): Removed (unused).
9861 (main): Print filename in error.
9862 * util/grub-mkrescue.in: Fix wrong quoting.
9863 * util/grub-setup.c (setup): Print filename in error.
9864 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9865 (check_sas): Likewise.
9866 * util/misc.c (grub_util_get_fp_size): Removed.
9867 (grub_util_get_image_size): Print filename in error.
9868 (grub_util_read_at): Removed.
9869 (grub_util_read_image): Print filename in error.
9870 (grub_util_load_image): Likewise.
9871 (grub_util_write_image_at): New argument filename. All users updated.
9872 Print filename in error.
9873 (grub_util_write_image): New argument filename. All users updated.
9874 Print filename in error.
9875 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9876 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9877
0a96117d
VS
98782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/Makefile.core.def (pxechain): New module.
9881 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9882 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9883 function.
9884 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9885 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9886
aca002f7
VS
98872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9890 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9891 * include/grub/err.h (grub_error_saved): New struct.
9892 (grub_errmsg): Make array size explicit.
9893 * include/grub/misc.h (grub_error_save): New function.
9894 (grub_error_load): Likewise.
9895 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9896 (grub_error_push): Update `errno' member name.
9897 (grub_error_pop): Likewise
9898 * grub-core/net/tftp.c (tftp_data): New member save_err.
9899 (tftp_receive): Save error.
9900 (tftp_open): Restore error.
9901
a51dab13
VS
99022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9905 to real mode down to execute A20-related code in protected mode as
9906 intended.
9907
eb6e6649
GS
99082012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9909
9910 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9911 NULL when the argument `level' has an unexpected value.
9912
92cd0f6e
VS
99132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Move platform-dependent files from $prefix to $prefix/$platform.
9916
9917 * config.h.in (GRUB_TARGET_CPU): New definition.
9918 (GRUB_PLATFORM): Likewise.
9919 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9920 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9921 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9922 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9923 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9924 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9925 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9926 * grub-core/normal/term.c (read_terminal_list): Likewise.
9927 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9928 $prefix/locale.
9929 (grub_gettext_init_ext): Likewise.
9930 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9931 grub_platform.
9932 * util/grub-install.in: Update directories.
9933 * util/grub-mknetdir.in: Likewise.
9934 * util/grub-mkrescue.in: Likewise.
9935
db606889
VS
99362012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9939 grub_error framework. All users updated.
9940
c39992a4
VS
99412012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9944 lists (by always binsearching), improve caching (cache strings
9945 used for binsearch, not only results), improve
9946 maintainability (by using more structured binary search) and correct
9947 error handling.
9948
1e5ec32f
VS
99492012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/script/execute.c (grub_script_return): Fix warning.
9952
ac576cde
VS
99532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * grub-core/script/execute.c (grub_script_return): Fix potential
9956 NULL-dereference.
9957 Reported by: Jim Meyering.
9958
498453f6
VS
99592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * po/POTFILES.in: Regenerate.
9962 * util/grub-install.in: Gettextize the strings missed in first pass.
9963
8be63f2e
VS
99642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * Makefile.util.def (grub-mkdevicemap): Removed.
9967 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9968 * include/grub/util/deviceiter.h: Removed.
9969 * util/deviceiter.c: Likewise.
9970 * util/getroot.c (grub_util_get_os_disk): New function.
9971 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9972 replacement for EFI.
9973 * util/grub-mkdevicemap.c: Removed.
9974 * util/grub-probe.c (probe): Handle PRINT_DISK.
9975 (argp_parser): Handle -t disk.
9976
8e1e4e39
VS
99772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-mkfont.c: Migrate to argp.
9980 * util/grub-mklayout.c: Likewise.
9981 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9982 * util/grub-mkrelpath.c: Likewise.
9983 * util/grub-probe.c: Likewise.
9984 * util/grub-script-check.c: Likewise.
9985
4459819a
VS
99862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * util/grub-reboot.in: Add missing datarootdir.
9989 Add missing newline.
9990 * util/grub-set-default.in: Add missing datarootdir.
9991 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9992 * util/grub-mkrescue.in: Likewise.
9993
f65741c7
VS
99942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9997
c1a33466
VS
99982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * util/grub-kbdcomp.in: Add decent help and gettextize.
10001 * docs/man/grub-kbdcomp.h2m: New file.
10002
c76899a0
VS
100032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 Migrate grub-mkimage.c to argp.
10006
10007 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10008 (grub-setup): Likewise.
10009 * util/grub-setup.c (print_version): Move to ...
10010 * util/argp_common.c (print_version): ... here.
10011 * util/grub-setup.c (argp_program_version_hook): Move to ...
10012 * util/argp_common.c (argp_program_version_hook): ... here.
10013 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10014 safety.
10015 * util/grub-mkimage.c (main): Migrate to argp.
10016
57db0757
VS
100172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * util/grub-mkrescue.in: Use same message as
10020 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10021 for better translations.
10022
18534ad9
VS
100232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10026 options with generic grub-mkrescue.in with the goal of future
10027 merge.
10028
c84ba308
VS
100292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/kern/mm.c: Add missing include of i18n.h
10032 * grub-core/lib/relocator.c: Likewise.
10033
347998c2
VS
100342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10037 error.
10038 (allocate_pages): Check return value.
10039 Replace fatal with error.
10040 (grub_linux_boot): Replace printf with dprintf.
10041 Check find_mmap_size return value.
10042 Replace fatal with error.
10043 Don't call grub_machine_fini.
10044 (grub_load_elf64): Replace printf with dprintf.
10045 (grub_cmd_linux): Likewise.
10046 (grub_cmd_initrd): Likewise.
10047 (grub_cmd_payload): Likewise.
10048
c779226e
VS
100492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10052 message.
10053 * grub-core/video/radeon_fuloong2e.c
10054 (grub_video_radeon_fuloong2e_setup): Likewise.
10055 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10056 * grub-core/video/video.c (grub_video_set_mode): Don't override
10057 standard out of memory message.
10058
dc87d45a
GS
100592012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10060
10061 NetBSD disk wedge support.
10062
10063 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10064 [__NetBSD__]: Handle NetBSD disk wedges.
10065 * util/getroot.c (convert_system_partition_to_system_disk)
10066 [__NetBSD__]: Likewise.
10067
055f856f
MW
100682012-02-03 Mark Wooding <mdw@distorted.org.uk>
10069
10070 * util/grub-mkconfig.in: Use umask rather than chmod to create
10071 grub.cfg.new to avoid insecure grub.cfg.
10072
4a9f8346
VS
100732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/commands/ls.c: Gettextize.
10076 * grub-core/commands/setpci.c: Likewise.
10077 * grub-core/commands/videotest.c: Likewise.
10078 * grub-core/disk/geli.c: Likewise.
10079 * grub-core/kern/mm.c: Likewise.
10080 * grub-core/lib/relocator.c: Likewise.
10081 * grub-core/loader/efi/appleloader.c: Likewise.
10082 * grub-core/loader/i386/xnu.c: Likewise.
10083 * grub-core/loader/ia64/efi/linux.c: Likewise.
10084 * grub-core/loader/xnu.c: Likewise.
10085 * grub-core/net/dns.c: Likewise.
10086 * grub-core/net/net.c: Likewise.
10087 * grub-core/script/lexer.c: Likewise.
10088 * grub-core/script/parser.y: Likewise.
10089 * grub-core/script/yylex.l: Likewise.
10090 * util/getroot.c: Likewise.
10091 * util/grub-setup.c: Likewise.
10092
a646a366
VS
100932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10096 number.
10097
54e2be26
VS
100982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10101
f7c71e68
VS
101022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10105 macro.
10106 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10107 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10108
a32d5c71
VS
101092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10112 * util/grub-install.in: Gettextize.
10113 * util/grub-mkconfig.in: Likewise.
10114 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10115 if not available.
10116 (grub_warn): Gettextize.
10117 * util/grub-mknetdir.in: Gettextize.
10118 * util/grub-mkrescue.in: Likewise.
10119 * util/grub-mkstandalone.in: Likewise.
10120 * util/grub-reboot.in: Likewise.
10121 * util/grub-set-default.in: Likewise.
10122 * util/grub.d/00_header.in: Likewise.
10123 * util/grub.d/10_hurd.in: Likewise.
10124 * util/grub.d/10_kfreebsd.in: Likewise.
10125 * util/grub.d/10_linux.in: Likewise.
10126 * util/grub.d/10_netbsd.in: Likewise.
10127 * util/grub.d/10_windows.in: Likewise.
10128 * util/grub.d/20_linux_xen.in: Likewise.
10129 * util/grub.d/30_os-prober.in: Likewise.
10130 * po/POTFILES-shell.in: Regenerate.
10131
69edd81a
RL
101322012-02-03 Richard Laager <rlaager@wiktel.com>
10133
10134 * util/grub-mkimage.c (main): Fix format-security warning.
10135 * util/grub-mkrelpath.c (main): Likewise.
10136 * util/grub-probe.c (main): Likewise.
10137
65f08dbf
RL
101382012-02-03 Richard Laager <rlaager@wiktel.com>
10139
10140 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10141 failure.
10142 Put back lost PRINT_DRIVE.
10143
e9084abe
RL
101442012-02-03 Richard Laager <rlaager@wiktel.com>
10145
10146 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10147 (grub_guess_root_devices): Replace strlen with sizeof.
10148 Avoid crash.
10149 (find_root_devices_from_poolname): Remove unused variable.
10150 Handle raidzN.
10151
cf5f7ee7
VS
101522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 Support install on multi-device filesystems.
10155
10156 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10157 (grub_guess_root_devices): ...this. Return char **. All users updated.
10158 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10159 Removed.
10160 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10161 (find_root_devices_from_poolname): ... here.
10162 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10163 Support zfs-fuse.
10164 (grub_guess_root_device): Rename to ...
10165 (grub_guess_root_devices): ... this. Return char **. All users updated.
10166 * util/grub-install.in: Handle multi-device filesystems.
10167 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10168 argument. All users updated.
10169 Handle multi-device filesystems.
10170 Use 'delim' as separator.
10171 Remove device check to allow filesystems on file.
10172 (main): Support -0 argument. Handle multi-device.
10173 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10174 Fix a cross-device check while on it.
10175 (arguments): Remove root_dev.
10176 (argp_parser): Remove -r.
10177 (main): Remove root_dev.
10178
2f53a9ed
VS
101792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10182
17e1d934
VS
101832012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10186 symbol.
10187 Reported by: NODA, Kai <nodakai>.
10188
d3e3fab5
VS
101892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 Fix ehci on amd64.
10192
10193 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10194 pointers.
10195 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10196 (grub_ehci_setup_qh): Likewise.
10197 (grub_ehci_find_qh): Likewise.
10198 (grub_ehci_transaction): Likewise.
10199 (grub_ehci_setup_transfer): Likewise.
10200 (grub_ehci_check_transfer): Likewise.
10201 (grub_ehci_portstatus): Likewise.
10202 (grub_ehci_detect_dev): Likewise.
10203 (grub_ehci_transfer_controller_data): New field td_last_phys.
10204 (grub_ehci_setup_transfer): Fill td_last_phys.
10205 (grub_ehci_check_transfer): Use td_last_phys.
10206
3008675b
SG
102072012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10208
10209 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10210 if no submenu is present.
10211
fc9b5652
AN
102122012-02-01 Aleš Nesrsta <starous@volny.cz>
10213
10214 CBI support.
10215
10216 * include/grub/usb.h (grub_usbms_protocol_t): New values
10217 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10218 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10219 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10220 (grub_usbms_dev): Add subclass, protocol and intrpt.
10221 Remove in_maxsz and out_maxsz.
10222 (grub_usbms_reset): Rename to ...
10223 (grub_usbms_bo_reset): .. this.
10224 (grub_usbms_cbi_cmd): New function.
10225 (grub_usbms_cbi_reset): Likewise.
10226 (grub_usbms_reset): Likewise.
10227 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10228 (grub_usbms_transfer): Rename to ...
10229 (grub_usbms_transfer_bo): ... this.
10230 (grub_usbms_transfer_cbi): Likewise.
10231 (grub_usbms_transfer): Likewise.
10232
a2b81d53
AN
102332012-02-01 Aleš Nesrsta <starous@volny.cz>
102342012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10237 the support for the CS5536 modification thereos and few bugfixes.
10238
10239 * grub-core/Makefile.core.def (ehci): New module.
10240 * grub-core/bus/usb/ehci.c: New file.
10241 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10242 port and hubaddr. All users updated.
10243 Save port and hubaddr into dev structure.
10244 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10245 define.
10246 * include/grub/pci.h (grub_dma_phys2virt): New function.
10247 (grub_dma_virt2phys): Likewise.
10248 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10249
b1d51f02
VS
102502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10253 check as some mkfs implementations omit it.
10254
fc694106
VS
102552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10258
6c0920e3
VS
102592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10262 Add new member volname2.
10263 (grub_jfs_label): Use volname2 if available.
10264
d1a46f9a
VS
102652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10268 over last_mounted as seen in image generated by mkfs.nilfs2.
10269 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10270
dec8ed14
VS
102712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10274 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10275 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10276
7397c69b
VS
102772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10280 over the sector.
10281
b3fe42ad
VS
102822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10285 subvolume name (by removing a bogus and useless check).
10286
10476bb0
VS
102872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10290 sizeof while on it.
10291
9c08ad87
VS
102922012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10295 (grub_scsi_read_capacity10): ... this.
10296 (grub_scsi_read_capacity16): New function.
10297 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10298 0xffffffff.
10299 Fix off-by-one error.
10300 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10301 64-bit unsigned.
10302 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10303 (grub_scsi_read_capacity10): ... this.
10304 (grub_scsi_read_capacity_data): Rename to ...
10305 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10306 (grub_scsi_read_capacity16): New struct.
10307 (grub_scsi_read_capacity16_data): Likewise.
10308 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10309 grub_scsi_cmd_read_capacity10.
10310 New command grub_scsi_cmd_read_capacity16.
10311
bc8d0f45
VS
103122012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 SCSI >2TiB support.
10315
10316 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10317 (grub_scsi_write16): Likewise.
10318 (grub_scsi_read): Use read16 when necessary.
10319 (grub_scsi_write): Likewise.
10320 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10321 (grub_scsi_write16): Likewise.
10322 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10323
cc774926
VS
103242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 SCSI write support (for usbms mainly).
10327
10328 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10329 a const pointer.
10330 (grub_scsi_write): Implement.
10331 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10332
67639fd7
VS
103332012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10336 variable.
10337
9079d3ed
VS
103382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10341
c6a6f204
VS
103422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * po/POTFILES.in: Regenerate.
10345
ecbf8cd1
VS
103462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10349 with grub_printf to avoid unnecessary fatal failure.
10350
0b3b3b38
VS
103512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10354 (INT_MAX): Likewise.
10355 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10356 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10357 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10358 (strcpy): Likewise.
10359 (strstr): Likewise.
10360 (strchr): Likewise.
10361 (strncpy): Likewise.
10362 (strcat): Likewise.
10363 (strncat): Likewise.
10364 (strcoll): Likewise.
10365 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10366 (GRUB_INT_MAX): Likewise.
10367
db7337a3
VS
103682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10371 unexpected error.
10372 (optimize_utf8): Likewise.
10373 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10374
f37c87e1
VS
103752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/boot/i386/pc/lnxboot.S: Use
10378 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10379 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10380 location.
10381 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10382 definition.
10383 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10384
63fe43f3
VS
103852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10388 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10389 now to avoid double free.
10390 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10391 hostdisk.
10392 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10393 * util/grub-probe.c (escape_of_path): Always return a new copy.
10394 (print_full_name): Escape path.
10395 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10396 Fix hints on abstractions.
10397
ebe2c961
VS
103982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10401 Don't add "root" line if no compatibility hont is available.
10402 Suggested by: Seth Goldberg.
10403
2b5336a2
VS
104042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10407 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10408 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10409 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10410
74310bd8
VS
104112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10414
c30582ba
VS
104152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * util/grub-pe2elf.c (ehdr): Make static.
10418 (shdr): Likewise.
10419 (num_sections): Likewise.
10420 (offset): Likewise.
10421
5f47782c
VS
104222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Eliminate ofpath limits and possible overflows.
10425
10426 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10427 (OF_PATH_MAX): Removed.
10428 (MAX_DISK_CAT): New const.
10429 (find_obppath): Use allocated rather than preallocated buffer.
10430 Return result. Argument of_path removed. All users updated.
10431 Add missing fdstat.
10432 (xrealpath): New function.
10433 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10434 Allocate rather than use preallocated buffer. All users updated.
10435 (__of_path_common): Use allocated rather than preallocatecd buffer.
10436 Return result. Argument of_path removed. All users updated.
10437 (vendor_is_ATA): Read only needed part form the file.
10438 (check_sas): Allocate depending on contents rather than fixed.
10439 (main) [STANDALONE]: Handle NULL result.
10440
f990cbf9
VS
104412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10444
9c6e84b8
VS
104452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 Cryptodisk write support.
10448
10449 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10450 (grub_cryptodisk_decrypt): Moved logic to ...
10451 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10452 (grub_cryptodisk_write): Implement.
10453 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10454 (grub_util_fd_write): ... this. Make global.
10455 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10456
87cf9744
VS
104572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/list.h (grub_list_remove): Don't crash if element is
10460 removed twice.
10461
ca8c0baf
VS
104622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Rename ofconsole to console.
10465
10466 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10467 as sysnonym to console.
10468 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10469 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10470 Rename grub_ofconsole_ to grub_console_. All users updated
10471 (grub_console_term_output): Rename "ofconsole" to "console".
10472 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10473 as "console".
10474
64c8b8f6
VS
104752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10478 handling.
10479 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10480 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10481 GRUB_DISK_DEVICE_FILE_ID.
10482
f6c434d5
VS
104832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10486 and improve performance.
10487
5858b42d
VS
104882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10491 missing ieee1275/ prefix on whole disk.
10492
4ed3c26b
VS
104932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10496 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10497
df71143e
VS
104982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10501
076e7c0f
VS
105022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 Merge common RAID and LVM logic to an abstract diskfilter.
10505 Add LDM support using the same framework.
10506
10507 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10508 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10509 (libgrubmods): Remove grub-core/disk/raid.c and
10510 grub-core/partmap/gpt.c.
10511 * grub-core/Makefile.core.def (ldm): New module.
10512 (raid): Renamed to diskfilter. All users updated.
10513 * grub-core/disk/raid.c: Moved to ...
10514 * grub-core/disk/diskfilter.c: ... here.
10515 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10516 (lv_num): New var.
10517 (find_array): Renamed to ...
10518 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10519 (grub_is_array_readable): Renamed to ...
10520 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10521 (insert_array): New argument id.
10522 (is_node_readable): New function.
10523 (scan_device): Rename to ...
10524 (scan_disk): .. this. Restrict to one disk.
10525 (scan_devices): New function.
10526 (grub_diskfilter_iterate): Support multi-LV.
10527 Skip invisible and nameless LVs.
10528 (grub_diskfilter_memberlist): Support multi-LV.
10529 (grub_diskfilter_read_node): New function.
10530 (grub_raid_read): Most of logic moved to ...
10531 (read_segment): ... here
10532 (read_lv): New function.
10533 (grub_diskfilter_get_vg_by_uuid): New function.
10534 (grub_diskfilter_make_raid): Likewise.
10535 * grub-core/disk/ldm.c: New file.
10536 * grub-core/disk/lvm.c (vg_list): Removed.
10537 (lv_count): Likewise.
10538 (scan_depth): Likewise.
10539 (is_lv_readable): Likewise.
10540 (grub_lvm_getvalue): Advance pointer past the number.
10541 (find_lv): Removed.
10542 (do_lvm_scan): Refactored into ...
10543 (grub_lvm_detect): ... this. Support raid.
10544 (grub_lvm_iterate): Removed.
10545 (grub_lvm_memberlist): Likewise.
10546 (grub_lvm_open): Likewise.
10547 (grub_lvm_close): Likewise.
10548 (read_lv): Likewise.
10549 (read_node): Likewise.
10550 (is_node_readable): Likewise.
10551 (is_lv_readable): Likewise.
10552 (grub_lvm_read): Likewise.
10553 (grub_lvm_write): Likewise.
10554 (grub_lvm_dev): Use diskfilter
10555 (GRUB_MOD_INIT): Likewise.
10556 (GRUB_MOD_FINI): Likewise.
10557 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10558 new interface.
10559 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10560 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10561 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10562 grub_diskfilter_read_node.
10563 Fix a bug with xor.
10564 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10565 grub_diskfilter_read_node.
10566 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10567 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10568 (grub_disk_dev_iterate): Move from here...
10569 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10570 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10571 Make global.
10572 (grub_hostdisk_find_partition_start): Likewise.
10573 (grub_hostdisk_os_dev_to_grub_drive): New function.
10574 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10575 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10576 * util/getroot.c (make_device_name): ... here.
10577 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10578 Move to ...
10579 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10580 * grub-core/kern/emu/hostdisk.c
10581 (convert_system_partition_to_system_disk): Move to ...
10582 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10583 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10584 * util/getroot.c (device_is_wholedisk): ... here.
10585 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10586 * util/getroot.c (find_system_device): ... here.
10587 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10588 Move to ...
10589 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10591 Move to ...
10592 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10593 Handle LDM.
10594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10595 Move to ...
10596 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10597 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10598 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10599 DISKFILTER.
10600 * include/grub/raid.h: Renamed to ...
10601 * include/grub/diskfilter.h: ... this.
10602 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10603 (GRUB_RAID_LAYOUT_*): Make into array.
10604 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10605 (grub_diskfilter_vg): New struct.
10606 (grub_diskfilter_pv_id): Likewise.
10607 (grub_raid_member): Removed.
10608 (grub_raid_array): Likewise.
10609 (grub_diskfilter_pv): New struct.
10610 (grub_diskfilter_lv): Likewise.
10611 (grub_diskfilter_segment): Likewise.
10612 (grub_diskfilter_node): Likewise.
10613 (grub_diskfilter_get_vg_by_uuid): New proto.
10614 (grub_raid_register): Inline.
10615 (grub_diskfilter_unregister): Likewise.
10616 (grub_diskfilter_make_raid): New proto.
10617 (grub_diskfilter_vg_register): Likewise.
10618 (grub_diskfilter_read_node): Likewise.
10619 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10620 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10621 (grub_util_is_ldm): Likewise.
10622 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10623 (grub_hostdisk_find_partition_start): Likewise.
10624 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10625 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10626 New definition.
10627 (grub_gpt_partition_map_iterate): New proto.
10628 * include/grub/lvm.h (grub_lvm_vg): Removed.
10629 (grub_lvm_pv): Likewise.
10630 (grub_lvm_lv): Likewise.
10631 (grub_lvm_segment): Likewise.
10632 (grub_lvm_node): Likewise.
10633 * util/getroot.c [...]
10634 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10635 (probe_abstraction): Likewise.
10636 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10637 (main): Remove dead logic.
10638
8a7f9b9c
VS
106392012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 Simplify root device discover and don't fail when trying to open
10642 incorrect devices.
10643
10644 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10645 function.
10646 (get_diskname_from_path): Likewise.
10647 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10648 of iterating.
10649
30545b85
VS
106502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10653
28ea58cf
VS
106542012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10657 pastthe end.
10658
692dabca
VS
106592012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * util/grub-install.in: Add missing \.
10662 Reported by: gentoofan
10663
f6e4ea70
VS
106642012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10667 (direct_read): Use correct compressed size.
10668 (grub_squash_read_data): Likewise.
10669
106702012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10671
10672 * docs/grub.texi (Platform limitations): New section.
10673 (Platform-specific operations): Likewise.
10674 * docs/grub-dev.texi (Porting): Likewise.
10675
76261110
VS
106762012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 IEEE1275 disk write support.
10679
10680 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10681 const void *.
10682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10683 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10684 and seek loginc to ...
10685 (grub_ofdisk_prepare): ... here.
10686 (grub_ofdisk_write): Implement.
10687
fc36d603
VS
106882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 ARC disk write support.
10691
10692 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10693 (reopen): New argument writable. All users updated.
10694 Handle required access mode.
10695 (grub_arcdisk_write): Implement.
10696 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10697 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10698
e06c2e7a
VS
106992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10702 (read_sblock): Don't attempt to read superblocks outside the disk size.
10703
ff447958
VS
107042012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10707 first superblock to find the second one when possible.
10708
9e88df39
VS
107092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * util/grub-install.in: Fix an ARC bug.
10712 Print a warning if no platform-specific setup is available.
10713
bb26e4ff
VS
107142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 Use static allocation rather than scratch pointer in reed_solomon.
10717 It decreases its size significantly and avoids a variable in .text.
10718
10719 * grub-core/lib/reed_solomon.c (scratch): Removed.
10720 (chosenstat): New const or static array.
10721 (sigma): Likewise.
10722 (errpot): Likewise.
10723 (errpos): Likewise.
10724 (sy): Likewise.
10725 (mstat): Likewise.
10726 (errvals): Likewise.
10727 (eqstat): Likewise.
10728 (pol_evaluate): Replace x with log_x argument. All users updated.
10729 (syndroms): Removed.
10730 (gauss_solve): Use statically allocated arrays.
10731 (rs_recover): Likewise.
10732 Calculate syndroms directly.
10733 (decode_block): Use statically allocated arrays.
10734 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10735 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10736
2e13ede5
VS
107372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Eliminate fixed limit on reed solomon decoder length.
10740
10741 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10742 rather than hardcoding the address.
10743 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10744 no_reed_solomon_length.
10745 Move gate_a20 to no-reed-solomon part.
10746 Don't force a particular size of no reed-solomon part.
10747 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10748 Removed.
10749 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10750 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10751
f8a9ab12
VS
107522012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/commands/wildcard.c (match_files): Handle filenames
10755 without explicit device.
10756 (wildcard_expand): Don't add explicit device if not already present.
10757 * tests/grub_script_echo1.in: Add a new expansion test.
10758
87edb894
VS
107592012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Replace single-linked with double-linked lists. It results in more
10762 compact and more efficient code.
10763
10764 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10765 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10766 (grub_list_remove): Moved from here ...
10767 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10768 (grub_prio_list_insert): Set prev.
10769 * include/grub/list.h (grub_list): Add prev. All users updated.
10770
48b391e9
VS
107712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 Handle newer autotools. Add some missing quotes while on it.
10774
10775 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10776 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10777 (pkgdata_DATA): ... here.
10778 * Makefile.util.def (update-grub_lib): Removed.
10779 * conf/Makefile.common (pkglib_DATA): Removed.
10780 (pkglib_SCRIPTS): Likewise.
10781 (pkgdata_DATA): New variable.
10782 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10783 needed.
10784 Add missing quotes.
10785 Remove unused variable while on it.
10786 * tests/util/grub-shell.in: Likewise.
10787 * util/grub-install.in: Likewise.
10788 * util/grub-mkconfig.in: Likewise.
10789 * util/grub-mknetdir.in: Likewise.
10790 * util/grub-mkrescue.in: Likewise.
10791 * util/grub-mkstandalone.in: Likewise.
10792 * util/grub.d/00_header.in: Likewise.
10793 * util/grub.d/10_hurd.in: Likewise.
10794 * util/grub.d/10_illumos.in: Likewise.
10795 * util/grub.d/10_kfreebsd.in: Likewise.
10796 * util/grub.d/10_linux.in: Likewise.
10797 * util/grub.d/10_netbsd.in: Likewise.
10798 * util/grub.d/10_windows.in: Likewise.
10799 * util/grub.d/20_linux_xen.in: Likewise.
10800 * util/grub.d/30_os-prober.in: Likewise.
10801 * util/update-grub_lib.in: Removed.
10802
108032012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10804
10805 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10806 a workaround for intel problem.
10807
66832792
PRP
108082012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
108092012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
108102012-01-23 pfsmorigo
10811
10812 * util/grub-install.in: Support dd'in into PreP partition.
10813 * util/grub-probe.c (probe): Support discovering partition type.
10814 (main): Support -t msdos_parttype.
10815
7816a17e
VS
108162012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10819 infinite recursion using counter.
10820 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10821 init to skip it if the magic check fails.
10822 (dec_stream_header): Init s->crc32.
10823
8f9d3a8c
ZB
108242012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
108252012-01-22 Zachary Bedell <pendorbound@gmail.com>
108262012-01-22 Richard Laager <rlaager@wiktel.com>
10827
10828 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10829 All users updated.
10830 (find_bestub): Determine correct size.
10831 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10832 (scan_disk): Align the size down.
10833 Call check pool before find_bestub to have ashift.
10834
b055dd32
VS
108352012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10838 dprintf in no-malloc zone.
10839
d779e9bd
ML
108402012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10841
10842 * configure.ac: Add back in test for limits.h.
10843
b508af69
VS
108442012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 Support 4K-sector NTFS.
10847
10848 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10849 (grub_ntfs_data): Remove blocksize.
10850 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10851 Remove data argument. All users updated.
10852
dad9c8b5
VS
108532012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10856 being in .text to avoid dprel references.
10857 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10858 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10859 (grub_arch_highmemsize): Likewise.
10860 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10861 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10862 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10863
d43a777e
VS
108642012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10867
10868 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10869 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10870
34e4208f
VS
108712012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10874 GRUB_UTIL.
10875 (grub_set_datetime_cmos): Likewise.
10876
3ec0fc1c
VS
108772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 Make XZ compression parameters dependent on target and not host CPU.
10880
10881 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10882 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10883
22489834
VS
108842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10887 set but not used variable.
10888
8502fbca
VS
108892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10892 created when no uuid support is compiled into mkfs.reiser.
10893
76df2068
VS
108942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10897 (utf8_to_macroman): Do the opposite.
10898 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10899
64e3f8f6
VS
109002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * configure.ac: Refise build qemu_mips w/o unifont.
10903
9c271078
VS
109042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 Eliminate grub_min/grub_max prone to overflow usage.
10907
10908 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10909 (poll_nonroot_hub): Likewise.
10910 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10911 (grub_affs_label): Likewise.
10912 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10913 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10914 (grub_hfs_label): Likewise.
10915 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10916 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10917 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10918 (zap_leaf_array_get): Likewise.
10919 (dnode_get_path): Likewise.
10920 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10921 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10922 * grub-core/script/execute.c (grub_script_break): Likewise.
10923 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10924 grub_max.
10925 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10926 * include/grub/misc.h (grub_min): Removed.
10927 (grub_max): Likewise.
10928
80662dbc
VS
109292012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10930
10931 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10932 direct.inode = 0.
10933
e6da1467
VS
109342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10937
b1ac4cb1
VS
109382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10941
b4bf7c3b
VS
109422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10945 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10946
8ee1101a
VS
109472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10950 rather than a hack for grub_strncasemap.
10951
109522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 Support multiple initrds
10955 Note: part of this was accidently committed in r3739.
10956
10957 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10958 initrd.
10959 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10960 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10961 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10962 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10963 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10964
4d1e2bc9
VS
109652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10968 disks with unknown size.
10969 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10970
75b49ebe
VS
109712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 Remove defines pertaining to arbitrary limits not affecting GRUB
10974 anymore.
10975
10976 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10977 (EXT2_MAX_SYMLINKCNT): Likewise.
10978 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10979 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10980 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10981 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10982 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10983 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10984 (DN_MAX_OBJECT_SHIFT): Likewise.
10985 (DN_MAX_OFFSET_SHIFT): Likewise.
10986 (DN_MAX_OBJECT): Likewise.
10987 (DNODES_PER_LEVEL_SHIFT): Likewise.
10988 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10989 (SPA_MAXBLOCKSIZE): Likewise.
10990 (SPA_BLOCKSIZES): Likewise.
10991 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10992 (MZAP_MAX_BLKSZ): Likewise.
10993
74a1dce7
VS
109942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10997 handle NULL appropriately.
10998 Remove MIN.
10999
30c7d3ce
VS
110002012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 Fix efiemu.
11003
11004 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11005 cpu/types.h.
11006 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11007 * configure.ac: Fix efiemu check.
11008
3c76ea0c
VS
110092012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11012 grub_probe.
11013 Reported by: adamwill
11014
7e532280
SG
110152012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11016
11017 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11018
30492374
VS
110192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 Fix handling of wide characters in gfxterm.
11022
11023 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11024 (clear_char): Likewise.
11025 (paint_char): Skip code == NULL chars.
11026 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11027
e70cb72f
VS
110282012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * grub-core/normal/charset.c: Move comment to right place.
11031
5c827cf9
VS
110322012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11035 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11036 (grub_affs_mount): Revert the correct version checking.
11037
53603892
VS
110382012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * docs/grub.texi (Unicode): Mention several other unsupported features.
11041
ff094b9b
VS
110422011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11045 case statements as compile-time one.
11046 (direct_read): Prevent spurious warnings.
11047 (grub_squash_read_data): Likewise.
11048
c029da8a
VS
110492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 Various squash4 fixes and LZO and XZ support.
11052
11053 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11054 Add xzembed source files.
11055 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11056 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11057 (grub_squash_inode): New subtype long_dir.
11058 (SQUASH_TYPE_LONG_DIR): New inode type.
11059 (COMPRESSION): New enum.
11060 (XZBUFSIZ): New const.
11061 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11062 (read_chunk): Use data->decompress.
11063 (zlib_decompress): New function.
11064 (lzo_decompress): Likewise.
11065 (xz_decompress): Likewise.
11066 (squash_mount): Set new data fields.
11067 (grub_squash_iterate_dir): Handle long dir.
11068 (squash_unmount): Free xzdec and xzbuf.
11069 (grub_squash_open): Check ino type.
11070 (direct_read): Stylistic fixes. Use data->decompress.
11071 (grub_squash_read_data): Likewise.
11072 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11073 (get_byte): Likewise.
11074 (grub_zlib_disk_read): Removed.
11075 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11076 (GRUB_POSIX_BOOL_DEFINED): New define.
11077 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11078 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11079 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11080 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11081
7a45a539
VS
110822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 Don't override more informative errors.
11085
11086 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11087 * grub-core/font/font.c (open_section): Likewise.
11088 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11089 filename. Don't override errors.
11090 (grub_cmd_openbsd_ramdisk): Don't override errors.
11091 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11092 (grub_cmd_initrd): Likewise.
11093 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11094 (grub_cmd_initrd): Likewise.
11095 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11096 (grub_cmd_linux): Likewise.
11097 (grub_cmd_initrd): Likewise.
11098 (grub_cmd_payload): Likewise.
11099 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11100 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11101 (grub_cmd_module): Likewise.
11102 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11103 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11104 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11105 (grub_cmd_xnu_mkext): Likewise.
11106 (grub_cmd_xnu_ramdisk): Likewise.
11107 (grub_xnu_check_os_bundle_required): Likewise.
11108 (grub_xnu_load_kext_from_dir): Likewise.
11109 (grub_cmd_xnu_kextdir): Likewise.
11110 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11111
b2d004db
VS
111122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11115 as 1024 in block size field. Found on one of my test images.
11116 Small optimisation while on it.
11117
ec000eac
VS
111182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11121 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11122 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11123 performance fixes while on it.
11124 (grub_sfs_close): Fix memory leak while on it.
11125 (grub_sfs_label): Convert Latin1 to UTF-8.
11126
f50e1165
VS
111272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11130 space to avoid overflows.
11131 (grub_hfs_label): Convert from macroman to UTF-8.
11132
2ae254de
VS
111332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11136
0108f491
VS
111372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11140
f45f5f89
VS
111412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * unicode: Import Unicode 6.0 data.
11144
4d8c4765
VS
111452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11146
63fa8ef9
VS
11147 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11148 outside of range.
11149
111502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11153
11154 * include/grub/charset.h (grub_getend): New function.
11155 * grub-core/script/function.c (grub_script_function_find): Use
11156 grub_getend.
11157 * grub-core/normal/completion.c (add_completion): Likewise.
11158
f3cb4a4e
VS
111592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11162 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11163 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11164 (GRUB_UNICODE_TAG_END): Likewise.
11165 (GRUB_UNICODE_LAST_VALID): Likewise.
11166
5da8dbc5
VS
111672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11170 len and make it smaller. All users updated.
11171 * util/import_unicode.py: Put length and not end character.
11172 Check length.
11173
8569f13d
VS
111742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 Make better Unicode-compliant and unify some UTF-8 code pathes.
11177
11178 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11179 valid character.
11180 (grub_is_valid_utf8): Use grub_utf8_process.
11181 Check resulting code range.
11182 (grub_utf8_to_ucs4): Use grub_utf8_process.
11183 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11184 valid character.
11185
cc4fddf5
VS
111862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11189
bbc47747
VS
111902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * docs/grub.texi (Filesystems): Mention AFS.
11193
f63d6bf4
VS
111942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * docs/grub.texi (Filesystems): Clarify restrictions.
11197 (Regexp): Mention non-Unicode regexp behaviour.
11198 (Other): Mention non-Unicode matching behaviour.
11199
74bbf0db
VS
112002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11201
f63d6bf4 11202 Make HFS implementation use MacRoman.
74bbf0db
VS
11203
11204 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11205 (macroman): New const array.
11206 (macroman_to_utf8): New function.
11207 (utf8_to_macroman): Likewise.
11208 (grub_hfs_find_dir): Use utf8_to_macroman.
11209 (grub_hfs_dir): Use macroman_to_utf8.
11210 Set case_insensitive.
11211
4ea0316e
VS
112122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11215
d3c13cbd
VS
112162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 Integrate hints into autogeneration scripts.
11219
11220 * docs/grub.texi (Filesystems): Add a hostdisk example.
11221 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11222 (grub-probe): Add ofpath.
11223 * gentpl.py: Remove group nosparc64.
11224 * grub-core/commands/search.c (cache_entry): New struct.
11225 (cache): New var.
11226 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11227 * grub-core/commands/search_wrap.c (options): Add platform-specific
11228 hint options.
11229 (grub_cmd_search): Handle platform-specific hints.
11230 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11231 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11232 (grub_util_biosdisk_data): Likewise.
11233 (grub_util_biosdisk_open): Set device_map.
11234 (read_device_map): Handle "" as indication of no map.
11235 Set device_map.
11236 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11237 (grub_util_biosdisk_get_compatibility_hint): New function.
11238 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11239 * include/grub/emu/hostdisk.h
11240 (grub_util_biosdisk_get_compatibility_hint): New proto.
11241 * util/grub-install.in: Don't call grub-mkdevicemap.
11242 Add platform-specific hint to load.cfg.
11243 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11244 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11245 hints. Set root preliminary to compatibility hint, not to OS name.
11246 * util/grub-probe.c (PRINT_*): Add hints.
11247 (print): Make static.
11248 (escape_of_path): New function.
11249 (guess_bios_drive): Likewise.
11250 (guess_efi_drive): Likewise.
11251 (guess_baremetal_drive): Likewise.
11252 (print_full_name): Likewise.
11253 (probe): Handle hints.
11254 (main): Likewise.
11255 * util/ieee1275/devicemap.c: Removed.
11256 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11257 updated.
11258 (grub_util_devname_to_ofpath): Return NULL on failure.
11259
11260 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11261 resource leak.
11262 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11263
11264 * po/POTFILES.in: Regenerated.
11265
11266 Allow purely long options
11267
11268 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11269 (SHORT_ARG_USAGE): Likewise.
11270 (grub_arg_show_help): Compare opt with help_options.
11271 (parse_option): Receive opt as argument. If makes big simplificatons.
11272 All users updated
11273
00ce2df3
VS
112742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11277 Restructure to avoid warning.
11278
e77e325f
VS
112792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * util/grub-install.in: Account for possible escaped comma in device
11282 name.
11283
165099ea
VS
112842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11287 channel.
11288
ce4a999d
VS
112892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11292 allocation and zero-setting.
11293 (grub_ieee1275_get_devname): Check that alias is complete.
11294
379586ad
VS
112952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11298 unaligned segments.
11299
9197b0ad
VS
113002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11303 prefix.
11304 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11305 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11306 Add ieee1275 prefix.
11307
edddb7f9
VS
113082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * docs/grub.texi (Filesystems): Update.
11311
a1a8b1b9
VS
113122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 Support odc, newc and bigendian cpio formats.
11315
11316 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11317 * grub-core/Makefile.core.def (newc): New module.
11318 (odc): Likewise.
11319 (cpio_be): Likewise.
11320 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11321 (MAGIC): Likewise.
11322 (MAGIC2): Likewise.
11323 (head) [MODE_ODC]: Adapt for the format.
11324 (head) [MODE_NEWC]: Likewise.
11325 (head) [!MODE_*]: Write fields of interest as arrays.
11326 (MAGIC_USTAR): Removed.
11327 (read_number) [MODE_NEWC]: Change to hex.
11328 (read_number) [!MODE_*]: Parse binary arrays.
11329 (grub_cpio_find_file): Factor out the code for better structure and
11330 always use read_number.
11331 (grub_cpio_mount): Use MAGIC and MAGIC2.
11332 (grub_cpio_dir): Exit on first hook non-0 return.
11333 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11334 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11335 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11336 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11337 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11338 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11339 * grub-core/fs/newc.c: New file.
11340 * grub-core/fs/odc.c: Likewise.
11341 * grub-core/fs/cpio_be.c: Likewise.
11342
58eba9ee
VS
113432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 Fix handling of tar numbers occupying the whole field.
11346
11347 * grub-core/fs/cpio.c (read_number): New function.
11348 (grub_cpio_find_file): Use read_number instead of strtoull.
11349
a54a0e12
VS
113502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11353 occupying the whole field size.
11354
a6120aca
LA
113552011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11356
11357 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11358
a93964ce
VS
113592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11362
3ea1ca46
SG
113632011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11364
11365 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11366 TARGET_IMG_LDFLAGS.
11367
b87f7ef2
VS
113682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11371 (mountinfo_entry): Increase the field size to take escaping into
11372 account.
11373 (find_root_device_from_libzfs): Add one byte to size of strings for
11374 security.
11375
62092395
VS
113762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11379 an assert.
11380 * util/grub-setup.c (setup): Likewise.
11381
1f0b1a77
VS
113822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11385 _LzmaDecodeA.
11386
8eba9997
VS
113872011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * docs/grub.texi (Internationalisation): New section.
11390
dd0c91e9
VS
113912011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * docs/grub.texi (Loopback booting): New section.
11394
113952011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11396
11397 * util/grub-mkstandalone.in: Fix minor typo errors.
11398
198e150a
VS
113992011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11402
11403 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11404 net/icmp.c and net/icmp6.c.
11405 (http): New module.
11406 (priority_queue): Likewise.
11407 * grub-core/io/bufio.c: Rewritten.
11408 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11409 TYPE_WITH_CONFIGFILE_OPTION.
11410 (legacy_commands): Add bootp and dhcp.
11411 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11412 (grub_legacy_parse): Likewise.
11413 * grub-core/lib/priority_queue.c: New file.
11414 * grub-core/net/arp.c: Add missing license header.
11415 (arp_find_entry): Removed.
11416 (arp_find_entry): Likewise.
11417 (grub_net_arp_resolve): Rename to ...
11418 (grub_net_arp_send_request): ...this.
11419 (grub_net_arp_receive): New card argument.
11420 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11421 Set router and DNS server.
11422 (grub_net_configure_by_dhcp_ack): Handle routing information.
11423 (grub_cmd_bootp): Set checksum.
11424 (grub_bootp_init): Remove net_dhcp.
11425 * grub-core/net/dns.c: New file.
11426 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11427 completion.
11428 (get_card_packet): Handle allocation.
11429 (grub_efinet_findcards): Set mtu.
11430 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11431 (get_card_packet): Handle allocation.
11432 (emucard): Set mtu.
11433 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11434 (GRUB_MOD_INIT): Set mtu.
11435 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11436 mtu.
11437 (get_card_packet): Handle allocation.
11438 (grub_ofnet_findcards): Set mtu.
11439 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11440 assert.
11441 (grub_net_recv_ethernet_packet): Handle IPv6.
11442 * grub-core/net/http.c: New file.
11443 * grub-core/net/icmp.c: Likewise.
11444 * grub-core/net/icmp6.c: Likewise.
11445 * grub-core/net/ip.c (ip6addr): New type.
11446 (ip6hdr): Likewise.
11447 (reassemble): Likewise.
11448 (cmp): New function.
11449 (reassembles): New variable.
11450 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11451 (id): New variable.
11452 (send_fragmented): New function.
11453 (grub_net_send_ip_packet): Rename to ...
11454 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11455 Handle non-UDP.
11456 (grub_net_recv_ip_packets): Rename to ...
11457 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11458 (free_rsm): New function.
11459 (free_old_fragments): Likewise.
11460 (grub_net_recv_ip4_packets): New function.
11461 (grub_net_send_ip6_packet): Likewise.
11462 (grub_net_send_ip_packet): Likewise.
11463 (grub_net_recv_ip6_packets): Likewise.
11464 (grub_net_recv_ip_packets): Likewise.
11465 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11466 (LINK_LAYER_CACHE_SIZE): New const.
11467 (link_layer_find_entry): New function.
11468 (grub_net_link_layer_add_address): Likewise.
11469 (grub_net_link_layer_resolve_check): Likewise.
11470 (grub_net_link_layer_resolve): Likewise.
11471 (grub_net_ipv6_get_slaac): Likewise.
11472 (grub_net_ipv6_get_link_local): Likewise.
11473 (grub_cmd_ipv6_autoconf): Likewise.
11474 (parse_ip): Handle one number representation.
11475 (parse_ip6): New functoion.
11476 (match_net): Handle IPv6.
11477 (grub_net_resolve_address): Handle IPv6 and DNS.
11478 (grub_net_resolve_net_address): Handle IPv6.
11479 (route_cmp): New function.
11480 (grub_net_route_address): Find best route.
11481 (grub_net_addr_to_str): Handle IPv6.
11482 (grub_net_addr_cmp): New function.
11483 (grub_net_add_addr): Register local route.
11484 (print_net_address): Handle net address.
11485 (grub_net_poll_cards): Retransmit TCP.
11486 (grub_net_poll_cards_idle_real): Likewise.
11487 (have_ahead): New function.
11488 (grub_net_seek_real): Use underlying seek.
11489 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11490 * grub-core/net/tcp.c: New file.
11491 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11492 (cmp): New function.
11493 (ack): Likewise.
11494 (tftp_receive): Handle unordered input.
11495 (destroy_pq): New function.
11496 (tftp_close): Close pq.
11497 * grub-core/net/udp.c: Put missing license header.
11498 (grub_net_udp_socket): New function.
11499 (udp_socket_register): Likewise.
11500 (grub_net_udp_close): Likewise.
11501 (grub_net_recv_udp_packet): Check checksum.
11502 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11503 * include/grub/misc.h (grub_memchr): New function.
11504 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11505 (grub_net_card_driver): Return buf in recv.
11506 (grub_net_slaac_mac_list): New struct.
11507 (grub_network_level_protocol_id): Add ipv6.
11508 (grub_net_network_level_addr): Likewise.
11509 (grub_net_network_level_net_addr): Likewise.
11510 (grub_net_app_protocol): Add seek.
11511 (grub_net_socket): Removed.
11512 (grub_net_sockets): Likewise.
11513 (grub_net_socket_register): Likewise.
11514 (grub_net_socket_unregister): Likewise.
11515 (FOR_NET_SOCKETS): Likewise.
11516 (grub_net_add_addr): Add const.
11517 (GRUB_NET_BOOTP_*): New enum.
11518 (grub_net_addr_cmp): New proto.
11519 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11520 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11521 (grub_net_hwaddr_to_str): NEw proto.
11522 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11523 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11524 (grub_dns_init): New proto.
11525 (grub_dns_fini): Likewise.
11526 (grub_net_tcp_retransmit): Likewise.
11527 (grub_net_link_layer_add_address): Likewise.
11528 (grub_net_link_layer_resolve_check): Likewise.
11529 (grub_net_link_layer_resolve): Likewise.
11530 (grub_net_dns_lookup): Likewise.
11531 (grub_net_add_dns_server): Likewise.
11532 (grub_net_remove_dns_server): Likewise.
11533 (GRUB_NET_TRIES): New const.
11534 (GRUB_NET_INTERVAL): Likewise.
11535 * include/grub/net/arp.h: Mostly rewritten.
11536 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11537 * include/grub/net/ip.h: Mostly rewritten.
11538 * include/grub/net/netbuff.h: Indent.
11539 * include/grub/net/tcp.h: New file.
11540 * include/grub/net/udp.h: Mostly rewritten.
11541 * include/grub/priority_queue.h: New file.
11542 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11543 (grub_swap_bytes64_compile_time): Likewise.
11544 (grub_cpu_to_be16_compile_time): Likewise.
11545 (grub_cpu_to_be32_compile_time): Likewise.
11546 (grub_cpu_to_be64_compile_time): Likewise.
11547 (grub_be_to_cpu64_compile_time): Likewise.
11548
215c1800
VS
115492011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11552 UINT_TO_PTR with cast.
11553
c17e546c
VS
115542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11557 don't use them.
11558
ff6b18b6
VS
115592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11562 already there.
11563
70ffcc93
VS
115642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11567 confusing ipxe.
11568
e5f4d260
VS
115692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11572 Add missing const attribute.
11573 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11574 Likewise.
11575 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11576 Likewise.
11577
8e54b4b7
VS
115782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11581 misaligned access.
11582 (serpent_setkey): Likewise.
11583 (serpent_encrypt_internal): Likewise.
11584 (serpent_decrypt_internal): Likewise.
11585 (serpent_encrypt): Don't put an alignment-increasing cast.
11586 (serpent_decrypt): Likewise.
11587 (serpent_test): Likewise.
11588
813c0a2b
VS
115892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11592
f2b60fbd
VS
115932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11596
11597 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11598 grub_addr_t casts.
11599 (PTR_TO_UINT64): Likewise.
11600 (PTR_TO_UINT32): Likewise.
11601
5ef5c511
VS
116022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11605 because of stack.
11606 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11607 limit.
11608
c476e6df
VS
116092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11612 text_width > available width a bit more gracefully.
11613
384ad7cc
VS
116142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11617 current address calculation.
11618
96f8caf8
VS
116192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11622 stack.
11623 (encode_block): Likewise.
11624
276b7a8b
VS
116252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11628 certainety.
11629
e3fd394a
VS
116302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11633 non-RS part to avoid RS messing with GDT.
11634 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11635 Increase to suit in realmode routines.
11636
116372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/kern/i386/realmode.S: Increase alignment.
11640 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11641
ee9c2e7a
VS
116422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11645 be deterministic.
11646 (syndroms): Compute 0 syndrom.
11647 (rs_recover): Use 0 syndrom.
11648
7a7f7cc9
VS
116492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11652
a14b16d1
VS
116532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11656 brackets.
11657
9f59e9fc
VS
116582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11659
ca1b552c
VS
11660 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11661 account.
11662 (get_top_pad): Likewise.
11663 (get_right_pad): Likewise.
11664 (get_bottom_pad): Likewise.
11665
116662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11669
e739d698
VS
116702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11673 attribute as the structure isn't guaranteed to be properly aligned.
11674 (grub_efi_pci_device_path): Likewise.
11675 (grub_efi_pccard_device_path): Likewise.
11676 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11677 specify the size of `memory_type'.
11678 (grub_efi_vendor_device_path): Likewise.
11679 (grub_efi_controller_device_path): Likewise.
11680 (grub_efi_acpi_device_path): Likewise.
11681 (grub_efi_expanded_acpi_device_path): Likewise.
11682 (grub_efi_atapi_device_path): Likewise.
11683 (grub_efi_scsi_device_path): Likewise.
11684 (grub_efi_fibre_channel_device_path): Likewise.
11685 (grub_efi_1394_device_path): Likewise.
11686 (grub_efi_usb_device_path): Likewise.
11687 (grub_efi_usb_class_device_path): Likewise.
11688 (grub_efi_i2o_device_path): Likewise.
11689 (grub_efi_mac_address_device_path): Likewise.
11690 (grub_efi_ipv4_device_path): Likewise.
11691 (grub_efi_ipv6_device_path): Likewise.
11692 (grub_efi_infiniband_device_path): Likewise.
11693 (grub_efi_uart_device_path): Likewise.
11694 (grub_efi_vendor_messaging_device_path): Likewise.
11695 (grub_efi_hard_drive_device_path): Likewise.
11696 (grub_efi_cdrom_device_path): Likewise.
11697 (grub_efi_vendor_media_device_path): Likewise.
11698 (grub_efi_file_path_device_path): Likewise.
11699 (grub_efi_protocol_device_path): Likewise.
11700 (grub_efi_piwg_device_path): Likewise.
11701 (grub_efi_bios_device_path): Likewise.
11702
cb8f88ea
VS
117032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11706 (grub_ucs4_to_utf8_alloc): Likewise.
11707 (grub_ucs4_to_utf8): Likewise.
11708 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11709 (grub_ucs4_to_utf8_alloc): Likewise.
11710
309e5352
VS
117112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 AFFS never uses unicode.
11714
11715 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11716 (grub_latin1_to_utf8): New inline function.
11717 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11718
e7987e1b
VS
117192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11722 overflow.
11723
efc2616e
VS
117242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11727 (grub_squash_dirent_header): Likewise.
11728 (read_chunk): Don't double swap.
11729 (grub_squash_iterate_dir): Fix swap sizes.
11730
3c349f5a
VS
117312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11734
b453412d
VS
117352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11738 (grub_hfs_iterate_dir): Likewise.
11739
12e9d4d1
VS
117402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 Fix video on platforms where unaligned access is forbidden.
11743 Make several optimisations while on it.
11744
11745 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11746 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11747 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11748 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11749 Disable.
11750 (grub_video_fbblit_replace_16bit_1bit):
11751 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11752 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11753 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11754 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11755 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11756 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11757 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11758 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11759 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11760 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11761 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11762 (grub_video_fbblit_replace_index_RGB888): Likewise.
11763 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11764 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11765 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11766 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11767 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11768 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11769 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11770 Disable.
11771 (grub_video_fbblit_blend_XXX565_1bit):
11772 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11773 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11774 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11775 void *.
11776 * grub-core/video/fb/video_fb.c (common_blitter)
11777 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11778 (grub_video_fb_create_render_target_from_pointer)
11779 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11780 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11781 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11782 definition.
11783 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11784
ace96609
VS
117852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11788 HH22 and HM10 relocations.
11789
fd261d73
VS
117902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11793
e59b7857
VS
117942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11797 allocation succeeded.
11798
9b4baaa4
VS
117992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11802 argument a u8 pointer. All users updated.
11803 Handle unaligned buffers.
11804
dc713193
VS
118052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11808 add_part to workaround compiler bug.
11809
30dd48c2
VS
118102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11813
0c6087a8
VS
118142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11817 Reserve alignment invariants.
11818 (grub_multiboot_load): Likewise.
11819 (retrieve_video_parameters): Likewise.
11820 (grub_multiboot_make_mbi): Likewise.
11821
c2e77777
VS
118222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11825 incorrect pointer.
11826
b70b6d11
VS
118272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11830 (grub_pata_pio_write): Likewise.
11831
02a2bf83
VS
118322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 Add noreturn attributes and remove unreachable code.
11835
11836 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11837 code.
11838 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11839 code. Mark as noreturn.
11840 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11841 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11842 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11843 unreachable code.
11844 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11845 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11846 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11847 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11848 * include/grub/kernel.h (grub_main): Mark as noreturn.
11849 * include/grub/reader.h (grub_rescue_run): Likewise.
11850
2019d09e
VS
118512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11854 redundant declaration.
11855
d1c501ee
VS
118562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11859 redundant declaration.
11860 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11861
61664420
VS
118622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11865 to ensure alignment.
11866 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11867 alignment. Ensure tmp alignment.
11868 (grub_cmd_hdparm): Ensure buf alignment.
11869 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11870 to ensure alignment.
11871 (grub_ata_dumpinfo): Ensure text alignment.
11872 (grub_atapi_identify): Preserve alignment invariant.
11873 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11874
0d51ee20
VS
118752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11878 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11879 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11880 * include/grub/misc.h (grub_reboot)
11881 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11882 (grub_halt) [__mips__]: Likewise.
11883
753ef8c1
VS
118842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11887 Remove redundant declaration.
11888 (grub_mmap_get_post64): Likewise.
11889 (grub_mmap_get_upper): Likewise.
11890 (grub_mmap_get_lower): Likewise.
11891
85c85365
VS
118922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11895 uint32_t * to ensure alignment.
11896 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11897
a23f2cc4
VS
118982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11899
93018f64
VS
11900 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11901 uint16_t * to ensure alignment.
11902 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11903 alignment.
11904
119052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11908 to ensure alignment.
11909 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11910
58acccd6
VS
119112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11914 Handle unaligned pointers.
11915 (u32at): Likewise.
11916 (u64at): Likewise.
11917 (fixup): Use byte access instead of v16at.
11918 (find_attr): Fix imporper usage of v32at.
11919 (read_data): Likewise.
11920 (list_file): Handle byte-swapping and unaligned strings.
11921 (grub_ntfs_label): Likewise.
11922
9b05cad7
VS
119232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11926 as it's not necessarily aligned.
11927
b3950b84
VS
119282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11931 redundant declaration.
11932 (grub_serial_init): Likewise.
11933 (grub_terminfo_init): Likewise.
11934
fcd232b7
VS
119352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11938 function.
11939 (ZAP_HASH_IDX): Likewise.
11940 (ZAP_LEAF_HASH_SHIFT): Likewise.
11941 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11942 (LEAF_HASH): Likewise.
11943 (ZAP_LEAF_NUMCHUNKS): Likewise.
11944 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11945 alignment invariants. Return pointer. All users updated.
11946 (ZAP_LEAF_ENTRY): Make into inline function.
11947 (NBBY): Removed.
11948 (xor): LIkewise.
11949 (xor_out): Use grub_crypto_xor.
11950 (dnode_get_path): Use grub_get_unaligned.
11951 (nvlist_find_value): Likewise.
11952 (grub_zfs_nvlist_lookup_uint64): Likewise.
11953 (grub_zfs_nvlist_lookup_string): Likewise.
11954 (get_nvlist_size): Likewise.
11955 (grub_zfs_open): Likewise.
11956 (fill_fs_info): Likewise.
11957 (grub_zfs_dir): Likewise.
11958 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11959 alignment invariants.
11960 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11961 necessarily aligned.
11962
f138623a
VS
119632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11966
564840dc
VS
119672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11970 arithmetic to conserve alignment invariants.
11971
9b40df20
VS
119722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11975 redundant declaration.
11976 (grub_efiemu_mm_obtain_request): Likewise.
11977 (grub_efiemu_prepare): Likewise.
11978
d1c930f9
VS
119792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11982 to match types.
11983
4c5f3056
VS
119842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11987 case of aunaligned recptr.
11988 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11989 alignment.
11990 (grub_hfsplus_btree_search): Handle unaligned index.
11991
728cba91
VS
119922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11995 to get freetag and skip.
11996
eb561f31
VS
119972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12000 array.
12001 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12002 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12003
20993fbb
VS
120042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12007 name for checksum and fix allocation algorithm.
12008
1f313b94
VS
120092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * include/grub/types.h (grub_properly_aligned_t): New type.
12012 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12013 (grub_get_unaligned16): Add explicit casts.
12014 (grub_get_unaligned32): Likewise.
12015 (grub_get_unaligned64): Likewise.
12016 (grub_set_unaligned16): New function.
12017 (grub_set_unaligned32): Likewise.
12018
47ae27ec
VS
120192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12022
78c2cd1c
VS
120232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12026 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12027 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12028
53072f9b
VS
120292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12032 conditionals.
12033
055dc239
VS
120342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12037 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12038
496bd074
VS
120392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 Unify and improve RAID and crypto xor.
12042
12043 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12044 changed to grub_crypto_xor
12045 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12046 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12047 Use bigger types when possible.
12048
ef6e4335
VS
120492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/disk/raid.c (scan_devices): Fix condition.
12052
5d048bf2
VS
120532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12056 Make name a const ptr.
12057
ee533335
VS
120582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12061 first argument a const pointer.
12062 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12064 proto.
12065 (grub_children_iterate): Likewise.
12066 (grub_machine_mmap_iterate): Remove redundant declaration.
12067
cc8f3668
VS
120682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12071 (grub_cmd_acpi) [!x86]: Disable EBDA.
12072
c5fc563a
VS
120732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 Enable UTF8 in gnulib regexp.
12076
12077 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12078 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12079 (isupper): Use grub_isupper.
12080 (isascii): New inline function.
12081 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12082 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12083 * grub-core/normal/charset.c (grub_utf8_process): New function.
12084 (grub_utf8_to_utf16): Use grub_utf8_process.
12085 (grub_encode_utf8_character): New function.
12086 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12087 * include/grub/charset.h (grub_utf8_process): New declaration.
12088 (grub_encode_utf8_character): Likewise.
12089 * include/grub/misc.h (grub_islower): New inline function.
12090 (grub_isupper): Likewise.
12091 (grub_strchrsub): Moved down to fix the definitions.
12092
0af2346f
VS
120932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12096 specification.
12097
74dbd244
VS
120982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 * include/grub/loader.h (grub_loader_register_preboot_hook):
12101 Use struct preboot * and not void * for handle. All users updated.
12102 (grub_loader_unregister_preboot_hook): Likewise.
12103
1bc8f60d
VS
121042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12107 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12108 UTF-16-BE. All users updated.
12109 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12110 (grub_hfsplus_iterate_dir): Likewise.
12111 (grub_hfsplus_label): Likewise.
12112
48d6e456
VS
121132011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12116
bf3a3857
VS
121172011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 Add missing const qualifiers.
12120
12121 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12122 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12123 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12124 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12125 (grub_lvm_check_flag): Likewise.
12126 * grub-core/efiemu/i386/coredetect.c
12127 (grub_efiemu_get_default_core_name): Likewise
12128 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12129 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12130 * grub-core/fs/ntfs.c (fixup): Likewise.
12131 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12132 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12133 (fzap_lookup): Likewise.
12134 (zap_lookup): Likewise.
12135 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12136 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12137 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12138 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12139 (grub_freebsd_add_meta_module): Likewise.
12140 (grub_cmd_freebsd_module): Likewise.
12141 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12142 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12143 (grub_xnu_writetree_get_size): Likewise.
12144 (grub_xnu_writetree_toheap_real): Likewise.
12145 (grub_xnu_find_key): Likewise.
12146 (grub_xnu_create_key): Likewise.
12147 (grub_xnu_create_value): Likewise.
12148 (grub_xnu_register_memory): Likewise.
12149 (grub_xnu_check_os_bundle_required): Likewise.
12150 (grub_xnu_scan_dir_for_kexts): Likewise.
12151 (grub_xnu_load_kext_from_dir): Likewise.
12152 * grub-core/normal/color.c (color_list): Likewise.
12153 * grub-core/normal/completion.c (current_word): Likewise.
12154 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12155 * grub-core/term/serial.c (grub_serial_find): Likewise.
12156 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12157 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12158 Likewise.
12159 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12160 (grub_freebsd_add_meta_module): Likewise.
12161 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12162 * include/grub/net.h (grub_net_card_driver): Likewise.
12163 (grub_net_card): Likewise.
12164 (grub_net_app_protocol): Likewise.
12165 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12166 * include/grub/serial.h (grub_serial_find): Likewise.
12167 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12168 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12169 (grub_xnu_create_value): Likewise.
12170 (grub_xnu_find_key): Likewise.
12171 (grub_xnu_scan_dir_for_kexts): Likewise.
12172 (grub_xnu_load_kext_from_dir): Likewise.
12173
12174 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12175 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12176 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12177 Moved from here ...
12178 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12179
112b4837
CW
121802011-11-28 Colin Watson <cjwatson@ubuntu.com>
12181
12182 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12183
49e891ac
VS
121842011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12187 (read_device): Fix size calculation.
12188
fd258e5c
RM
121892011-11-25 Robert Millan <rmh@gnu.org>
12190
12191 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12192 (find_root_device_from_libzfs): Add zpool output parser to be used
12193 as fallback when libzfs isn't available.
12194
78845dc2
SG
121952011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12196
12197 * po/Makefile.in.in: Add missing escape-continuation.
12198
adac5211
VS
121992011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12202
10b64f1c
VS
122032011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12206
bb416954
VS
122072011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12210
bdfe9eeb
VS
122112011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12214
581ffa8a
VS
122152011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * grub-core/lib/adler32.c: Add missing license specification.
12218 * grub-core/lib/crc64.c: Likewise.
12219 * grub-core/loader/i386/pc/plan9.c: Likewise.
12220 * grub-core/partmap/plan.c: Likewise.
12221
2536cf64
LK
122222011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12223
12224 Add facility to debug GRUB with gdb under qemu.
12225
12226 * grub-core/gdb_grub.in: New file.
12227 * grub-core/gmodule.pl.in: Likewise.
12228 * grub-core/Makefile.core.def (gmodule.pl): New script.
12229 (gdb_grub): Likewise.
12230
bc108a4a
VS
122312011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/grub-mount.c (argp_parser): Accept relative pathes.
12234 * util/grub-fstest.c (argp_parser): Likewise.
12235
111c1778
VS
122362011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Plan9 support.
12239
12240 * Makefile.util.def (libgrubmods): Add
12241 grub-core/partmap/plan.c.
12242 * docs/grub.texi: Notice Plan9 support.
12243 * grub-core/Makefile.core.def (plan9): New module.
12244 (part_plan): Likewise.
12245 * grub-core/loader/i386/pc/plan9.c: New file.
12246 * grub-core/partmap/plan.c: Likewise.
12247 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12248 define.
12249 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12250 * include/grub/mm.h (grub_extend_alloc): New inline function.
12251
c30be3b6
VS
122522011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Make Reed-Solomon faster by using power of generator representation of
12255 GF(256)*.
12256
12257 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12258 (gf_double_t): Likewise.
12259 (gf_invert): Removed.
12260 (gf_powx): New array.
12261 (gf_powx_inv): Likewise.
12262 (scratch): Move higher.
12263 (gf_reduce): Removed.
12264 (gf_mul): Use powx.
12265 (gf_invert): Likewise.
12266 (init_inverts): Replaced with ...
12267 (init_powx): ...this. All users updated.
12268 (pol_evaluate): Replace multiplications with additions.
12269 (rs_encode): Likewise.
12270 (gauss_eliminate): Call gf_invert.
12271 (grub_reed_solomon_add_redundancy): Call init_powx.
12272 (grub_reed_solomon_recover): Call init_powx unconditionally.
12273
fa5aeffc
VS
122742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12277
a346b81c
VS
122782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12281 disk->partiton for safety.
12282
d89ee414
VS
122832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12286 Fix a memory leak.
12287 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12288
91ee7b6d
VS
122892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12292
91e5a33d
VS
122932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12296
9edd7be2
VS
122972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 Fix spaces handling in proc/self/mountinfo.
12300
12301 * util/getroot.c (unescape): New function.
12302 (grub_find_root_device_from_mountinfo): Use unescape.
12303
ba102053
VS
123042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Support ZFS embedding.
12307
12308 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12309 (grub_zfs_fs): Register grub_zfs_embed.
12310
aa94b870
VS
123112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 Fix MIPS compilation.
12314
12315 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12316 * include/grub/offsets.h: Rename decompressor fields from
12317 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12318 * util/grub-mkimage.c (image_targets): Use new names.
12319
5fbdac14
VS
123202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 Defer multiboot device parsing until we're in compressed part.
12323
12324 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12325 bsd_part. setdevice has fallen into disuse.
12326 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12327 (bsd_part): Likewise.
12328 (boot_dev): New variable.
12329 (multiboot_trampoline): Don't parse multiboot device.
12330 Pass multiboot device in %edx.
12331 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12332 grub_boot_device.
12333 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12334 Likewise.
12335 * grub-core/kern/i386/pc/startup.S: Save edx.
12336 (grub_boot_drive): Removed.
12337 (grub_install_dos_part): Likewise.
12338 (grub_install_bsd_part): Likewise.
12339 (grub_boot_device): New variable.
12340 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12341 (grub_install_bsd_part): Likewise.
12342 (grub_boot_drive): Likewise.
12343 (grub_boot_device): New variable.
12344 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12345 Removed.
12346 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12347 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12348 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12349 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12350 * util/grub-install.in: Remove redundant condition.
12351
691cbb58
VS
123522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 Fix bug introduced by previous commit.
12355
12356 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12357
60240b8b
VS
123582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 Use decompressors framework on i386-pc. It increases core size
12361 by 46 bytes but improves compatibility and maintainability.
12362
12363 * grub-core/Makefile.core.def (lzma_decompress): New image.
12364 (kernel): Add i386_pc_ldflags.
12365 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12366 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12367 to real_to_prot, prot_to_real and device info.
12368 * include/grub/offsets.h: Renamed decompressor offsets.
12369 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12370 (image_target_desc): Remove raw_size and rename decompressor fields.
12371 (compress_kernel): Handle lzma.
12372 (generate_image): Handle decompressors on i386-pc.
12373
e9d3421c
VS
123742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * configure.ac: Add -fno-asynchronous-unwind-tables.
12377
2b23074a
VS
123782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 Move assembly code to C by using intwrap. It increases core size
12381 by 88 bytes but improves compatibility and maintainability.
12382
12383 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12384 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12385 ... here. Translated to C.
12386 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12387 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12388 ... here. Translated to C.
12389 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12390 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12391 ... here. Translated to C.
12392 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12393 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12394 ... here. Translated to C.
12395 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12396 * grub-core/term/i386/pc/console.c (grub_console_cls):
12397 ... here. Translated to C.
12398 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12399 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12400 ... here. Translated to C.
12401 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12402 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12403 Translated to C.
12404 * grub-core/term/i386/pc/console.c (int10_9): New function.
12405 (grub_console_putchar): Likewise.
12406 * include/grub/i386/pc/console.h: Removed the not anymore shared
12407 functions.
12408
678f4b67
VS
124092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Move grub_chainloader_real_boot out of the kernel.
12412
12413 * grub-core/Makefile.am: Remove machine/loader.h.
12414 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12415 Removed.
12416 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12417 variable.
12418 (grub_relocator16_keep_a20_enabled): Likewise.
12419 (grub_relocator16_boot): Fill new variables.
12420 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12421 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12422 relocator.
12423 (grub_chainloader_unload): Likewise.
12424 (grub_chainloader_cmd): Likewise.
12425 * include/grub/i386/pc/loader.h: Removed.
12426 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12427 and esi. All initialisers updated.
12428
4626edf6
VS
124292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
124302011-11-12 Colin Watson <cjwatson@ubuntu.com>
12431
12432 * Makefile.util.def (grub-mount): New util.
12433 * .bzrignore: Add grub-mount.
12434 * configure.ac: Check for fuse and enable grub-mount if available.
12435 * docs/man/grub-mount.h2m: New file.
12436 * util/grub-mount.c: Likewise.
12437
10f0117b
VS
124382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/commands/efi/fixvideo.c: Gettextize.
12441 * grub-core/commands/hashsum.c: Likewise.
12442 * grub-core/commands/i386/cmostest.c: Likewise.
12443 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12444 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12445 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12446 * grub-core/commands/lsmmap.c: Likewise.
12447 * grub-core/commands/menuentry.c: Likewise.
12448 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12449 * grub-core/commands/setpci.c: Likewise.
12450 * grub-core/loader/i386/bsd.c: Likewise.
12451 * grub-core/loader/i386/linux.c: Likewise.
12452 * util/getroot.c: Likewise.
12453 * util/grub-editenv.c: Likewise.
12454 * util/grub-fstest.c: Likewise.
12455 * util/grub-mkfont.c: Likewise.
12456 * util/grub-mkimage.c: Likewise.
12457 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12458 * util/grub-pe2elf.c: Likewise.
12459 * util/grub-probe.c: Likewise.
12460 * util/grub-setup.c: Likewise.
12461 * util/ieee1275/ofpath.c: Likewise.
12462 * util/misc.c: Likewise.
12463 * util/raid.c: Likewise.
12464
566f779b
RM
124652011-11-11 Robert Millan <rmh@gnu.org>
12466
12467 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12468 __attribute__((unused)) from `os_dev', which *is* being used.
12469
b50787de
VS
124702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12473 forgotten define.
12474 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12475 GRUB_IA64_DL_GOT_ALIGN.
12476 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12477 GRUB_IA64_DL_TRAMP_ALIGN.
12478
119d11c8
VS
124792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 Replace grub_fatal with normal errors in i386 linux loader.
12482
12483 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12484 (allocate_pages): Check find_efi_mmap_size return value.
12485 (grub_e820_add_region): Return error.
12486 (grub_linux_boot): Check mmap return value.
12487
6e0632e2
VS
124882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/commands/acpihalt.c: Gettextized.
12491 * grub-core/commands/cacheinfo.c: Likewise.
12492 * grub-core/commands/cmp.c: Likewise.
12493 * grub-core/commands/efi/loadbios.c: Likewise.
12494 * grub-core/commands/gptsync.c: Likewise.
12495 * grub-core/commands/ieee1275/suspend.c: Likewise.
12496 * grub-core/commands/legacycfg.c: Likewise.
12497 * grub-core/commands/memrw.c: Likewise.
12498 * grub-core/commands/minicmd.c: Likewise.
12499 * grub-core/commands/parttool.c: Likewise.
12500 * grub-core/commands/time.c: Likewise.
12501 * grub-core/commands/videoinfo.c: Likewise.
12502 * grub-core/disk/geli.c: Likewise.
12503 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12504 * grub-core/disk/luks.c: Likewise.
12505 * grub-core/disk/lvm.c: Likewise.
12506 * grub-core/font/font_cmd.c: Likewise.
12507 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12508 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12509 * grub-core/gfxmenu/view.c: Likewise.
12510 * grub-core/kern/emu/hostdisk.c: Likewise.
12511 * grub-core/kern/emu/main.c: Likewise.
12512 * grub-core/kern/emu/misc.c: Likewise.
12513 * grub-core/kern/emu/mm.c: Likewise.
12514 * grub-core/kern/mips/arc/init.c: Likewise.
12515 * grub-core/kern/mips/loongson/init.c: Likewise.
12516 * grub-core/kern/partition.c: Likewise.
12517 * grub-core/lib/i386/halt.c: Likewise.
12518 * grub-core/lib/mips/arc/reboot.c: Likewise.
12519 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12520 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12521 * grub-core/loader/i386/xnu.c: Likewise.
12522 * grub-core/loader/multiboot.c: Likewise.
12523 * grub-core/net/bootp.c: Likewise.
12524 * grub-core/net/net.c: Likewise.
12525 * grub-core/normal/term.c: Likewise.
12526 * grub-core/partmap/bsdlabel.c: Likewise.
12527 * grub-core/parttool/msdospart.c: Likewise.
12528 * grub-core/term/gfxterm.c: Likewise.
12529 * grub-core/term/terminfo.c: Likewise.
12530 * grub-core/video/i386/pc/vbe.c: Likewise.
12531 * util/grub-menulst2cfg.c: Likewise.
12532 * util/grub-mkdevicemap.c: Likewise.
12533 * util/grub-mklayout.c: Likewise.
12534 * util/grub-mkrelpath.c: Likewise.
12535 * util/grub-script-check.c: Likewise.
12536 * util/ieee1275/grub-ofpathname.c: Likewise.
12537 * util/resolve.c: Likewise.
12538
073aa7a9
VS
125392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Support %1$d syntax.
12542
12543 * tests/printf_unit_test.c: New file.
12544 * Makefile.util.def (printf_test): New test.
12545 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12546
c76b5417
VS
125472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12550 fix.
12551
df067ad1
VS
125522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12555 dprintf.
12556 * grub-core/font/font.c (grub_font_load): Likewise.
12557
5b289bc5
VS
125582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * util/grub-macho2img.c: Add comment concerning gettext.
12561 * grub-core/lib/legacy_parse.c: Likewise.
12562
c1860f87
VS
125632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12566 (grub_xvasprintf): Likewise.
12567
d35d0d37
VS
125682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 Add const keyword to grub_env_get and gettextize week days.
12571
12572 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12573 (grub_read_hook_datetime): Return const char *.
12574 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12575 updated.
12576 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12577 Mark for gettext.
12578 (grub_get_weekday_name): Return const char *. Call gettext.
12579 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12580 char * and len as the argument. All users updated.
12581 (grub_script_argv_split_append): Receive const char *.
12582 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12583 * include/grub/env.h (grub_env_get): Likewise.
12584 (grub_env_read_hook_t): Return const char *.
12585 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12586 (grub_script_argv_split_append): Likewise.
12587
9aed8a71
VS
125882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12591
067fdf00
VS
125922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12595 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12596
a8bd9d39
VS
125972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12600 Fix prototype.
12601
f7ce5baf
VS
126022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 Fix mips compilation.
12605
12606 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12607 normal decoder.
12608 (hashes): Use in embed decoder as well (for sizes).
12609 (dec_stream_header): Fix embed decompressor logic.
12610 (dec_stream_footer): Likewise.
12611
9bb182f3
VS
126122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12615 an error and not a fatal on unrecognised relocation types.
12616
63a9e6f6
VS
126172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12620 Issue error rather than printf on unknown arguments.
12621
4c458569
VS
126222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12625 Make buf a const.
12626
e2d22baf
VS
126272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12630 Fix module name.
12631
53dc8590
VS
126322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12635 leftover debug printf.
12636
6c189294
VS
126372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12640
f7688369
VS
126412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12644 A stylistic fix.
12645
11a775a3
VS
126462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12649
33f784e8
SL
126502011-11-10 Shea Levy <slevy@tieronedesign.com>
12651
12652 Allow all modules to perform serial IO
12653
12654 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12655 * include/grub/serial.h (grub_serial_port_configure): New inline
12656 function.
12657 (grub_serial_port_fetch): Likewise.
12658 (grub_serial_port_put): Likewise.
12659 (grub_serial_port_fini): Likewise.
12660 (grub_serial_find): New proto.
12661
f6276525
VS
126622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 Put symlink at the end of the node and fix a potential
12665 memory corruption.
12666
12667 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12668 Make symlink into an array.
12669 (set_rockridge): Set have_symlink and alloc_dirents.
12670 (grub_iso9660_read_symlink): Use new layout.
12671 (grub_iso9660_iterate_dir): Fix memory corruption.
12672 Use new layout.
12673 (grub_iso9660_dir): Set have_symlink.
12674 (grub_iso9660_open): Likewise.
12675
c3591189
VS
126762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 Remove local keyword.
12679
12680 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12681 (version_test_gt): Likewise.
12682 (version_find_latest): Likewise.
12683 (gettext_printf): Likewise.
12684 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12685
cb544caa
VS
126862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12689
45bd824d
VS
126902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 Fix ZFS memory and resource leaks.
12693
12694 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12695 All users updated.
12696 Free type on exit.
12697 (fill_vdev_info): New parameter inserted. All users updated.
12698 (check_pool_label): Likewise.
12699 (scan_disk): Likewise.
12700 (scan_devices): Close non-inserted disks.
12701 (fzap_iterate): Free l.
12702 (unmount_device): Free children descripto memory.
12703
ad9a2f44
VS
127042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12707 argument (access out of bounds).
12708
6b68db81
VS
127092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12712 >= 6 drives.
12713
28840fda
VS
127142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12717 Fix declaration.
12718
8a5a3a5b
VS
127192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 Fix several memory leaks.
12722
12723 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12724 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12725 (grub_cpio_dir): Likewise.
12726 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12727 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12728 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12729 (grub_romfs_label): Likewise.
12730 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12731 (squash_unmount): New function.
12732 (grub_squash_dir): Fix memory leak.
12733 (grub_squash_open): Likewise.
12734 (grub_squash_read): Likewise.
12735 (grub_squash_mtime): Likewise.
12736 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12737 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12738 * util/grub-fstest.c (fstest): Likewise.
12739
57b01250
VS
127402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12743 avoid accessing beyond the array.
12744
19e81ba7
VS
127452011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12748
52b656c0
VS
127492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 Several AFFS fixes.
12752
12753 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12754 (GRUB_AFFS_FLAG_FFS): Removed.
12755 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12756 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12757 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12758 (grub_fshelp_node): Make block 32-bit.
12759 Add block_cache and last_block_cache.
12760 (grub_affs_read_block): Fill and use block cache.
12761 (grub_affs_read_file): Removed.
12762 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12763 boot block.
12764 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12765 safety.
12766 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12767 space.
12768 (grub_affs_close): Free block cache.
12769 (grub_affs_read): Use grub_fshelp_read_file directly.
12770
438a746a
VS
127712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12774 with no error set.
12775
49a45021
VS
127762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12779 used variable.
12780 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12781 Likewise.
12782
3ae17eb8
VS
127832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12786
12787 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12788 byteswap when needed.
12789
27610c38
VS
127902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 Fix FreeBSD compilation.
12793
12794 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12795 to avoid circular dependency.
12796 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12797 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12798 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12799
4a19b601
VS
128002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 Fix ZFS crypto error types.
12803
12804 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12805 (grub_gcm_decrypt): Likewise.
12806 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12807 from PBKDF2.
12808
958ee221
VS
128092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Illumos support.
12812
12813 * Makefile.util.def (10_illumos): New script.
12814 * configure.ac: Set COND_HOST_ILLUMOS.
12815 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12816 Support Illumos calls.
12817 (find_partition_start) [__sun__]: Likewise.
12818 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12819 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12820 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12821 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12822 device.
12823 * util/grub-probe.c (probe) [__sun__]: Do character check.
12824 * util/grub.d/10_illumos.in: New file.
12825
cac14fb6
VS
128262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Support escaped commas in hostdisk.
12829
12830 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12831 (find_grub_drive): Use unescape_cmp.
12832 (make_device_name): Escape commas.
12833
78e08dc3
VS
128342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12837
9f421dd1
VS
128382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12841 variable.
12842
ed64e9e2
VS
128432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Support trampoline jumps on powerpc.
12846
12847 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12848 __ia64__ path.
12849 (grub_dl_load_segments): Set mod->sz.
12850 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12851 segments.
12852 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12853 (jump): Likewise.
12854 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12855 function.
12856 (trampoline): New struct.
12857 (trampoline_template): New const.
12858 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12859 * include/grub/dl.h (grub_dl): Add sz element.
12860 [__powerpc__]: Follow __ia64__.
12861 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12862 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12863 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12864 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12865
3084ede4
VS
128662011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 ZFS crypto support.
12869
12870 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12871 * grub-core/Makefile.core.def (zfscrypt): New module.
12872 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12873 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12874 it. All users updated.
12875 (grub_zfs_decrypt): New var.
12876 (grub_zfs_load_key): Likewise.
12877 (zio_checksum_functions): Add SHA256+MAC.
12878 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12879 (zio_read): Handle encrypted blocks.
12880 (zap_verify): Remove incorrect check.
12881 (fzap_iterate): Handle non-standard fzap.
12882 (zap_iterate): Likewise.
12883 (zap_iterate_u64): New function.
12884 (dnode_get_fullpath): Load keys.
12885 * grub-core/fs/zfs/zfscrypt.c: New file.
12886 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12887 (grub_crypto_ecb_encrypt): Make input const.
12888 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12889 (grub_crypto_ecb_encrypt): Make input const.
12890 (GRUB_CIPHER_AES): New macro.
12891 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12892 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12893 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12894 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12895 prefix. All users updated.
12896 (grub_zfs_add_key): New proto.
12897 (grub_zfs_decrypt): Likewise.
12898 (grub_zfs_load_key): Likewise.
12899 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12900 * util/grub-fstest.c (options): Add -K option.
12901 (argp_parser): Likewise.
12902
b632b404
VS
129032011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 Support zle compression on ZFS.
12906
12907 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12908 (decomp_table): Add zle.
12909 * include/grub/zfs/zio.h (zio_compress): Add zle.
12910
c7ba4f69
VS
129112011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Support BtrFS embedding.
12914
12915 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12916 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12917 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12918 * util/grub-setup.c (setup): Use fs embedding if available.
12919 Add additional sanity check.
12920
455377d9
VS
129212011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * util/grub-install.in: Fix condition for config_opt.
12924
c2fd16ca
VS
129252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 Support third redundancy strip on raidz3.
12928
12929 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12930 Return error on singularity. All users updated.
12931 (read_device): Don't stop on 3rd failure on raidz3.
12932
8622923b
VS
129332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Support case-insensitive ZFS subvolumes.
12936
12937 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12938 All users updated.
12939 (zap_hash): Likewise.
12940 (name_cmp): New function.
12941 (zap_leaf_array_equal): New parameter case_insensitive.
12942 All users updated.
12943 (zap_leaf_lookup): Likewise.
12944 (fzap_lookup): Likewise.
12945 (zap_lookup): Likewise.
12946 (dnode_get_path): New parameter case_insensitive. Retrieve case
12947 sensitiviness of a volume. All users updated.
12948 (dnode_get_fullpath): New parameter case_insensitive.
12949 All users updated.
12950 (grub_zfs_dir): Set info.case_insensitiveness.
12951
95f2e860
VS
129522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 Support second redundancy strip on raidz(2,3).
12955
12956 * grub-core/fs/zfs/zfs.c (powx): New array.
12957 (powx_inv): Likewise.
12958 (poly): New const.
12959 (xor_out): New function.
12960 (gf_mul): Likewise.
12961 (recovery): Likewise.
12962 (read_device): Use second redundancy strip.
12963
11ee4389
VS
129642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Use a power of generator representation of GF(256) multiplication group
12967 to save space time and complexity.
12968
12969 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12970 (raid6_table2): Likewise.
12971 (powx): New array.
12972 (powx_inv): Likewise.
12973 (poly): New const.
12974 (grub_raid_block_mul): Replace with ...
12975 (grub_raid_block_mulx): ...this.
12976 (grub_raid6_init_table): Rewritten.
12977 (grub_raid6_recover): Use power of generator representation.
12978
09e2763f
VS
129792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12982 for the right device.
12983
8bec9a28
VS
129842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12987 expected by grub-mkimage and it's more clear since there is no implicit
12988 padding.
12989
dbd3a32e
VS
129902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12993 disk.
12994 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12995
182c872a
PMH
129962011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12997
12998 * util/grub-mkrescue.in: Fix handling xorriso option.
12999
1e51cabd
VS
130002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13003 NULL.
13004
9cc3581d 130052011-11-03 crocket <crockabiscuit@gmail.com>
13006
13007 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13008
158dc1ea
VS
130092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 XZ CRC64 and SHA256 support.
13012
13013 * Makefile.util.def (libgrubmods): Add crc64.c.
13014 * grub-core/Makefile.core.def (crc64): New module.
13015 * grub-core/lib/crc64.c: New file.
13016 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13017 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13018 Fix the type.
13019 (MAX_HASH_SIZE): New define.
13020 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13021 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13022 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13023 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13024 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13025 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13026 Handle non-crc32 hashes.
13027 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13028 (dec_stream_header): Handle non-crc32 hashes.
13029 (dec_stream_footer): Likewise.
13030 (dec_block_header): Likewise.
13031 (dec_main): Likewise.
13032 (xz_dec_init): Likewise.
13033 (xz_dec_reset): Likewise.
13034 (xz_dec_end): Likewise.
13035 * util/import_gcry.py: Add CRC64 line.
13036
9d9b3d2f
VS
130372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13040 as well.
13041
7d0ac931
VS
130422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 Make reiserfs label retrieval similar to other *_label functions.
13045
13046 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13047 (REISERFS_MAX_LABEL_LENGTH): Removed.
13048 (REISERFS_LABEL_OFFSET): Likewise.
13049 (grub_reiserfs_label): Rewritten.
13050
130512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13054 field.
13055
cf5ba824
VS
130562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13059
17744004
VS
130602011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13063 drive failure on both raidz and raidz2.
13064
aca5aefc
VS
130652011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 Fix RAIDZ(2) for >= 5 devices.
13068
13069 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13070 asize argument. All users updated.
13071
ce8ca56e
VS
130722011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 Fix RAIDZ(2).
13075
13076 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13077 (fill_vdev_info_real): Set ashift.
13078 (read_device): Rewrite RAIDZ part based on reverse engineering.
13079
7c01e783
VS
130802011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13083 don't report potentially unavialiable fields in debug output.
13084 (find_path): Fix double-free and memory leak.
13085
ce109e84
VS
130862011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 Read label on UFS1.
13089
13090 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13091 (grub_ufs_fs): Always set .label.
13092
87661123
VS
130932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 Use shifts in UFS.
13096
13097 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13098 (grub_ufs_data): New field log2_blksz.
13099 (grub_ufs_read_file): Use shifts.
13100 (grub_ufs_mount): Check block size and logarithm it.
13101
46bc1dc2
VS
131022011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13105 long symlinks.
13106
19ee2987
VS
131072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Handle symlinks and long names on tar and cpio.
13110
13111 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13112 (ATTR_FILE): Likewise.
13113 (ATTR_DIR): Likewise.
13114 (ATTR_LNK): Likewise.
13115 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13116 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13117 L and K entries.
13118 (grub_cpio_mount): Zero-fill data.
13119 (handle_symlink): New function.
46bc1dc2
VS
13120 (grub_cpio_dir): Handle symlinks.
13121 (grub_cpio_open): Likewise.
13122 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13123
c83a08d8
VS
131242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 Fix iso9660 filename limitations and fix memory leaks.
13127
13128 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13129 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13130
45cdd3ea
VS
131312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Fix JFS file name length limitations.
13134
13135 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13136 (grub_jfs_diropen): Fix maximum filename length.
13137 (grub_jfs_getent): Fix filename length.
13138 (grub_jfs_lookup_symlink): Fix size checks.
13139
94ef05c2
VS
131402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13143 string.
13144
785ab8c7
VS
131452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13146
eb0b6b45
VS
13147 Leverage BFS implementation to read AFS.
13148
13149 * Makefile.util.def (libgrubmods): Add afs.c.
13150 * grub-core/Makefile.core.def (afs): New module
13151 * grub-core/fs/afs.c: New file.
13152 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13153
131542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13157
c4a1628f
VS
131582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/fs/bfs.c: Run indent.
13161
5825b379
VS
131622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 BFS implementation based on the specification.
13165
13166 * grub-core/fs/bfs.c: New file.
13167 * Makefile.util.def (libgrubmods): Add bfs.c.
13168 * grub-core/Makefile.core.def (bfs): New module.
13169
42b2a706
VS
131702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * util/grub-fstest.c (cmd_cp): Clarify error message.
13173 (cmd_cmp): Likewise.
13174
61b99bfc
YB
131752011-10-30 Yves Blusseau <blusseau@zetam.org>
13176
13177 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13178 and befs_be.
13179
faba3d16
VS
131802011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 Remove afs and befs because of copyright problem.
13183
13184 * grub-core/fs/afs.c: Removed.
13185 * grub-core/fs/afs_be.c: Removed.
13186 * grub-core/fs/befs.c: Removed.
13187 * grub-core/fs/befs_be.c: Removed.
13188 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13189 * grub-core/Makefile.core.def (afs): Removed.
13190 (afs_be): Likewise.
13191 (befs): Likewise.
13192 (befs_be): Likewise.
13193
c39224b0
VS
131942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 Prefer rockridge over Joliet.
13197
13198 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13199 to ...
13200 (set_rockridge): ... here.
13201 (grub_iso9660_mount): Check rockridge on the primary label when
13202 discovering. Ignore Joliet if Rockridge is present.
13203
e551115a
VS
132042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 Use shifts in nilfs2.
13207
13208 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13209 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13210 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13211 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13212 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13213 (grub_nilfs2_entries_per_block): Replaced with ...
13214 (grub_nilfs2_log_entries_per_block_log): ... this.
13215 (grub_nilfs2_blocks_per_group): Replaced with ...
13216 (grub_nilfs2_blocks_per_group_log): ... this.
13217 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13218 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13219 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13220 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13221 (grub_nilfs2_palloc_entry_offset): Replaced ...
13222 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13223 (grub_nilfs2_dat_translate): Use shifts.
13224 (grub_nilfs2_read_inode): Likewise.
13225 (GRUB_MOD_INIT): Ensure that logs are correct.
13226
564dd58c
VS
132272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 Use shifts in minix filesystem.
13230
13231 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13232 (GRUB_MINIX_ZONE2SECT): Likewise.
13233 (grub_minix_data): Replace block_size with log_block_size.
13234 (grub_minix_read_file): Use shifts.
13235 (grub_minix_mount): Check block size and take a logarithm.
13236
ed9ba06d
VS
132372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 Use shifts in squash4.
13240
13241 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13242 (squash_mount): Check block size and take logarithm.
13243 (direct_read): Use shifts.
13244
ad03fe76
VS
132452011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 Correct befs block counting logic.
13248
13249 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13250 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13251 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13252 (grub_afs_read_inode): Use block_shift.
13253 (RANGE_SHIFT): New definition.
13254 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13255 unexpected conditions, use shifts and appropriate types.
13256 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13257
6563f63d
VS
132582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/disk/raid.c (scan_devices): Check partition.
13261 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13262
5b1ae25f
VS
132632011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 Support BFS (befs) UUID.
13266
13267 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13268 (grub_afs_small_data_element_header): New struct.
13269 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13270 (grub_afs_read_attribute) [MODE_BFS]: New function.
13271 (grub_afs_iterate_dir): Allocate for complete inode.
13272 (grub_afs_mount): Likewise.
13273 (grub_afs_uuid) [MODE_BFS]: New function.
13274 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13275
f8d82408
VS
132762011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13279 (zfs_unmount): Fix memory leak.
13280
5773fb64
VS
132812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 Support NTFS reparse points.
13284
13285 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13286 (symlink_descriptor): New struct.
13287 (grub_ntfs_read_symlink): New function.
13288 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13289 (grub_ntfs_open): Likewise.
13290
91c3fdde
VS
132912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13294
3be82e10
VS
132952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 fstest xnu_uuid subcommand.
13298
13299 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13300 grub-core/commands/xnu_uuid.c.
13301 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13302 (fstest): Handle xnu_uuid.
13303 (options): Document xnu_uuid.
13304 (argp_parser): Parse xnu_uuid.
13305
8e32442e
VS
133062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13309 -l argument. Add newline at the end if printing.
13310 (GRUB_MOD_INIT): Document -l.
13311
52a05075
VS
133122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13315
1869edb5
VS
133162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 ZFS multi-device and version 33 support.
13319
13320 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13321 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13322 (grub_zfs_data): Add multidev-ice-related fields.
13323 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13324 (dva_get_offset): Make dva const.
13325 (zfs_fetch_nvlist): New function.
13326 (fill_vdev_info_real): Likewise.
13327 (fill_vdev_info): Likewise.
13328 (check_pool_label): Likewise.
13329 (scan_disk): Likewise.
13330 (scan_devices): Likewise.
13331 (read_device): Likewise.
13332 (read_dva): Likewise.
13333 (zio_read_gang): Use read_dva.
13334 (zio_read_data): Likewise.
13335 (zap_leaf_lookup): Add missing endian conversion.
13336 (zap_verify): Add missing endian conversion. All users updated.
13337 (fzap_lookup): Likewise.
13338 (fzap_iterate): Likewise.
13339 (dnode_get_path): Handle SA bonus.
13340 (nvlist_find_value): Make input const. All users updated.
13341 (unmount_device): New function.
13342 (zfs_unmount): Use unmount_device.
13343 (zfs_mount): Use scan_disk.
13344 (zfs_mtime): New function.
13345 (grub_zfs_open): Handle system attributes.
13346 (fill_fs_info): Likewise.
13347 (grub_zfs_dir): Likewise.
13348 (grub_zfs_fs): Add mtime.
13349 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13350 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13351 (SA_MTIME_OFFSET): Likewise.
13352 (SA_SYMLINK_OFFSET): Likewise.
13353 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13354 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13355 (fstest): Support zfsinfo.
13356 (argp_parser): Likewise.
13357
186b4028
VS
133582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13361 error.
13362
133632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13364
13365 ZFS fixes.
13366
13367 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13368 sharing the same block. Iterate over correct number of indices.
13369 (dnode_get_path): Handle symlinks correctly.
13370
c0584900
VS
133712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13374
67e2bd71
VS
133752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 Read label on HFS+.
13378
13379 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13380 (grub_hfsplus_btree_search): Fix types.
13381 (grub_hfsplus_label): Implement.
13382
e9cc6b7b
VS
133832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13386
19832ddb
VS
133872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13390
66b40850
VS
133912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 Fix symlink handling on iso9660.
13394
13395 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13396 All users updated.
13397 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13398 (grub_iso9660_read_symlink): Moved most of code ...
13399 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13400
db821363
VS
134012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13404 Use union to avoid breaking strict-aliasing rules.
13405
e1211949
VS
134062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 Support multi-extent iso files.
13409
13410 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13411 Add node.
13412 (grub_fshelp_node): Revamp. All users updated.
13413 (FLAG_*): New enum.
13414 (read_node): New function.
13415 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13416 All users updated.
13417 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13418 (get_node_size): New function.
13419 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13420 entries.
13421 Fix memory leak on . and ..
13422 (grub_iso9660_read): Use read_node.
13423 (grub_iso9660_close): Free node.
13424
d4888031
VS
134252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 Fix tar 4G limit and handle paths containing dot.
13428
13429 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13430 (canonicalize): New function.
13431 (grub_cpio_find_file): Use canonicalize. Store offs in
13432 grub_disk_addr_t.
13433 (grub_cpio_dir): Use grub_disk_addr_t.
13434 (grub_cpio_open): Likewise.
13435
9f12e664
VS
134362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13439
13440 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13441 unused flags.
13442 (grub_squash_inode): Add long_file and block_size.
13443 (grub_squash_cache_inode): New struct.
13444 (grub_squash_dirent): Make types into enum.
13445 (SQUASH_TYPE_LONG_REGULAR): New type.
13446 (grub_squash_frag_desc): Add field size.
13447 (SQUASH_BLOCK_FLAGS): New enum.
13448 (grub_squash_data): Use grub_squash_cache_inode.
13449 (grub_fshelp_node): Make ino_chunk 64-bit.
13450 (read_chunk): Minor argument change. All users updated.
13451 (squash_mount): Use correct le_to_cpu.
13452 (grub_squash_open): Handle LONG_REGULAR.
13453 (direct_read): New function.
13454 (grub_squash_read_data): Handle blocks correctly.
13455
9f326fba
VS
134562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13459
f4d9b64b
VS
134602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13463
5bbd28b8
VS
134642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 Fix 2G limit on ZFS.
13467
13468 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13469 types.
13470 (uberblock_verify): Likewise.
13471 (dmu_read): Likewise.
13472 (grub_zfs_read): Likewise. Remove invalid cast.
13473
68c72069
VS
134742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13477 (grub_jfs_blkno): Fix incorrect shift.
13478 (grub_jfs_read_file): Use more appropriate types.
13479
6e536dc8
VS
134802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Support triple indirect on minix2 and minix3.
13483
13484 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13485 Declare triple_indir_zone.
13486 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13487 indirect.
13488
e0864e7a
VS
134892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Minix FS fixes.
13492
13493 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13494 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13495 Rename ctime to mtime. All users updated.
13496 (grub_minix_get_file_block): Fix types and double indirect computations.
13497
89481cab
VS
134982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13501 if no label is found.
13502 (grub_fat_iterate_dir): Fix file size type.
13503 (grub_fat_iterate_dir): Likewise.
13504
f646e143
VS
135052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13508 save some space.
13509 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13510 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13511
534d769e
VS
135122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13515
e084ba18
VS
135162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * util/import_gcry.py: Accept space between # and include.
13519
3471ecdf
VS
135202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13523
124df5f6
VS
135242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13527
13528 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13529 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13530 yylex_strncpy.
13531 * grub-core/script/yylex.l: Add fine-grained #pragma.
13532
4defb8d5
VS
135332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13536 New inline function.
13537 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13538 Likewise.
13539 (memset) [GRUB_UTIL]: Likewise.
13540 (memcmp) [GRUB_UTIL]: Likewise.
13541
4e94ae65
VS
135422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13545 inline function rather than a define.
13546
18c575e5
VS
135472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * util/grub-setup.c: Add missing include.
13550
f8bc22a8
VS
135512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * util/ieee1275/grub-ofpathname.c: Add missing include.
13554
3ce69fc9
VS
135552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13558 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13559 Likewise.
13560
d1e293bb
VS
135612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13564 grub_memcmp usage.
13565
7a5c54a4
VS
135662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * util/grub-install.in: Add datarootdir as per automake manual
13569 suggestion.
13570 * util/grub-mknetdir.in: Likewise.
13571
135722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13573
13574 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13575 suggestion.
13576 * util/grub.d/10_kfreebsd.in: Likewise.
13577 * util/grub.d/10_linux.in: Likewise.
13578 * util/grub.d/10_netbsd.in: Likewise.
13579 * util/grub.d/10_windows.in: Likewise.
13580 * util/grub.d/20_linux_xen.in: Likewise.
13581
766f7d08
VS
135822011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 Remove redundant grub_kernel_image_size.
13585
13586 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13587 _edata and _start.
13588 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13589 the small code. It moves it only by few bytes but simplifies the code.
13590 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13591 _start.
13592 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13593 (grub_kernel_image_size): Removed.
13594 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13595 (grub_kernel_image_size): Removed.
13596 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13597 compiled with Apple toolchain.
13598 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13599 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13600 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13601 (grub_total_module_size): Likewise.
13602 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13603 Removed.
13604 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13605 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13606 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13607 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13608 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13609 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13610 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13611 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13612 Removed.
13613 (grub_total_module_size): Removed.
13614 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13615 (image_targets): Likewise.
13616 Set .compressed_size to no field on sparc.
13617 (generate_image): Remove kernel_image_size handling.
13618
fcf1d672
SJ
136192011-10-19 Szymon Janc <szymon@janc.net.pl>
13620
13621 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13622 NULL pointer dereference.
13623
de9c615e
VS
136242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13627 done with a dedicated section.
13628
13629 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13630 Ensure the correct position of boot_path.
13631 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13632 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13633 other fields.
13634 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13635 * include/grub/boot.h: Removed. All references removed.
13636 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13637 Removed.
13638 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13639
e55599dc
VS
136402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13643 name.
13644
36dd20ad
VS
136452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13648
f8f72eb8
VS
136492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13652 Don't add the bogus brackets.
13653
a374751b
VS
136542011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 ExFAT support.
13657
13658 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13659 * grub-core/Makefile.core.def (exfat): New module.
13660 * grub-core/fs/exfat.c: New file.
13661 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13662 (GRUB_FAT_ATTR_*): Make into an enum.
13663 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13664 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13665 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13666 (GRUB_FAT_MAXFILE): Removed.
13667 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13668 (grub_current_fat_bpb_t): New type.
13669 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13670 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13671 (grub_fat_dir_node_t): New type.
13672 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13673 (fat_log2) [MODE_EXFAT]: Removed.
13674 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13675 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13676 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13677 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13678 (grub_fat_label) [MODE_EXFAT]: New function.
13679 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13680 reserved_first_sector to 0.
13681
544c2487
VS
136822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 Move grub_reboot out of the kernel.
13685
13686 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13687 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13688 * grub-core/lib/efi/reboot.c: ... here.
13689 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13690 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13691 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13692 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13693 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13694 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13695 * grub-core/lib/ieee1275/reboot.c: ... here.
13696 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13697 * grub-core/lib/mips/arc/reboot.c: ... here.
13698 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13699 * grub-core/lib/mips/loongson/reboot.c: ...here.
13700 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13701 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13702 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13703 * include/grub/i386/reboot.h: New file.
13704 * include/grub/mips/loongson/ec.h: Fix includes.
13705 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13706 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13707 * grub-core/lib/i386/reboot.c: New file.
13708
a97501d2
VS
137092011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Make grub_prefix into module to fix the arbitrary limit and save
13712 some space.
13713
13714 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13715 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13716 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13717 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13718 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13719 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13720 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13721 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13722 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13723 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13724 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13725 * include/grub/ia64/efi/kernel.h: Removed.
13726 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13727 (grub_prefix): Removed.
13728 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13729 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13730 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13731 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13732 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13733 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13734 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13735 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13736 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13737 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13738 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13739 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13740 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13741 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13742 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13743 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13744 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13745 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13746 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13747 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13748 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13749 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13750 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13751 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13752 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13753 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13754 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13755 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13756 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13757 from module.
13758 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13759 prefix_end.
13760 (image_targets): Likewise.
13761 (generate_image): Put prefix as a module.
13762
39705fad
VS
137632011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Replace grub_module_iterate with FOR_MODULES.
13766
13767 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13768 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13769 (grub_efi_modules_addr): ...this.
13770 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13771 (grub_efi_init): Set grub_modbase.
13772 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13773 (grub_modbase): New variable.
13774 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13775 (grub_modbase): New variable.
13776 (grub_machine_init): Set grub_modbase.
13777 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13778 (grub_modbase): New variable.
13779 (grub_machine_init): Set grub_modbase.
13780 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13781 (grub_modbase): New variable.
13782 (grub_machine_init): Set grub_modbase.
13783 * grub-core/kern/main.c (grub_module_iterate): Remove.
13784 (grub_modules_get_end): Use grub_modbase.
13785 (grub_load_modules): Use FOR_MODULES.
13786 (grub_load_config): Likewise.
13787 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13788 (grub_modbase): New variable.
13789 (grub_machine_init): Set grub_modbase.
13790 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13791 (grub_modbase): New variable.
13792 (grub_machine_init): Set grub_modbase.
13793 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13794 Removed.
13795 (grub_modbase): New variable.
13796 (grub_machine_init): Set grub_modbase.
13797 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13798 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13799 (grub_module_iterate): Likewise.
13800 (grub_modbase): New variable declaration.
13801 (FOR_MODULES): New macro.
13802
2afb7f6c
VS
138032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13806 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13807
366e34fa
VS
138082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 Fix few obvious type discrepancies.
13811
13812 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13813 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13814 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13815 variable.
13816 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13817 and connected types.
13818 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13819 offset.
13820 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13821 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13822 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13823 and connected types.
13824
177b960e
VS
138252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 Fix python 3.x incompatibilities.
13828
13829 * gentpl.py: Put brackets around print strings.
13830 * util/import_gcry.py: Open explicitly as utf-8.
13831 Use in instead of has_key.
13832
3b619ae1
VS
138332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13836 (GRUB_XFS_INO_AGBITS): Make into inline function.
13837 (GRUB_XFS_INO_INOINAG): Likewise.
13838 (GRUB_XFS_INO_AG): Likewise.
13839 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13840 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13841 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13842 (GRUB_XFS_EXTENT_SIZE): Likewise.
13843 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13844 (GRUB_XFS_NEXT_DIRENT): Likewise.
13845 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13846 (grub_xfs_read_file): Fix offset type.
13847
8bcebcb8
RM
138482011-10-15 Robert Millan <rmh@gnu.org>
13849
13850 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13851
0017e5ef
RM
138522011-10-15 Robert Millan <rmh@gnu.org>
13853
13854 Fix build problem on FreeBSD and GNU/kFreeBSD.
13855
13856 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13857
d8919552
VS
138582011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13861
13862 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13863 types.
13864 (grub_hfsplus_btree_recoffset): Likewise.
13865 (grub_hfsplus_btree_recptr): Likewise.
13866 (grub_hfsplus_find_block): Likewise.
13867 (grub_hfsplus_btree_search): Likewise.
13868 (grub_hfsplus_read_block): Likewise.
13869 (grub_hfsplus_read_file): Likewise.
13870 (grub_hfsplus_mount): Likewise.
13871 (grub_hfsplus_btree_iterate_node): Likewise.
13872 (grub_hfsplus_btree_search): Likewise.
13873 (grub_hfsplus_iterate_dir): Likewise.
13874 (grub_hfsplus_read): A small code simplification.
13875
c81296b6
VS
138762011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/kern/emu/hostdisk.c
13879 (convert_system_partition_to_system_disk): Don't assume that children
13880 of mapper nodes are mapper nodes.
13881
0eb8ffb1
VS
138822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13885 * include/grub/misc.h (grub_isxdigit): New function.
13886 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13887 switched to grub_isxdigit.
13888 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13889 number starting with a letter.
13890
a98f4a08
RM
138912011-10-09 Robert Millan <rmh@gnu.org>
13892
13893 LVM support for FreeBSD and GNU/kFreeBSD.
13894
13895 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13896 GNU/kFreeBSD.
13897 (LVM_DEV_MAPPER_STRING): Move from here ...
13898 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13899 * util/getroot.c: Include `<grub/util/lvm.h>'.
13900 (grub_util_get_dev_abstraction): Enable
13901 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13902 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13903 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13904 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13905 support it.
13906 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13907 GNU/kFreeBSD.
13908 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13909 when LVM abstraction is required for ${GRUB_DEVICE}.
13910
050e8e90
SJ
139112011-10-06 Szymon Janc <szymon@janc.net.pl>
13912
13913 Add support for LZO compression in GRUB:
13914 - import of minilzo library,
13915 - LZO decompression for btrfs,
13916 - lzop files decompression.
13917
13918 * grub-core/io/lzopio.c: New file.
13919 * grub-core/lib/adler32.c: Likewise.
13920 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13921 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13922 * grub-core/lib/minilzo/minilzo.c: Likewise.
13923 * grub-core/lib/minilzo/minilzo.h: Likewise.
13924 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13925 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13926 grub-core/lib/minilzo/minilzo.c to common.
13927 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13928 cflags in cppflags.
13929 * grub-core/Makefile.core.def (btrfs): Likewise.
13930 * grub-core/Makefile.core.def (lzopio): New module.
13931 (adler32): Likewise.
13932 * grub-core/fs/btrfs.c: Include minilzo.h.
13933 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13934 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13935 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13936 (grub_btrfs_lzo_decompress): New function.
13937 (grub_btrfs_extent_read): Add support for LZO compression type.
13938 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13939 (GRUB_USHRT_MAX): Likewise.
13940 (GRUB_UINT_MAX): Likewise.
13941 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13942 (UINT_MAX): Likewise.
13943 (CHAR_BIT): Likewise.
13944 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13945 grub-core/lib/posix_wrap/limits.h
13946 (UCHAR_MAX): Likewise.
13947 * include/grub/file.h (grub_file_filter_id): New compression filter
13948 GRUB_FILE_FILTER_LZOPIO.
13949 * include/grub/file.h (grub_file_filter_id): Set
13950 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13951 * include/grub/types.h (grub_get_unaligned16): New function.
13952 (grub_get_unaligned32): Likewise.
13953 (grub_get_unaligned64): Likewise.
13954 * util/import_gcry.py (cryptolist): Add adler32.
13955
0eb8ffb1
VS
139562011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13959 in perspective decreases the complexity of build system and fixes
13960 compilation right now.
13961
ce79cc99 139622011-10-01 Ales Nesrsta <starous@volny.cz>
13963
13964 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13965 (fixed problem related to using UHCI with coreboot).
13966
8667a314
BC
139672011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13968
13969 * gentpl.py: Use Autogen macros so that the output template file
13970 (Makefile.tpl) size is reduced.
13971
fc5efcc0
MK
139722011-09-29 Mads Kiilerich <mads@kiilerich.com>
13973
13974 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13975 extra_dist.
13976
d1ab689d
ML
139772011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13978
13979 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13980 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13981
c05de032
ML
139822011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13983
13984 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13985 _fullpath.
13986
cca7ccd8
ML
139872011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13988
13989 Remove extra declaration of sleep for mingw32.
13990
13991 * util/misc.c (sleep) [__MINGW32__]: Removed.
13992 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13993
e0b0dc83
GS
139942011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13995
13996 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13997 type and packname.
13998 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13999 Resurrected.
14000 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14001 (grub_netbsd_btinfo_bootwedge): New struct.
14002 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14003 New function.
14004 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14005
91a1a164
TH
140062011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14007
14008 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14009 loader.
14010
2ded951e
AB
140112011-09-28 Andreas Born <futur.andy@googlemail.com>
14012
14013 Fix incorrect identifiers in bash-completion.
14014
14015 * util/bash-completion.d/grub-completion.bash.in
14016 (_grub_mkpasswd-pbkdf2): Rename to ...
14017 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14018 (_grub_script-check): Rename to ...
14019 (_grub_script_check): ... this. All users updated.
14020
69915030
VS
140212011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14024 Return 0 if disk isn't biosdisk.
14025
20fd15f9
GS
140262011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14027
14028 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14029 on NetBSD.
14030 * Makefile.util.def (grub-fstest): Likewise.
14031
1a7d7db9
GS
140322011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14033
14034 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14035 Get sector size from disk label.
14036
2221ab6c
CW
140372011-09-05 Colin Watson <cjwatson@ubuntu.com>
14038
14039 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14040 */README* as well as README*.
14041 Reported by: Axel Beckert.
14042
ca51c4a0
VS
140432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14046 case of less than 256 MiB of RAM.
14047
ab80f326
VS
140482011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/commands/wildcard.c (make_regex): Handle @.
14051
4155e697
VS
140522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14055
ab178c08
SJ
140562011-08-21 Szymon Janc <szymon@janc.net.pl>
14057
14058 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14059 AC_LANG_CONFTEST macros.
14060
7dc3c686
SJ
140612011-08-20 Szymon Janc <szymon@janc.net.pl>
14062
14063 Add grub-fstest option to uncompress data for commands.
14064
14065 * util/grub-fstest.c (uncompress): New var.
14066 (options): New option -u.
14067
fe8d4a7b
SJ
140682011-08-20 Szymon Janc <szymon@janc.net.pl>
14069
14070 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14071 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14072
a5219af1
SJ
140732011-08-20 Szymon Janc <szymon@janc.net.pl>
14074
14075 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14076 file type was not recognized correctly (not gzip or corrupted).
14077
f87abff5
VS
140782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14081 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14082
d94497ea
VS
140832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14086 loongson.
14087 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14088 video_radeon_fuloong2e.
14089 * grub-core/video/radeon_fuloong2e.c: New file.
14090 * include/grub/video.h (grub_video_id_t): Add new ID
14091 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14092
0d1fd011
VS
140932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14096 define.
14097 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14098 that PRID matches the detected subplatform and reset the subplatform
14099 if it doesn't.
14100
84beb0ee
VS
141012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14104
1227c133
VS
141052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 Fix PCI iterating on functions >= 4.
14108
14109 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14110 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14111 Removed.
14112 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14113 (grub_pci_read): Fix bitmask.
14114 (grub_pci_read_word): Likewise.
14115 (grub_pci_read_byte): Likewise.
14116 (grub_pci_write): Likewise.
14117 (grub_pci_write_word): Likewise.
14118 (grub_pci_write_byte): Likewise.
14119
9594c689
VS
141202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14123 can still be specified in TARGET_CFLAGS)
14124
14a2562c
VS
141252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14128
14129 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14130 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14131 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14132 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14133 (FULOONG): Rename to ...
14134 (FULOONG2F): ... this. All users updated.
14135 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14136 (machtype_fuloong2f_str): ... this.
14137 (machtype_fuloong2e_str): New string.
14138 Check for machtype_fuloong2e_str.
14139 * grub-core/loader/mips/linux.c (loongson_machtypes)
14140 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14141 * grub-core/term/serial.c (loongson_defserial)
14142 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14143 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14144 loongson_defserial.
14145 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14146 Rename to ...
14147 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14148 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14149 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14150 to IMAGE_FULOONG2F_FLASH. All users updated.
14151 (image_targets): Rename images.
14152 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14153
b526cbb6
SJ
141542011-08-19 Szymon Janc <szymon@janc.net.pl>
14155
14156 Make enable of disk cache statistics code configurable.
14157
14158 * configure.ac: --enable-cache-stats added.
14159 * config.h.in (DISK_CACHE_STATS): New define.
14160 * grub-core/Makefile.core.def (cacheinfo): New command.
14161 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14162 * grub-core/commands/cacheinfo.c: New file.
14163 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14164 moved to cacheinfo.c.
14165 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14166 debug code.
14167 * include/grub/disk.h: Likewise.
14168
fb739ccd
SJ
141692011-08-19 Szymon Janc <szymon@janc.net.pl>
14170
14171 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14172 * grub-core/Makefile.am: Likewise.
14173
2bba8cfd
VS
141742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14177 non-zero pull.
14178
43526629
VS
141792011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14182 All users updated.
14183 (grub_jfs_lookup_symlink): Use correct starting inode.
14184
5c144cc8
VS
141852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * util/grub-setup.c (main): Add missing gcry initialisation.
14188
b1257f65
VS
141892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 Don't accept text modes on EFI when booting Linux.
14192
14193 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14194 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14195
828bc390
ML
141962011-08-15 Mario Limonciello <mario_limonciello@dell.com>
141972011-08-15 Colin Watson <cjwatson@ubuntu.com>
14198
14199 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14200 use of "/path/.." as in grub-install for EFI as well as handling
14201 symlinks correctly.
14202 Fixes Debian bug #637768.
14203
5f60ccac
CW
142042011-08-15 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * util/grub-probe.c: Remove duplicate #include.
14207
6dc212f9
RM
142082011-08-10 Robert Millan <rmh@gnu.org>
14209
14210 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14211
14212 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14213 function.
14214 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14215 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14216
66816d85
RM
142172011-08-03 Robert Millan <rmh@gnu.org>
14218
14219 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14220 la_array as packed.
14221 Reported by: Zachary Bedell
14222
20168fca
CW
142232011-07-26 Colin Watson <cjwatson@ubuntu.com>
14224
14225 * configure.ac: The Loongson port requires grub-mkfont due to its
14226 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14227 be built.
14228
303b6246
CW
142292011-07-26 Colin Watson <cjwatson@ubuntu.com>
14230
14231 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14232 processing arguments (otherwise help2man fails when GRUB has not yet
14233 been installed).
14234
6795300e
VS
142352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14236
41aa28ea
VS
14237 New script grub-mkstandalone.
14238
14239 * Makefile.util.def (grub-mkstandalone): New script.
14240 * docs/man/grub-mkstandalone.h2m: New file.
14241 * util/grub-mkstandalone.in: Likewise.
14242
142432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 Support ATA disks with 4K sectors.
6795300e
VS
14246
14247 * include/grub/ata.h (grub_ata): New member log_sector_size.
14248 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14249 (grub_ata_identify): Read sector size.
14250 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14251
92227597
VS
142522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * util/grub-install.in: Don't use uhci outside of x86.
14255
c77069f5
VS
142562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * util/grub-mkrescue.in: Add missing quotes.
14259
142602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14261
14262 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14263 dereference.
14264
583168a2
VS
142652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14268
6be1c01f
VS
142692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * include/grub/video.h: add missing EXPORT_FUND on
14272 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14273
a1167439
VS
142742011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 * include/grub/mips/kernel.h: Fix define conflict.
14277
bf66054f
VS
142782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14281 all four ways.
14282
8fc4fa45
CW
142832011-07-21 Colin Watson <cjwatson@ubuntu.com>
14284
14285 Preferred resolution detection for VBE.
14286
14287 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14288 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14289 the Flat Panel extension, in line with the X.org VESA driver.
14290 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14291 New function.
14292 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14293 (grub_vbe_bios_read_edid): Likewise.
14294 (grub_vbe_get_preferred_mode): Likewise.
14295 (grub_video_vbe_setup): When the mode is "auto", try to get the
14296 preferred mode from VBE, and use the largest mode that is no larger
14297 than the preferred mode (some BIOSes expose a preferred mode that is
14298 not in their mode list!). If this fails, fall back to 640x480 as a
14299 safe conservative choice.
14300 (grub_video_vbe_get_edid): New function.
14301 (grub_video_vbe_adapter): Add get_edid.
14302 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14303 (struct grub_video_adapter): Add get_edid.
14304 (grub_video_edid_checksum): Add prototype.
14305 (grub_video_edid_preferred_mode): Likewise.
14306 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14307 structure.
14308
14309 * grub-core/commands/videoinfo.c (print_edid): New function.
14310 (grub_cmd_videoinfo): Print EDID if available.
14311
14312 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14313 is more appropriate on a wider range of platforms than 640x480.
14314 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14315 documentation.
14316
ca5572a9
VS
143172011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14320
e4bcf625
VS
143212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * po/POTFILES.in: Regenerate.
14324
c4edd548
VS
143252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14328 incorrect memory usage.
14329
16a2bab0
VS
143302011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * util/grub-install.in: Source grub-mkconfig_lib.
14333
2e418de6
VS
143342011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 Remove getroot.c from core on emu platform.
14337
14338 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14339 kern/emu/raid.c.
14340 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14341 useless.
14342 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14343 * util/getroot.c (get_win32_path): ... here.
14344 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14345 * util/getroot.c (fini_libzfs): ... here.
14346 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14347 * util/getroot.c (grub_get_libzfs_handle): ... here.
14348 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14349 Moved from here...
14350 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14351 * grub-core/kern/emu/misc.c
14352 (grub_make_system_path_relative_to_its_root): Moved from here...
14353 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14354 * grub-core/kern/emu/getroot.c: Moved from here ...
14355 * util/getroot.c: ... here. All users updated.
14356 * grub-core/kern/emu/raid.c: Moved from here ...
14357 * util/raid.c: ... here. All users updated.
14358
def9832a
VS
143592011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * po/POTFILES.in: Regenerate.
14362
cd8fe79a
VS
143632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 Fix compilation on GNU/Linux.
14366
14367 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14368 Disable geli.
14369 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14370 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14371 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14372
a251b719
VS
143732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
143742011-07-07 Michael Gorven <michael@gorven.za.net>
143752011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14376
14377 LUKS and GELI support.
14378
14379 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14380 grub-core/disk/luks.c, grub-core/disk/geli.c,
14381 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14382 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14383 grub-core/lib/arg.c.
14384 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14385 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14386 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14387 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14388 (grub-bin2h): Add libgcry.a.
14389 (grub-mkimage): Likewise.
14390 (grub-mkrelpath): Likewise.
14391 (grub-script-check): Likewise.
14392 (grub-editenv): Likewise.
14393 (grub-mkpasswd-pbkdf2): Likewise.
14394 (grub-pe2elf): Likewise.
14395 (grub-fstest): Likewise.
14396 (grub-mkfont): Likewise.
14397 (grub-mkdevicemap): Likewise.
14398 (grub-probe): Likewise.
14399 (grub-ofpath): Likewise.
14400 (grub-mklayout): Likewise.
14401 (example_unit_test): Likewise.
14402 (grub-menulst2cfg): Likewise.
14403 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14404 * grub-core/Makefile.core.def (cryptodisk): New module.
14405 (luks): Likewise.
14406 (geli): Likewise.
14407 * grub-core/disk/AFSplitter.c: New file.
14408 * grub-core/disk/cryptodisk.c: Likewise.
14409 * grub-core/disk/geli.c: Likewise.
14410 * grub-core/disk/luks.c: Likewise.
14411 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14412 grub_util_is_lvm.
14413 (grub_util_get_dm_abstraction): New function.
14414 (grub_util_follow_gpart_up): Likewise.
14415 (grub_util_get_geom_abstraction): Likewise.
14416 (grub_util_get_dev_abstraction): Use new functions.
14417 (grub_util_pull_device): Pull GELI and LUKS.
14418 (grub_util_get_grub_dev): Handle LUKS and GELI.
14419 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14420 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14421 (follow_geom_up): Removed.
14422 (grub_util_fd_seek): New function.
14423 (open_device): Use grub_util_fd_seek.
14424 (nread): Rename to ..
14425 (grub_util_fd_read): ... this. All users updated.
14426 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14427 (grub_crypto_cbc_decrypt): Likewise.
14428 (grub_crypto_hmac_write): Likewise.
14429 (grub_crypto_hmac_buffer): Likewise.
14430 (grub_password_get): Extend to util.
14431 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14432 New member modname.
14433 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14434 * include/grub/cryptodisk.h: New file.
14435 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14436 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14437 LUKS and GELI.
14438 (grub_util_follow_gpart_up): New proto.
14439 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14440 (grub_util_fd_read): Likewise.
14441 (grub_cryptodisk_cheat_mount): Likewise.
14442 (grub_util_cryptodisk_print_uuid): Likewise.
14443 (grub_util_get_fd_sectors): Likewise.
14444 * util/grub-fstest.c (mount_crypt): New var.
14445 (fstest): Mount crypto if requested.
14446 (options): New option -C.
14447 (argp_parser): Parse -C.
14448 (main): Init and fini gcry.
14449 * util/grub-install.in: Support cryptodisk install.
14450 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14451 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14452 cryptodisk.
14453 (prepare_grub_to_access_device): Likewise.
14454 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14455 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14456 (probe_cryptodisk_uuid): New function.
14457 (probe_abstraction): Likewise.
14458 (probe): Use new functions.
14459 * util/import_gcry.py: Create Makefile.utilgcry.def.
14460 Add modname member.
14461
9bfdcbbc
VS
144622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 Lazy device scanning.
14465
14466 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14467 (grub-setup): Remove util/raid.c.
14468 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14469 * grub-core/disk/lvm.c (scan_depth): New variable.
14470 (grub_lvm_iterate): Rescan if necessary.
14471 (find_lv): New function based on grub_lvm_open.
14472 (grub_lvm_open): Use find_lv. Rescan on error.
14473 (is_node_readable): New function.
14474 (is_lv_readable): Likewise.
14475 (grub_lvm_scan_device): Skip already found disks.
14476 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14477 Stop if searched device is found and readable.
14478 * grub-core/disk/raid.c (inscnt): New variable.
14479 (scan_depth): Likewise.
14480 (scan_devices): New function based on grub_raid_register. Abort if
14481 looked for device is found.
14482 (grub_raid_iterate): Rescan if needed.
14483 (find_array): NEw function based on -grub_raid_open.
14484 (grub_raid_open): Use find_array and rescan.
14485 (insert_array): Set became_readable_at.
14486 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14487 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14488 New function.
14489 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14490 (grub_util_pull_device): New function.
14491 (grub_util_get_grub_dev): Call grub_util_pull_device.
14492 * util/raid.c: Moved to ..
14493 * grub-core/kern/emu/raid.c: ... here.
14494 (grub_util_raid_getmembers): New parameter "bootable".
14495 All users updated. Support 1.x.
14496 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14497 All users updated.
14498 * include/grub/disk.h (grub_disk_pull_t): New enum.
14499 (grub_disk_dev): Change iterate prototype.
14500 All users updated.
14501 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14502 New proto.
14503 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14504 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14505 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14506 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14507 All users updated.
14508 * include/grub/util/raid.h: Removed.
14509
1c358e59
VS
145102011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * po/POTFILES.in: Regenerate.
14513
abee94ed
VS
145142011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 Unify sparc init with other ieee1275.
14517
14518 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14519 instead of kern/sparc64/ieee1275/init.c.
14520 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14521 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14522 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14523 grub/machine/kernel.h.
14524 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14525 (grub_claim_heap) [__sparc__]: Use sparc version.
14526 (grub_machine_init): Moved args parsing to
14527 (grub_parse_cmdline): ...this.
14528 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14529 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14530 New definition.
14531 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14532
14533 Move BOOTP to separate file.
14534
14535 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14536 * grub-core/net/net.c: Move all BOOTP functions to
14537 * grub-core/net/bootp.c: ... here.
14538
14539 Use frame interface on PXE.
14540
14541 * grub-core/Makefile.core.def (pxecmd): Removed.
14542 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14543 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14544 * grub-core/i386/pc/pxe.c: Moved from here ...
14545 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14546 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14547 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14548
14549 EFI network support.
14550
14551 * grub-core/Makefile.core.def (efinet): New module.
14552 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14553 here...
14554 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14555 All users updated.
14556 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14557 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14558 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14559 * grub-core/net/drivers/efi/efinet.c: New file.
14560 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14561 (grub_efi_net_config): New extern var.
14562
14563 Various cleanups and bugfixes.
14564
14565 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14566 error.
14567 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14568 disk declared as partition.
14569 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14570 leak on failure.
14571 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14572 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14573 (grub_debug_zalloc): Likewise.
14574 (grub_debug_realloc): Likewise.
14575 (grub_debug_memalign): Likewise.
14576 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14577 Check that target is IPv4.
14578 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14579 local-mac-address as fallback.
14580 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14581 memory leak.
14582 * grub-core/net/ip.c (ipchksum): Rename to ...
14583 (grub_net_ip_chksum): ... this. All users updated.
14584 (grub_net_recv_ip_packets): Special handling for DHCP.
14585 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14586
14587 Unify prefix handling
14588
14589 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14590 (grub_machine_get_bootlocation): ... this.
14591 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14592 (grub_machine_get_bootlocation): ... this.
14593 (grub_prefix): New variable.
14594 (prefix): Removed.
14595 (root_dev): New variable.
14596 (dir): Likewise.
14597 (main): Use new variables.
14598 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14599 Revamped into ...
14600 (grub_machine_get_bootlocation): ... this.
14601 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14602 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14603 (grub_machine_get_bootlocation): ... this.
14604 (grub_machine_set_prefix): Removed.
14605 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14606 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14607 Revamped into ...
14608 (grub_machine_get_bootlocation): ... this.
14609 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14610 (grub_set_prefix_and_root): ... this. All users updated.
14611 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14612 Revamped into ...
14613 (grub_machine_get_bootlocation): ... this.
14614 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14615 (grub_machine_get_bootlocation): New proto.
14616 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14617
14618 Less intrusive and more reliable seek on network implementation.
14619
14620 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14621 (grub_file_seek): Don't call grub_file_net_seek.
14622 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14623 (grub_net_fs_read_real): .. this.
14624 (grub_net_seek_real): Use net->offset.
14625 (grub_net_fs_read): Seek if necessary.
14626
14627 Unify IEEE1275 netwotk config with the other platforms.
14628
14629 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14630 New variable.
14631 (grub_machine_get_bootlocation): Support network.
14632 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14633 Support type and device parsing.
14634 (grub_ieee1275_get_device_type): New function.
14635 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14636 into ...
14637 (grub_ieee1275_net_config_real): ... this.
14638 (grub_ofnet_probecards): Removed.
14639 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14640 * include/grub/ieee1275/ofnet.h: Removed.
14641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14642 extern var.
14643 (grub_ieee1275_get_device_type): New function.
14644
14645 Unify network device closing across platforms and make more robust.
14646
14647 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14648 grub_grubnet_fini.
14649 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14650 already.
14651 * grub-core/net/net.c (grub_net_network_level_interface_register):
14652 Update num_ifaces.
14653 (grub_net_card_unregister): Close all interfaces.
14654 (receive_packets): Don't poll if no iterfaces are registered.
14655 Open if necessary.
14656 (grub_net_fini_hw): New function.
14657 (grub_net_restore_hw): Likewise.
14658 (fini_hnd): New variable.
14659 (GRUB_MOD_INIT): Register preboot hook.
14660 (GRUB_MOD_FINI): Run and unregister preboot hook.
14661
14662 Poll network cards when idle.
14663
14664 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14665 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14666 * grub-core/net/net.c (receive_packets): Save last poll time.
14667 (grub_net_poll_cards_idle_real): New function.
14668 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14669 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14670 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14671
14672 Rename ofnet interfaces.
14673
14674 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14675 (grub_ofnet_findcards): Use ofnet_%s names.
14676
14677 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14678
14679 Cleanup socket opening.
14680
14681 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14682 (grub_net_fs_close): Likewise.
14683 (grub_net_fs_read_real): Use eof member.
14684 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14685 (+grub_net_udp_close): New inline function.
14686
14687 * include/grub/net/tftp.h: Moved to the top of ...
14688 * grub-core/net/tftp.c: ... here.
14689 * include/grub/net/ip.h: Moved mostly to the top of ...
14690 * grub-core/net/ip.c: ... here.
14691 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14692 * grub-core/net/ethernet.c: ... here.
14693
14694 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14695
14696 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14697 FS name.
14698
14699 * include/grub/net/ip.h (ipv4_ini): Removed.
14700 (ipv4_fini): Likewise.
14701
14702 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14703 (grub_net_send_ip_packets): Likewise.
14704
cf1337aa
VS
147052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14708 grub_read_cmos prototype.
14709
93c06ff9
VS
147102011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 VGA text support in qemu-mips
14713
14714 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14715 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14716 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14717 text.
14718 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14719 * grub-core/kern/vga_init.c: ... this.
14720 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14721 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14722 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14723 Adjust.
14724 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14725 GRUB_MACHINE_PCI_IO_BASE.
14726
748ccabe
VS
147272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 MIPS qemu flash support.
14730
14731 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14732 magic.
14733 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14734 (grub_machine_init): Probe memory if its size isn't known.
14735 * util/grub-mkimage.c (image_targets): Add flash targets.
14736 (generate_image): Handle flash targets.
14737
d7345994
VS
147382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 MIPS qemu at_keyboard support.
14741
14742 * gentpl.py (videoinkernel): Add qemu-mips.
14743 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14744 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14745 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14746 modules.
14747 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14748 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14749 * grub-core/term/serial.c (grub_serial_register)
14750 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14751
a07a81b3
VS
147522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 CMOS support on sparc.
14755
14756 * gentpl.py (cmos): Add powerpc and sparc.
14757 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14758 powerpc and sparc.
14759 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14760 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14761 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14762 grub_set_datetime_cmos.
14763 * grub-core/lib/ieee1275/cmos.c: New file.
14764 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14765 (find_rtc): Set no_ieee1275_rtc on error.
14766 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14767 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14768 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14769 fail. Move value to argument. All users updated
14770 (grub_cmos_write): Likewise.
14771 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14772 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14773 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14774 grub_get_datetime_cmos and grub_set_datetime_cmos.
14775
77546584
GS
147762011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14777
14778 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14779 sourcing grub-mkconfig_lib.
14780 * util/update-grub_lib.in: Likewise.
14781 * util/grub.d/00_header.in: Likewise.
14782 * util/grub.d/10_hurd.in: Likewise.
14783 * util/grub.d/10_kfreebsd.in: Likewise.
14784 * util/grub.d/10_linux.in: Likewise.
14785 * util/grub.d/10_netbsd.in: Likewise.
14786 * util/grub.d/10_windows.in: Likewise.
14787 * util/grub.d/20_linux_xen.in: Likewise.
14788 * util/grub.d/30_os-prober.in: Likewise.
14789
54894791
CW
147902011-06-28 Colin Watson <cjwatson@ubuntu.com>
14791
14792 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14793 default_bg_color rather than black.
14794 (grub_gfxterm_fullscreen): Likewise.
14795 (grub_gfxterm_background_color_cmd): Save new background color in
14796 default_bg_color.
14797
8d5d8444
VS
147982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14801
5afeb5bd
VS
148022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14805 mismerge.
14806
ba7df45e
VS
148072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 Chainloading on coreboot support.
14810
14811 * grub-core/Makefile.core.def (chain): Add coreboot.
14812 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14813
d0b526b2
VS
148142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14817 if it happens.
14818
5ff1d945
VS
148192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 Implement time command.
14822
14823 * grub-core/Makefile.core.def (time): New module.
14824 * grub-core/commands/time.c: New file.
14825 * grub-core/script/parser.y: Remove "time" keyword.
14826 * grub-core/script/yylex.l: Likewise.
14827
5ebaad7e
VS
148282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14831
bdea3798
VS
148322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14835 when handling leftovers.
14836
b28c5655
VS
148372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14840 so that help2man doesn't fail.
14841
b6f945dc
VS
148422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14845 type in pointers on sparc64.
14846 (get_card_packet): Likewise.
14847
f9b75e8a
CW
148482011-06-27 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14851 with `*'.
14852 (grub_cmd_videoinfo): Fetch current video mode.
14853
1e3d9b86
VS
148542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14857 because of underlying system restrictions.
14858
efff4b1c
VS
148592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14862 necessary.
14863
9fc9ce37
VS
148642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 Coreboot video support.
14867
14868 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14869 (vbe): Likewise.
14870 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14871 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14872 here ...
14873 * grub-core/kern/i386/int.S: ... here.
14874 * grub-core/video/i386/pc/vbe.c: Updated includes.
14875 * grub-core/video/i386/pc/vga.c: Likewise.
14876 * include/grub/i386/coreboot/memory.h
14877 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14878 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14879 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14880 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14881 Disable interrupts.
14882 * include/grub/i386/pc/vga.h: Removed. All users updated.
14883
41bec7fe
VS
148842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14887 definitions for dprintf.
14888 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14889
ca80309d
VS
148902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14893 prototype.
14894 (get_card_packet): Likewise.
14895
9e322ce8
YB
148962011-06-26 Yves Blusseau <blusseau@zetam.org>
14897
14898 Display the path of the file when file is not found
14899
14900 * grub-core/fs/fat.c: Display the filename when file is not found.
14901 * grub-core/fs/fshelp.c: Likewise.
14902 * grub-core/fs/hfs.c: Likewise.
14903 * grub-core/fs/jfs.c: Likewise.
14904 * grub-core/fs/minix.c: Likewise.
14905 * grub-core/fs/ufs.c: Likewise.
14906 * grub-core/fs/btrfs.c: Likewise.
14907 * grub-core/commands/i386/pc/play.c: Likewise.
14908
cbf597af
SJ
149092011-06-26 Szymon Janc <szymon@janc.net.pl>
14910
14911 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14912 pointer checks before calling grub_free().
14913 * grub-core/commands/wildcard.c (match_devices): Likewise.
14914 * grub-core/commands/wildcard.c (match_files): Likewise.
14915 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14916 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14917 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14918 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14919 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14920 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14921 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14922 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14923 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14924
6295b32f
P
149252011-06-25 Patrick <p55@mailinator.com>
14926
14927 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14928
77c0840b
VS
149292011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14932 (grub_pxe_send): Likewise.
14933 (GRUB_MOD_INIT): Fix types.
14934
40ea05de
SJ
149352011-06-24 Szymon Janc <szymon@janc.net.pl>
14936
14937 * grub-core/io/xzio.c: Fix code style issues
14938
90162423
MRA
149392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
149402011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14941
14942 Network infrastructure.
14943 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14944
14945 * include/grub/net/arp.h: New file.
90162423
MRA
14946 * include/grub/net/device.h: Likewise.
14947 * include/grub/net/ethernet.h: Likewise.
14948 * include/grub/net/ip.h: Likewise.
14949 * include/grub/net/netbuff.h: Likewise.
14950 * include/grub/net/tftp.h: Likewise.
14951 * include/grub/net/udp.h: Likewise.
14952 * include/grub/ieee1275/ofnet.h: Likewise.
14953 * include/grub/emu/export.h: Likewise.
14954 * include/grub/net.h: Likewise.
14955 * grub-core/net/arp.c: Likewise.
14956 * grub-core/net/ethernet.c: Likewise.
14957 * grub-core/net/ip.c: Likewise.
14958 * grub-core/net/udp.c: Likewise.
14959 * grub-core/net/tftp.c: Likewise.
14960 * grub-core/net/netbuff.c: Likewise.
14961 * grub-core/net/net.c: Likewise.
14962 * grub-core/net/drivers/emu/emunet.c: Likewise.
14963 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14964 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14965 export.h.
14966 * grub-core/Makefile.core.def (net): New module.
14967 (tftp): Likewise.
14968 (ofnet): Likewise.
14969 (emunet): Likewise.
14970 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14971 network protocols.
14972 * grub-core/kern/device.c (grub_net_open) : New variable.
14973 (grub_device_open): Handle network device.
14974 (grub_device_close): Likewise.
14975 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14976 (grub_grubnet_fini): Likewise.
14977 (grub_file_seek): Seek in network device.
14978 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14979 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14980 network root.
14981 (grub_machine_fini): Call grub_grubnet_fini.
14982 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14983 network.
14984 (grub_ieee1275_get_aliasdevname): New function.
14985 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14986 Add unofficial Solaris network info.
14987 (grub_multiboot_make_mbi): Likewise.
14988 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14989 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14990 * include/grub/device.h (grub_fs): Removed.
14991 * include/grub/err.h (grub_err_t): Add network-related values.
14992 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14993 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14994 (grub_ieee1275_get_aliasdevname): New proto.
14995 * include/grub/net.h: Rewritten.
423a1849 14996
031f22a0
VS
149972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15000 names.
15001
4388ca72
VS
150022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15005 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15006 it truncates the output.
15007 Reported by: Ximin Luo.
15008
98e2f506
VS
150092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15012
2a5e94d8
VS
150132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15016 partmap before abstraction.
15017
535c1910
AK
150182011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15019
15020 * util/grub-mkconfig_lib.in: Add missing quotes.
15021
bc09e1a2
VS
150222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15025 old method if mountinfo would return /dev/root and /dev/root doesn't
15026 exist.
15027
290766fb
VS
150282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 ZFS zlib support
15031
15032 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15033 (decomp_table): Add zlib entries.
15034 (zio_read): USe 8 bits for compression function rather than 3.
15035 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15036
150372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * grub-core/disk/ahci.c: Add missing license statements.
15040 * grub-core/fs/romfs.c: Likewise.
15041 * grub-core/lib/ia64/setjmp.S: Likewise.
15042 * grub-core/loader/i386/pc/freedos.c: Likewise.
15043 * grub-core/loader/ia64/efi/linux.c: Likewise.
15044 * grub-core/video/colors.c: Likewise.
15045 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15046
5ab3f48a
VS
150472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 AHCI support.
15050
15051 * grub-core/Makefile.core.def (ata_pthru): Removed.
15052 (ahci): New module.
15053 (pata): Likewise.
15054 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15055 on unload.
15056 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15057 readwrite.
15058 (grub_hdparm_do_check_powermode_cmd): Likewise.
15059 (grub_hdparm_do_smart_cmd): Likewise.
15060 (grub_hdparm_set_val_cmd): Likewise.
15061 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15062 * grub-core/disk/ahci.c: New file.
15063 * grub-core/disk/ata.c: Factor out the low-level part into ...
15064 * grub-core/disk/pata.c: ... here.
15065 * grub-core/disk/ata_pthru.c: Contents moved to ...
15066 * grub-core/disk/pata.c: ... here.
15067 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15068 (grub_scsi_iterate): Use grub_scsi_names.
15069 (grub_scsi_open): Likewise.
15070 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15071 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15072 (grub_ata_regs_t): New struct.
15073 (grub_disk_ata_pass_through_parms): Likewise.
15074 (grub_ata_device): Renamed to ...
15075 (grub_ata): ... this.
15076 (grub_ata_dev): New struct.
15077 Removed all low-level inline functions.
15078 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15079 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15080 iterate hooks and open. All users updated.
15081 * util/grub-install.in: Handle AHCI disk module.
15082
c31dc5f5
SJ
150832011-06-23 Szymon Janc <szymon@janc.net.pl>
15084
15085 Add support for DRI and RSTn markers in JPEG files.
15086
15087 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15088 (JPEG_MARKER_RST0): Likewise.
15089 (JPEG_MARKER_RST1): Likewise.
15090 (JPEG_MARKER_RST2): Likewise.
15091 (JPEG_MARKER_RST3): Likewise.
15092 (JPEG_MARKER_RST4): Likewise.
15093 (JPEG_MARKER_RST5): Likewise.
15094 (JPEG_MARKER_RST6): Likewise.
15095 (JPEG_MARKER_RST7): Likewise.
15096 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15097 (grub_jpeg_decode_dri): New function.
15098 (grub_jpeg_decode_sos): Move image data related part into
15099 grub_jpeg_decode_data function.
15100 (grub_jpeg_decode_data): New function.
15101 (grub_jpeg_reset): New function.
15102 (grub_jpeg_decode_jpeg): Handle new markers.
15103
fe12fd5b
VS
151042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * util/ieee1275/ofpath.c (check_sas): Close fd.
15107 (main): Free of_path.
15108 Reported by: David Volgyes <dvolgyes>.
15109
03147f46
VS
151102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15113 Reported by: David Volgyes <dvolgyes>.
15114
cad3237f
VS
151152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15118 file after stat.
15119 Reported by: David Volgyes <dvolgyes>.
15120
13548d26
VS
151212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15124
15125 Reported by: David Volgyes <dvolgyes>.
15126
e061a1b5
VS
151272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15130 Prevent memory leak.
15131
1abe47dc
VS
151322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15135 (main): Close file.
e061a1b5 15136 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15137
fbc62666
VS
151382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15141 to continue if allocation is failed.
15142
15143 Reported by: David Volgyes <dvolgyes>.
15144
e98c83e9
DV
151452011-06-23 David Volgyes <dvolgyes>
15146
15147 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15148 dereference.
15149
a199a8cd
VS
151502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 Fix spurious warning.
15153
15154 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15155 (acorn_partition_map_find): Use .bin member.
15156
e2d1dba0
VS
151572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15160 /dev/root as a valid device.
15161
8a5d6919
JM
151622011-06-23 Jim Meyering <meyering@redhat.com>
15163
e2d1dba0
VS
15164 Avoid NULL deref in grub_device_open.
15165
8a5d6919
JM
15166 * grub-core/kern/device.c (grub_device_open): Don't dereference
15167 a NULL pointer upon failed grub_env_get.
15168
f7db6f4a
VS
151692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 Support non-512B sectors and agglomerate reads.
15172
15173 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15174 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15175 (disk_io_guid): Removed.
15176 (make_devices): Locate solely by BlockIO.
15177 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15178 (grub_efidisk_read): Use read_blocks.
15179 (grub_efidisk_write): Use write_blocks.
15180 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15181 log_sector_size.
15182 (get_safe_sectors): Handle non-512B sectors.
15183 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15184 sectors.
15185 (grub_biosdisk_write): Handle non-512B sectors.
15186 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15187 (grub_scsi_read): Remove special non-512B block handling (now handled
15188 one level up).
15189 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15190 and do sanity checks.
15191 (grub_disk_adjust_range): Handle non-512B sectors.
15192 (transform_sector): New function.
15193 (grub_disk_read_small): Likewise.
15194 (grub_disk_read): Rewritten.
15195 (grub_disk_write): Handle non-512B sectors.
15196 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15197 log_sector_size.
15198 (open_device): Use log_sector_size.
15199 (grub_util_biosdisk_read): Likewise.
15200 (grub_util_biosdisk_write): Likewise.
15201 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15202 non-512B sectors.
15203 (pc_partition_map_embed): Likewise.
15204 * include/grub/disk.h (grub_disk): New field log_sector_size.
15205 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15206 (GRUB_DISK_CACHE_BITS): Increased to 6.
15207 * util/grub-fstest.c (fstest): New command testload.
15208 (argp_parser): Likewise.
15209
881ac815
RM
152102011-06-16 Robert Millan <rmh@gnu.org>
15211
15212 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15213 `ata' driver on kernel of FreeBSD 9.
15214
15215 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15216 (get_ataraid_disk_name): New functions.
15217 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15218 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15219 get_ataraid_disk_name() and get_ada_disk_name().
15220
1e9aef7d
CW
152212011-06-13 Colin Watson <cjwatson@ubuntu.com>
15222
15223 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15224 input format.
15225
351c7c8a
CW
152262011-05-29 Colin Watson <cjwatson@ubuntu.com>
15227
15228 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15229 `ftp.gnu.org' for `alpha.gnu.org'.
15230
6b4e6430
CW
152312011-05-27 Colin Watson <cjwatson@ubuntu.com>
15232
15233 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15234 partitions under /dev/disk/by-id/.
15235
c64db050
CW
152362011-05-27 Colin Watson <cjwatson@ubuntu.com>
15237
15238 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15239 after ten consecutive open failures. Scanning all the way up to
15240 10000 is excessive and can cause serious performance problems in
15241 some configurations.
15242 Fixes Ubuntu bug #787461.
15243
245f4aba
VS
152442011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15247 opening new one.
15248
f767c929
VS
152492011-05-21 Colin Watson <cjwatson@ubuntu.com>
152502011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 Don't stat devices unless we have to.
15253
15254 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15255 dir == /dev/mapper.
15256 (grub_guess_root_device): Use already known os_dev if possible.
15257 * grub-core/kern/emu/hostdisk.c
15258 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15259 if device is known to be a dm one.
15260
f35fa3a6
CW
152612011-05-20 Colin Watson <cjwatson@ubuntu.com>
15262
15263 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15264 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15265 Reported by: Pawel Tecza.
15266
9a79fcf2
VS
152672011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15270 (lsefisystab): Likewise.
15271 (lssal): Likewise.
15272 (lsefimmap): Likewise.
15273 (hdparm): Enable on qemu-mips.
15274 (setjmp): Add ia64 nodist.
15275 (serial): Simplify tags.
15276
63e3eea9
CW
152772011-05-18 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * Makefile.util.def (grub-ofpathname): Install manual page.
15280
09728256
CW
152812011-05-18 Colin Watson <cjwatson@ubuntu.com>
15282
15283 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15284
8b63a142
CW
152852011-05-18 Colin Watson <cjwatson@ubuntu.com>
15286
15287 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15288
e775d8ed
VS
152892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15292 into dprintf.
15293
bf947d36
VS
152942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 Use full 64-bit division.
15297
15298 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15299 (grub_divmod64): ... this.
15300 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15301 version.
15302
b84f26c5
CW
153032011-05-18 Colin Watson <cjwatson@ubuntu.com>
15304
15305 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15306 `source'.
15307
5626056f
CW
153082011-05-18 Colin Watson <cjwatson@ubuntu.com>
15309
15310 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15311 to avoid accidents when debugging with 'sh -x'.
15312 * grub-core/gensyminfo.sh.in: Likewise.
15313 * tests/example_scripted_test.in: Likewise.
15314 * tests/grub_cmd_regexp.in: Likewise.
15315 * tests/grub_script_blanklines.in: Likewise.
15316 * tests/grub_script_dollar.in: Likewise.
15317 * tests/grub_script_expansion.in: Likewise.
15318 * tests/grub_script_final_semicolon.in: Likewise.
15319 * tests/partmap_test.in: Likewise.
15320 * tests/util/grub-shell-tester.in: Likewise.
15321 * tests/util/grub-shell.in: Likewise.
15322
e2965f4a
CW
153232011-05-18 Colin Watson <cjwatson@ubuntu.com>
15324
15325 Move gfxmenu color handling to video, so that gfxterm can use it
15326 too.
15327
15328 * grub-core/gfxmenu/named_colors.c: Move to ...
15329 * grub-core/video/colors.c: ... here. Rename
15330 grub_gui_get_named_color to grub_video_get_named_color.
15331 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15332 * grub-core/video/colors.c (my_isxdigit): ... here.
15333 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15334 Move to ...
15335 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15336 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15337 to ...
15338 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15339
15340 * include/grub/gui.h (grub_gui_color_t): Move to ...
15341 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15342 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15343 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15344 * include/grub/gui.h (grub_gui_map_color): Move to ...
15345 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15346 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15347 to ...
15348 * include/grub/video.h (grub_video_get_named_color): ... here.
15349 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15350 * include/grub/video.h (grub_video_parse_color): ... here.
15351
15352 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15353 video/colors.c.
15354 (gfxmenu): Remove gfxmenu/named_colors.c.
15355 (video) [videomodules]: Add video/colors.c.
15356
15357 Add a background_color command.
15358
15359 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15360 function.
15361 (GRUB_MOD_INIT): Register background_color command.
15362 (GRUB_MOD_FINI): Unregister background_color command.
15363 (redraw_screen_rect): Allow blend/replace of text layer to be
15364 controlled independently from whether there is a background bitmap.
15365 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15366 changing bitmap.
15367
1e4b4390
VS
153682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15369
26618ff0
VS
15370 Patch BPB in ntldr and chainloader --bpb.
15371
1e4b4390
VS
15372 * grub-core/fs/fat.c: Include grub/fat.h.
15373 (grub_fat_bpb): Moved to ...
15374 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15375 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15376 grub/ntfs.h.
15377 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15378 Moved from here...
15379 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15380 here.
15381 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15382 New function.
15383 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15384 (GRUB_MOD_INIT): Show --bpb.
15385 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15386 * grub-core/normal/main.c (features): New variable.
15387 (GRUB_MOD_INIT): Set feature_* variables.
15388 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15389 proto.
15390 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15391
cf02731e
VS
153922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15395 for cleanness.
15396
e3a1073f
VS
153972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 FreeDOS direct loading support.
15400
15401 * docs/grub.texi (Supported OS): Add FreeDOS.
15402 * grub-core/Makefile.core.def (freedos): New module.
15403 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15404 variable.
15405 (grub_relocator16_boot): Handle %ebx.
15406 * grub-core/lib/i386/relocator16.S: Likewise.
15407 * grub-core/loader/i386/pc/freedos.c: New file.
15408
05caa461
VS
154092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 Long Linux command line support.
15412
15413 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15414 (maximal_cmdline_size): New variable.
15415 (allocate_pages): Use maximal_cmdline_size.
15416 (grub_cmd_linux): Set and use maximal_cmdline_size.
15417 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15418 (allocate_pages): Use maximal_cmdline_size.
15419 (grub_cmd_linux): Set and use maximal_cmdline_size.
15420 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15421 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15422 and cmdline_size.
15423
a2491e23
VS
154242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
154252011-05-18 Colin Watson <cjwatson@ubuntu.com>
15426
15427 Improve devmapper support
15428
15429 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15430 (grub_util_is_lvm): New function.
15431 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15432 than lvm if not dmraid.
15433 Handle mapped md nodes.
15434 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15435 (grub_util_device_is_mapped): ... this. Make always available. All users
15436 updated.
15437 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15438 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15439 dmraid nodes.
15440 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15441
6ad6223e
VS
154422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15445
15446 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15447 * grub-core/modinfo.sh.in: New file.
15448 * grub-core/Makefile.core.def (modinfo.sh): New script.
15449 * util/grub-mknetdir.in: Use modinfo.sh.
15450 * util/grub-mkrescue.in: Likewise.
15451
543a8f6e
VS
154522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15455 Fix potential usage of Elf32 instead of Elf64 when compiling on
15456 32-bit architecture. Add endianness macros while on it.
15457
4959e111
VS
154582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 Use mipsel- rather than mips- in directories involving mipsel ports to
15461 allow both endiannesses coexist.
15462
15463 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15464 mips. All conditions adjusted.
15465 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15466 variable.
15467 * util/grub-install.in: Adjust conditions to take renaming into account.
15468 * util/grub-mkimage.c (image_targets): Likewise. New target
15469 mips-qemu_mips-elf for bigendian mips.
15470
35341bbc
VS
154712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Avoid unnecessary copying on MIPS.
15474
15475 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15476 early if src == dest.
15477 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15478 compression is none.
15479
b772baed
VS
154802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 Reduce memory footprint on SGI by putting modules before the kernel
15483 as opposed to after.
15484
15485 * grub-core/Makefile.core.def (kernel): Increase linking address.
15486 (none_decompress): Likewise.
15487 (xz_decompress): Likewise.
15488 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15489 address.
15490 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15491 layout change.
15492 (grub_arch_modules_addr): New function.
15493 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15494 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15495 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15496 here.
15497 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15498 (grub_total_modules_size): ... this. Make global.
15499 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15500 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15501 New definition.
15502 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15503 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15504 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15505 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15506 * util/grub-mkimage.c (image_target_desc): New flag
15507 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15508 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15509 (generate_image): Handle images with modules before kernel.
15510
566a1917
VS
155112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 Prevent potential loss of memory map by overwrite on qemu-mips.
15514
15515 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15516 Save ram size in $s4.
15517 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15518 All users changed to grub_arch_memsize.
15519 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15520 Loongson.
15521 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15522 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15523 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15524 external variable.
15525
5d420cd9
CW
155262011-05-17 Colin Watson <cjwatson@ubuntu.com>
15527
15528 * .bzrignore: Remove grub-dumpbios.
15529
d064b830
CW
155302011-05-17 Colin Watson <cjwatson@ubuntu.com>
15531
15532 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15533 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15534 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15535 existing options which append).
15536 * docs/grub.texi (Simple configuration): Document new options.
15537 Reported by: Ian Jackson. Fixes Debian bug #617538.
15538
3ca2b466
CW
155392011-05-17 Colin Watson <cjwatson@ubuntu.com>
15540
15541 * util/grub-fstest.c (cmd_cat): New function.
15542 (fstest): Handle CMD_CAT.
15543 (options): Add cat.
15544 (argp_parser): Handle cat.
15545
24c9143a
CW
155462011-05-17 Colin Watson <cjwatson@ubuntu.com>
15547
15548 * Makefile.util.def (grub-bin2h): Don't install.
15549 * docs/man/grub-bin2h.h2m: Remove.
15550
90f7ac19
VS
155512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15554 place.
15555
8d4a5178
VS
155562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Reenable qemu-mips port.
15559
15560 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15561 Fix small arc bug while on it.
15562 * gentpl.py: Handle qemu_mips.
15563 * grub-core/Makefile.am: Likewise.
15564 * grub-core/Makefile.core.def: Likewise.
15565 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15566 inappropriate includes.
15567 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15568 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15569 * grub-core/kern/main.c (grub_modules_get_end)
15570 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15571 * grub-core/kern/mips/qemu-mips: Moved to ..
15572 * grub-core/kern/mips/qemu_mips: ... this.
15573 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15574 (grub_machine_init): Call terminfo_init and serial_init.
15575 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15576 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15577 New variable.
15578 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15579 parameter passing.
15580 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15581 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15582 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15583 * include/grub/mips/qemu_mips/cmos.h: New file.
15584 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15585 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15586 Removed.
15587 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15588 Use correct mips-style address.
15589 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15590 (GRUB_TICKS_PER_SECOND): Removed.
15591 (grub_get_rtc): Likewise.
15592 (grub_cpu_idle): Likewise.
15593 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15594 New definition.
15595 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15596 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15597 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15598 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15599 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15600 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15601 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15602 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15603
400b9371
VS
156042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 SGI ARCS port.
15607
15608 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15609 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15610 platforms.
15611 * configure.ac: New target mips-arc.
15612 * gentpl.py: Likewise.
15613 * grub-core/Makefile.am: Likewise.
15614 * grub-core/Makefile.core.def: Likewise.
15615 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15616 (none_decompress): Likewise.
15617 (lsdev): New module.
15618 (datetime): Use lib/arc/datetime.c on ARC.
15619 (part_dvh): New module.
15620 * grub-core/commands/arc/lsdev.c: New file.
15621 * grub-core/disk/arc/arcdisk.c: Likewise.
15622 * grub-core/kern/mips/arc/init.c: Likewise.
15623 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15624 aligned addresses.
15625 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15626 support.
15627 (grub_arch_dl_relocate_symbols): Likewise.
15628 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15629 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15630 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15631 platforms.
15632 * grub-core/lib/arc/datetime.c: New file.
15633 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15634 pci.h on non-loongson.
15635 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15636 (grub_linux_boot): Set unused registers to 0.
15637 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15638 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15639 * grub-core/mmap/mips/uppermem.c: ...here.
15640 * grub-core/partmap/dvh.c: New file.
15641 * grub-core/term/arc/console.c: Likewise.
15642 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15643 (grub_terminfo_set_current): Add terminal "arc".
15644 (grub_terminfo_readkey): Support ARC sequences.
15645 * include/grub/arc/arc.h: New file.
15646 * include/grub/arc/console.h: Likewise.
15647 * include/grub/disk.h (grub_disk_dev_id): Add
15648 GRUB_DISK_DEVICE_ARCDISK_ID.
15649 * include/grub/mips/arc/kernel.h: New file.
15650 * include/grub/mips/arc/memory.h: Likewise.
15651 * include/grub/mips/arc/time.h: Likewise.
15652 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15653 * include/grub/mips/kernel.h (grub_halt): ... here.
15654 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15655 here...
15656 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15657 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15658 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15659 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15660 proto.
15661 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15662 from here ...
15663 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15664 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15665 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15666 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15667 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15668 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15669 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15670 (grub_phys_addr_t): Moved from here ...
15671 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15672 (grub_vtop): Moved from here ...
15673 * include/grub/mips/memory.h (grub_vtop): ... here.
15674 (grub_map_memory): Moved from here ...
15675 * include/grub/mips/memory.h (grub_map_memory): ... here.
15676 (grub_unmap_memory): Moved from here ...
15677 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15678 (grub_machine_mmap_iterate): Moved from here ...
15679 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15680 (grub_mmap_get_lower): Moved from here ...
15681 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15682 (grub_mmap_get_upper): Moved from here ...
15683 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15684 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15685 here ...
15686 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15687 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15688 here ...
15689 * include/grub/mips/time.h (grub_get_rtc): ... here.
15690 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15691 here ...
15692 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15693 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15694 here ...
15695 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15696 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15697 definition.
15698 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15699 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15700 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15701 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15702 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15703 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15704 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15705 (GRUB_MACHINE_LINK_ADDR): Likewise.
15706 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15707 to 6.
15708 * util/grub-install.in: Run dvhtool on ARC.
15709 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15710 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15711
c8ecc840
VS
157122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15715 blocks.
15716
153a4b55
VS
157172011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15720 after enabling port.
15721
ff44d107
VS
157222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Skip incorrect USB devices.
15725
15726 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15727 configcnt == 0.
15728 * include/grub/usb.h (grub_usb_err_t): New enum value
15729 GRUB_USB_ERR_BADDEVICE.
15730
638dbe4f
VS
157312011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 Fuloong video init support.
15734
15735 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15736 well.
15737 (grub_vga_read_arx): New function.
15738 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15739 definition.
15740 (framebuffer): New members io, mmioptr and mmiobase.
15741 (read_sis_cmd): New function.
15742 (write_sis_cmd): Likewise.
15743 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15744 rather than 640x400.
15745 * grub-core/video/sis315_init.c: New file.
15746
c3fc520c
VS
157472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15750 non-loongson.
15751 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15752 to grub_dl_register_symbol.
15753
67b1e5c9
VS
157542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Fix compilation errors.
15757
15758 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15759 potentially unused.
15760 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15761 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15762 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15763 to loongson machines.
15764
b756f75f
VS
157652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 Several FS mtime support.
15768
15769 * grub-core/fs/affs.c (grub_affs_time): New struct.
15770 (grub_affs_file): New field mtime.
15771 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15772 type. Removed 'size'. New field 'di'. All users updated.
15773 (grub_affs_mount): Simplify checsum checking.
15774 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15775 (grub_affs_dir): Handle mtime.
15776 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15777 (grub_cpio_dir): Likewise.
15778 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15779 (grub_hfs_filerec): New field mtime.
15780 (grub_hfs_dir): Handle mtime.
15781 (grub_hfs_mtime): New function.
15782 (grub_hfs_fs): Register grub_hfs_mtime.
15783 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15784 (grub_iso9660_dir): New field mtime.
15785 (grub_fshelp_node): New field dirent.
15786 (iso9660_to_unixtime): New function.
15787 (iso9660_to_unixtime2): Likewise.
15788 (grub_iso9660_read_symlink): Use node->dirent.
15789 (grub_iso9660_iterate_dir): Likewise.
15790 (grub_iso9660_dir): Set mtime.
15791 (grub_iso9660_mtime): New function.
15792 (grub_iso9660_fs): Register grub_iso9660_mtime.
15793 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15794 (grub_jfs_inode): New fields atime, ctime and mtime.
15795 (grub_jfs_dir): Set mtime.
15796 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15797 * grub-core/fs/ntfs.c (list_file): Set mtime.
15798 (grub_ntfs_dir): Likewise.
15799 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15800 (grub_reiserfs_iterate_dir): Set mtime.
15801 (grub_reiserfs_dir): Likewise.
15802 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15803 (grub_fshelp_node): Likewise.
15804 (grub_sfs_iterate_dir): Set mtime.
15805 (grub_sfs_dir): Likewise.
15806 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15807 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15808 (grub_xfs_inode): New fields atime, mtime, ctime.
15809 (grub_xfs_dir): Set mtime.
15810 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15811 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15812 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15813
15814 Support UDF symlinks.
15815
15816 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15817 (grub_ufs_read_symlink): New function. All users updated.
15818
15819 Check amiga partmap checksum.
15820
15821 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15822 (grub_amiga_partition): Likewise.
15823 (amiga_partition_map_checksum): New function.
15824 (amiga_partition_map_iterate): Check checksum.
15825
5470225d
VS
158262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 ROMFS support.
15829
15830 * Makefile.util.def (libgrubmods.a): Add romfs.
15831 * grub-core/Makefile.core.def (romfs): New module.
15832 * grub-core/fs/romfs.c: New file.
15833
d4680a35
VS
158342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 Squashfs v4 support.
15837
15838 * Makefile.util.def (libgrubmods.a): Add squash4.
15839 * grub-core/Makefile.core.def (squash4): New module.
15840 * grub-core/fs/squash4.c: New file.
15841 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15842 disk_input_start, disk_input.
15843 (get_byte): Handle disk_input.
15844 (grub_zlib_disk_read): New function.
15845 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15846
bcb18e74
FZ
158472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
158482011-05-15 Feiran Zheng <famcool@gmail.com>
15849
15850 * Makefile.util.def (libgrubmods.a): Add minix3.
15851 * grub-core/Makefile.core.def (minix3): New module.
15852 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15853 (GRUB_MINIX_BSIZE): Removed.
15854 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15855 (grub_minix_ino_t): New type.
15856 (grub_minix_le_to_cpu_ino): New macro.
15857 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15858 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15859 (grub_minix_data): New field block_size.
15860 (grub_minix_read_file): Handle 64-bit correctly.
15861 * grub-core/fs/minix3.c: New file.
15862
32297d5f
TG
158632011-05-15 Tristan Gingold <gingold@free.fr>
158642011-05-15 Robert Millan <rmh.grub@aybabtu.com>
158652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 IA64 support.
15868
15869 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15870 * configure.ac: Add ia64-efi target.
15871 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15872 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15873 * gentpl.py: Add ia64_efi platform.
15874 Rename x86_efi to efi and Add ia64-efi. All users updated.
15875 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15876 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15877 Remove kern/generic/rtc_get_time_ms.c on EFI.
15878 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15879 kern/ia64/dl_helper.c on ia64-efi.
15880 Add kern/emu/cache.c on emu.
15881 (linux): Use on loader/ia64/efi/linux.c on ia64.
15882 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15883 whether symbol is a function.
15884 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15885 (grub_symbol): New field 'isfunc'.
15886 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15887 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15888 (grub_dl_load_segments): Place all sections into the same region.
15889 [__ia64__]: Create trampolines and got.
15890 [GRUB_MACHINE_EMU]: Call mprotect.
15891 (grub_dl_resolve_symbols): Resolve symbol type as well.
15892 [__ia64__]: Create function descriptors.
15893 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15894 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15895 (grub_get_rtc): New function.
15896 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15897 * grub-core/kern/emu/cache.S: Renamed to ...
15898 * grub-core/kern/emu/cache_s.S: ... this.
15899 [__ia64__]: Add a nop.
15900 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15901 [__ia64__]: New function.
15902 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15903 * grub-core/kern/ia64/dl.c: New file.
15904 * grub-core/kern/ia64/dl_helper.c: Likewise.
15905 * grub-core/kern/ia64/efi/init.c: New file.
15906 * grub-core/kern/ia64/efi/startup.S: Likewise.
15907 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15908 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15909 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15910 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15911 * grub-core/loader/ia64/efi/linux.c: New file.
15912 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15913 (GRUB_MOD_DEP): Likewise.
15914 (grub_dl) [__ia64__]: New fields got and tramp.
15915 (grub_dl): New field 'base'.
15916 (grub_dl_register_symbol): New argument isfunc. All users updated.
15917 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15918 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15919 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15920 (grub_ia64_dl_get_tramp_got_size): New proto.
15921 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15922 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15923 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15924 * include/grub/efi/api.h: Skip call wrappers on ia64.
15925 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15926 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15927 * include/grub/elf.h (ELF_ST_INFO): New definition.
15928 * include/grub/ia64/efi/kernel.h: New file.
15929 * include/grub/ia64/efi/memory.h: Likewise.
15930 * include/grub/ia64/efi/time.h: Likewise.
15931 * include/grub/ia64/kernel.h: Likewise.
15932 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15933 * include/grub/ia64/time.h: New file.
15934 * include/grub/ia64/types.h: Likewise.
15935 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15936 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15937 New protos.
15938 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15939 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15940 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15941 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15942 All users updated.
15943 (EFI64_HEADER_SIZE): New definition. All users updated.
15944 (image_targets): Add ia64-efi.
15945 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15946 jumpers_addr. All users updated.
15947 Create function descriptors.
15948 (count_funcs): New function.
15949 (unaligned_uint32): New struct.
15950 (MASK20): New definition.
15951 (MASK19): Likewise.
15952 (MASKF21): Likewise.
15953 (add_value_to_slot_20b): New function.
15954 (add_value_to_slot_21_real): Likewise.
15955 (add_value_to_slot_21): Likewise.
15956 (ia64_kernel_trampoline): New struct.
15957 (nopm): New variable.
15958 (jump): Likewise.
15959 (make_trampoline): New function.
15960 (relocate_addresses): Handle ia64.
15961 (make_reloc_section): Likewise.
15962 (load_image): Likewise.
15963
983b414d
VS
159642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15967 warning. Move variables before code while on it.
15968
5d063cdc
VS
159692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 Fuloong support.
15972
15973 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15974 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15975 * grub-core/boot/mips/loongson/fuloong.S: New file.
15976 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15977 Explicitly init CS5536.
15978 [FULOONG]: Don't use serial until CS5536 is available.
15979 Set GPIO based on dumps.
15980 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15981 [FULOONG]: Handle GPIO and memory controller differences.
15982 Parse machine type in $a2.
15983 * grub-core/boot/mips/startup_raw.S: Determine and save the
15984 architecture.
15985 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15986 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15987 init on architecture type.
15988 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15989 SIS315E. Don't init at_keyboard on fuloong.
15990 (grub_halt): Support Fuloong.
15991 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15992 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15993 (loongson_machtypes): New array.
15994 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15995 type.
15996 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15997 config. All users updated. Handle CS5536 serial.
15998 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15999 default port on machine type. Register serial as inactive.
16000 * grub-core/video/sis315pro.c: New file.
16001 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16002 definition.
16003 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16004 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16005 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16006 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16007 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16008 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16009 to ...
16010 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16011 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16012 definition.
16013 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16014 (grub_arch_machine): New extern var.
16015 * include/grub/mips/loongson/serial.h
16016 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16017 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16018 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16019 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16020 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16021 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16022 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16023 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16024 * include/grub/term.h (grub_term_register_input_inactive): New inline
16025 function.
16026 (grub_term_register_output_inactive): Likewise.
16027 * include/grub/video.h (grub_video_driver_id): New value
16028 GRUB_VIDEO_DRIVER_SIS315PRO.
16029 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16030 New field "names". All users updated.
16031 New field value IMAGE_FULOONG_FLASH.
16032 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16033
6ada82d1
JU
160342011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16035
16036 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16037 and add some clarification.
16038
90c571a4
VS
160392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16042 platforms if kernel is compressed.
16043
de04eecf
VS
160442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16047 unused modules since currently referrence counter isn't reliable and
16048 there isn't much memory to recover there anyway.
16049
57688121
VS
160502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16053 rather than resetting it to allow modules to reference themselves
16054 in init.
16055
3d2c7e35
VS
160562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16057
16058 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16059 counter on dependencies since grub_dl_unref already handles this.
16060
b25db218
VS
160612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16064 on error if not already done.
16065
25a45338
VS
160662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 Fix few potential memory misusage.
16069
16070 * grub-core/font/font.c (load_font_index): Don't free char_index to
16071 avoid double free.
b25db218
VS
16072 (grub_font_load): Zero-fill font at alloc for safety.
16073 Close file on error.
16074 (free_font): Free bmp_idx.
25a45338 16075
0cac83df
VS
160762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * docs/grub.texi (Installation): Fix several outdated claims.
16079
2217a143
VS
160802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 Handle module_license on windows.
16083
16084 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16085 sections shifted.
16086 (insert_string): Make argument const char * instead of char *.
16087 (write_section_data): Handle long section names.
16088 Handle module_license.
16089
d4de6b01
VS
160902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16093 handle class-free menuentries.
16094 (grub_normal_add_menu_entry): Add a check to be sure.
16095
4c2a3b43
VS
160962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16099 PgUp and PgDown.
16100
85c6210f
VS
161012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * configure.ac: Bump version to 1.99.
16104
36084912
VS
161052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 Give ATA device a bit more time on first try in order to allow disks
16108 to spin up.
16109
16110 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16111 if dev->present is 1. Reset dev->present on failure.
16112 (grub_ata_device_initialize): Set dev->present to 1.
16113 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16114 (grub_ata_device): New member 'present'.
16115
bda0e219
VS
161162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * util/grub-mkimage.c (generate_image): Update hash.
16119
19e1c41b
VS
161202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 Flush caches on DMA memory.
16123
16124 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16125 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16126 (grub_dma_free): Likewise.
16127 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16128
91bbcc0c
VS
161292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16132 to avoid asm treating ld and sd as macros.
16133
60ddfad3
VS
161342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16137 decompressor.
16138
a298aa04
VS
161392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16142 grub_decompress_core since later would fail if grub_decompress_core
16143 is too far.
16144
9b44feca
VS
161452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16148 R_MIPS_JALR since it's used by newer compiler.
16149
56dbe7b4
VS
161502011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16153
52856af2
VS
161542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16157 file_path to 0 for surety.
16158 (grub_chainloader_boot): Set exit_data to NULL.
16159 Unset the loader once done.
16160 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16161
9c9bfc6d
VS
161622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16165 unknown key into a dprintf.
16166
dd94a3df
VS
161672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16170 on first non-existant partition.
16171
fa68d99c
VS
161722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16175 openning fails.
16176 Reported by: Mark Korenberg.
16177
157effb7
VS
161782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16181 overflow.
16182
ea75312f
VS
161832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16186 before closing to ensure that it will be readable by grub-setup.
16187
072b5d31
VS
161882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16191 (devpath_1): Use MAKE_PIWG_PATH.
16192 (devpath_2): Likewise.
16193 (devpath_3): Likewise.
16194 (devpath_4): Likewise.
16195 (devpath_5): Likewise.
16196 (devpath_6): Likewise.
16197
16198 The appleldr.mod was checked that to be binary identical to previous
16199 version.
16200
7fae0051
Z
162012011-05-05 Zach <mikezackles>
16202
16203 Support 2010 Macbooks.
16204
16205 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16206 (devs): Add devpath_6.
16207
7c515bee
VS
162082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16211 /dev/random. /dev/urandom is good enough for our purposes (salting).
16212
ed660bd8
VS
162132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16216
ee5614b7
VS
162172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16220 hexadecimal.
16221
664889a6
VS
162222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16225 and not 0 on failure.
16226
bd405bbc
CW
162272011-05-03 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16230 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16231 disk; otherwise grub_fs_probe will not fall back to the next
16232 filesystem.
16233 (grub_pxefs_open): Likewise, for consistency.
16234 Reported and tested by: Ezekiel Grave.
16235
4ebff753
CW
162362011-05-03 Colin Watson <cjwatson@ubuntu.com>
16237
16238 * tests/partmap_test.in: Don't hardcode path to parted.
16239 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16240
8f942553
CW
162412011-05-01 Colin Watson <cjwatson@ubuntu.com>
16242
16243 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16244 of `ls' to find out which devices are available.
16245
3c62402d
VS
162462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16249 than source address for efi mmap buffer.
16250
723f63f2
VS
162512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16254 wrong action on non-detecting the magic.
16255
68797f92
VS
162562011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16259 already supplied by another part of the module (fixes compilation on
16260 FreeBSD).
16261
6be8715d
VS
162622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16265 match the one used by mdadm.
16266
e91dba5b
CW
162672011-04-21 Colin Watson <cjwatson@ubuntu.com>
16268
16269 * po/README: Add instructions for creating po/LINGUAS.
16270
c85140b3
CW
162712011-04-21 Colin Watson <cjwatson@ubuntu.com>
16272
16273 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16274 #551428.
16275
16276 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16277 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16278 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16279 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16280 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16281 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16282 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16283 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16284 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16285 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16286 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16287 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16288 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16289 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16290 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16291 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16292 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16293 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16294 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16295 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16296 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16297 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16298
92051871
CW
162992011-04-21 Colin Watson <cjwatson@ubuntu.com>
16300
16301 * grub-core/kern/emu/getroot.c
16302 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16303 test that was incorrectly reintroduced in r3214.
16304 Reported by: Ian Dall. Fixes Savannah bug #33133.
16305
b13f79a4
CW
163062011-04-21 Colin Watson <cjwatson@ubuntu.com>
16307
16308 Fix stack pointer handling in 16-bit relocator.
16309
16310 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16311 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16312 Fixes Ubuntu bug #683904.
16313
9b710a88
VS
163142011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * configure.ac: Bump version to 1.99~rc2.
16317
d97e7b59
VS
163182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16321 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16322 * grub-core/lib/x86_64/setjmp.S: Likewise.
16323 * grub-core/lib/mips/setjmp.S: Likewise.
16324 * grub-core/lib/powerpc/setjmp.S: Likewise.
16325 * grub-core/lib/sparc64/setjmp.S: Likewise.
16326
0624551c
VS
163272011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16330 * grub-core/lib/efi/datetime.c: Likewise.
16331
e8f28d4c
VS
163322011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16335 New function.
16336 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16337 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16338 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16339
bba79a15
VS
163402011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16343 bitmap.
16344 (grub_gfxterm_term_init): Likewise.
16345
abc474ef
VS
163462011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 Take into account the decorations the computing menu entry width.
16349
16350 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16351 (grub_gfxmenu_create_box): Register get_border_width.
16352 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16353 if available.
16354 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16355 get_border_width.
16356
e74b3947
EP
163572011-04-18 Endres Puschner <code@e7p.de>
16358
16359 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16360 Don't skip first class.
16361
34faa595
VS
163622011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16365 chunks.
16366 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16367
93a777e3
VS
163682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 Complete 64-bit division support.
16371
16372 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16373 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16374 * include/grub/misc.h (grub_divmod64): Rename to ...
16375 (grub_divmod64_full): ... this.
16376 (grub_divmod64): New inline function.
16377
a5102d94
VS
163782011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16381
f3fb7b36
VS
163822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16385 performing the necessary test.
16386
9ac718b0
VS
163872011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16390 (kfreebsd.elf): Likewise.
16391 (pc-chainloader.elf): Likewise.
16392 (ntldr.elf): Likewise.
16393
50d2cc5a
VS
163942011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 Identify RAID by its UUID rather than (guessed) name.
16397
16398 * grub-core/disk/raid.c (ascii2hex): New function.
16399 (grub_raid_open): Accept mduuid/%s specification.
16400 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16401 (get_mdadm_uuid): ... this.
16402 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16403
e03f7bea
VS
164042011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16407 to negative size.
16408
e74c3112
CW
164092011-04-13 Colin Watson <cjwatson@ubuntu.com>
16410
16411 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16412 btrfs subvolume.
16413 * util/grub.d/20_linux_xen.in: Likewise.
16414
78fa584f
CW
164152011-04-13 Colin Watson <cjwatson@ubuntu.com>
16416
16417 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16418 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16419
16420 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16421 Build a list of relevant visible mounts using the mnt_id and
16422 parent_mnt_id fields, and then scan that list at the end.
16423
9d5f8162
CW
164242011-04-12 Colin Watson <cjwatson@ubuntu.com>
16425
16426 * docs/grub.texi (normal): New section.
16427 (normal_exit): New section.
16428 (Embedded configuration): Add reference to normal.
16429 (GRUB only offers a rescue shell): Likewise.
16430 * docs/grub-dev.texi (Error Handling): Fix typo.
16431
09a9d66f
CW
164322011-04-12 Colin Watson <cjwatson@ubuntu.com>
16433
16434 * NEWS: Drop obsolete entry about probe-only btrfs support.
16435
0c676933
CW
164362011-04-12 Colin Watson <cjwatson@ubuntu.com>
16437
16438 * util/import_gcry.py: Fix typo.
16439
ec9f5e0d
VS
164402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * NEWS: Add btrfs support.
16443
fe6b2cba
VS
164442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
164452011-04-11 Colin Watson <cjwatson@ubuntu.com>
16446
16447 BtrFS support. Written by me (Vladimir) with important bugfixes and
16448 even more important testing by Colin.
16449
16450 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16451 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16452 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16453 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16454 mem_input_off and mem_input. All users updated to accept in-RAM input.
16455 (gzio_seek): New function.
16456 (test_zlib_header): Likewise.
16457 (grub_gzio_read): Likewise.
16458 (grub_zlib_decompress): Likewise.
16459 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16460 Accept partial and non-virtual mounts.
16461 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16462 avoid receiving /dev/dm-X as device.
16463 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16464 Handle bind and partial mounts.
16465 * grub-core/lib/crc.c: New file.
16466 * include/grub/deflate.h: Likewise.
16467 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16468 proto.
16469 * include/grub/lib/crc.h: New file.
16470
e745cf0c
VS
164712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 Implement automatic module license checking according to new GNU
16474 guidelines.
16475
16476 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16477 (grub_dl_load_core): Use grub_dl_check_license.
16478 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16479 (GRUB_MOD_LICENSE): Likewise.
16480 (GRUB_MOD_DUAL_LICENSE): Likewise.
16481 All modules updated.
16482
2a9bc016
CW
164832011-04-11 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16486 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16487 loaders.
16488 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16489
8a3bc88e
VS
164902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16493
af869a4a
VS
164942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16495
16496 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16497 failed.
16498
9ee8d94f
VS
164992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16502 parenthesis in the middle of the filename.
16503
b01abe3e
VS
165042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16507 rather than trying to put initrd way too high.
16508 Reported by: Ryan Lortie <desrt@desrt.ca>
16509
335bda1e
VS
165102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16513 improperly removed string.
16514
5ca1a64d
VS
165152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16518 is_disk.
16519 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16520 (open_device) Likewise.
16521 (grub_util_biosdisk_close): Likewise.
d8ce9995 16522 Reported by: Mark Korenberg.
5ca1a64d 16523
cbac5b1e
AK
165242011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16525
16526 * util/grub-mkconfig_lib.in: Add missing quotes.
16527
088cdb65
CW
165282011-04-10 Colin Watson <cjwatson@ubuntu.com>
16529
16530 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16531 is NULL.
16532
8b8a81fa
VS
165332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 Dynamically count the number of lines for the lower banner.
16536
16537 * grub-core/normal/menu_entry.c (per_term_screen): New member
16538 num_entries.
16539 (print_down): Use num_entries.
16540 (update_screen): Likewise.
16541 (grub_menu_entry_run): Set num_entries.
16542 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16543 num_entries.
16544 (grub_print_message_indented): Move real part to ...
16545 (grub_print_message_indented_real): ... here. Additional argument
16546 dry_run.
16547 (draw_border): Additional argument num_entries.
16548 (print_message): Additional argument dry_run.
16549 (print_entries): Receive menu viewer data.
16550 (grub_menu_init_page): New argment num_entries.
16551 (menu_text_set_chosen_entry): Use num_entries.
16552 (grub_menu_try_text): Likewise.
16553 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16554 All users updated.
16555 (grub_ucs4_count_lines): New function.
16556 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16557 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16558 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16559 (grub_term_border_height): Likewise.
16560 (grub_term_num_entries): Likewise.
16561
277f955b
VS
165622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16565 Remove now unused string.
16566
536ce85a
CW
165672011-04-09 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16570 build system.
16571 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16572
16573 (Comment): Fix typo.
16574 (Getting started): General copy-editing.
16575 (Typical Development Experience): Likewise.
16576 (Error Handling): Likewise.
16577 (Video API): Likewise.
16578
2cf09e32
CW
165792011-04-09 Colin Watson <cjwatson@ubuntu.com>
16580
16581 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16582 throughout.
16583
1ec652f4
VS
165842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16587 directory.
16588
2c583728
CW
165892011-04-08 Colin Watson <cjwatson@ubuntu.com>
16590
16591 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16592 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16593 "development".
16594
d7a565e9
VS
165952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16598 grub_strcpy since the lines aren't necessarily 0-terminated.
16599
7c2e4909
VS
166002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16603 root on legacy.
16604
34c09785
VS
166052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16608 (GRUB_MOD_INIT): DEVICE isn't optional.
16609
6a6f8058
VS
166102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16613 word on new line if it's too long anyway. Fixes a hang.
16614
2e335e90
VS
166152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16618 const.
16619 * util/grub-setup.c (main): Reuse md device name if available.
16620 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16621 not GRUB name as argument.
16622 Based on patch by: Florian Wagner <fwagner>.
16623
10a7a867
VS
166242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16627 Place mbi on low memory for better compatibility.
16628
7a3d6cd9
VS
166292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16632
18dd6b47
VS
166332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
166342011-04-08 Colin Watson <cjwatson@ubuntu.com>
16635
16636 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16637 * conf/Makefile.common: Likewise.
18dd6b47 16638
3c0e3f14
VS
166392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16640
f7148863
VS
16641 * grub-core/normal/menu.c: Add missing include.
16642
166432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16646
6d1fa41f
MZ
166472011-04-08 Martin Zuther <mzuther@mzuther.de>
16648
16649 * util/grub-mkconfig.in: Ignore emacsen backup.
16650
478182a8
VS
166512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16654 on open.
16655 (grub_util_biosdisk_close): Likewise.
16656
72a89a54
VS
166572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16660 const attribute and use grub_isdigit.
16661
b5ebecfa
A
166622011-04-06 Andrey <dev_null@ukr.net>
16663
16664 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16665 gcc warning.
16666
7755f66e
VS
166672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16670 useful grub_dprintf's.
16671
461121ff
VS
166722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16675
2a961775
VS
166762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16679
adf594cc
VS
166802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 Output errors if theme loading failed.
16683
16684 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16685 grub_gfxterm_fullscreen on error paths to ...
16686 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16687 theme loading error.
16688
665900a3
VS
166892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16692 space for older compilers.
16693 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16694
a562b479
VS
166952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16696
16697 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16698 and report them as not RAID members since they are useless for GRUB.
16699 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16700
850e9373
VS
167012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 Increase LVM implementation robustness in order not to crash on
16704 configurations like pvmove. Previously code assumed that in some places
16705 only lvs or only pvs are used whereas it seems that they are used
16706 interchangeably.
16707
16708 * grub-core/disk/lvm.c (read_node): New function.
16709 (read_lv): Use read_node.
16710 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16711 Match volumes only at the end when all lvs are found. Take both
16712 pvs (first) and lvs (second) into account.
16713 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16714 mirror_* into node_*. All users updated.
16715 (grub_lvm_stripe): Merge this ...
16716 (grub_lvm_mirror): ... and this ...
16717 (grub_lvm_node): ... into this. All users updated.
16718
6f332153
VS
167192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16722 of function to allow further scanning for LVMs.
16723
829ea451
VS
167242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16727 on failed seek as it breaks open fd reusage.
16728
09ceb9a5
VS
167292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * util/grub-install.in: Add a recommendation to use --recheck before
16732 reporting bugs.
16733
67e11623
VS
167342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16737 are obtained.
16738
caee5efd
VS
167392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 GRUB developper manual based on existing Internals section and
16742 contributions by the various authors with active copyright assignment.
16743
16744 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16745 * docs/font_char_metrics.png: New file.
16746 * docs/font_char_metrics.txt: Likewise.
16747 * docs/grub-dev.texi: Likewise.
16748 * docs/grub.texi (Internals): Move from here ...
16749 * docs/grub-dev.texi: ... here.
16750
2cccc747
CW
167512011-04-01 Colin Watson <cjwatson@ubuntu.com>
16752
16753 Store the loopback device as data on loopback grub_disk structures,
16754 rather than the file it points to. This fixes use of freed memory
16755 if an existing loopback device is replaced.
16756
16757 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16758 disk->data, not dev->file.
16759 (grub_loopback_read): Adjust file assignment to match.
16760 Fixes Ubuntu bug #742967.
16761
186ae367
CW
167622011-04-01 Colin Watson <cjwatson@ubuntu.com>
16763
16764 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16765 when replacing an existing device.
16766
cfed2ad0
VS
167672011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16770 memory corruptions.
16771
16772 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16773 unsigned.
16774 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16775 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16776 (grub_jfs_read_inode): Likewise.
16777 (grub_jfs_opendir): Likewise. Remove now useless casts.
16778 (grub_jfs_getent): Likewise.
16779 Make ino a grub_uint32_t rather than int.
16780 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16781 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16782 division and module with bit operations.
16783 (grub_jfs_find_file): Make ino a grub_uint32_t.
16784 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16785
05d2ed32
CW
167862011-04-01 Colin Watson <cjwatson@ubuntu.com>
16787
16788 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16789 warning. (This was in fact always initialised before use, but GCC
16790 wasn't smart enough to prove that.)
16791 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16792
91dc6073
VS
167932011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16796 stack alignment.
16797 (efi_wrap_1): Likewise.
16798 (efi_wrap_2): Likewise.
16799 (efi_wrap_3): Likewise.
16800 (efi_wrap_4): Likewise.
16801 (efi_wrap_5): Likewise.
16802 (efi_wrap_6): Likewise.
16803 (efi_wrap_10): Likewise.
16804 Based on information by: Red Hat/Peter Jones.
16805
a8afc1d1
CW
168062011-03-31 Colin Watson <cjwatson@ubuntu.com>
16807
16808 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16809 set-but-not-used variable.
16810
a826cc7d
CW
168112011-03-31 Colin Watson <cjwatson@ubuntu.com>
16812
16813 * docs/grub.texi (Simple configuration): Be more explicit about
16814 GRUB_DEFAULT, and add an example.
16815 Reported by: Leslie Rhorer.
16816
875b67ba
CW
168172011-03-30 Colin Watson <cjwatson@ubuntu.com>
16818
16819 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16820 shell".
16821
fd7cd914
AS
168222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16823
16824 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16825 * util/grub.d/20_linux_xen.in: Likewise.
16826
090b1b6a
VS
168272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * util/grub.d/10_linux.in: Try alternative config filenames where
16830 we parse config file.
16831 * util/grub.d/20_linux_xen.in: Likewise.
16832
baad885c
AS
168332011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16834
16835 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16836 * util/grub.d/20_linux_xen.in: Likewise.
16837
241e41f5
VS
168382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/disk/raid.c (insert_array): Add few potentially
16841 useful grub_util_info.
16842 (grub_raid_register): Likewise.
16843
56445fb2
VS
168442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16847 Preserve partition number in mdadm code path.
16848
c871b1c6
VS
168492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16850
16851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16852 few potentially useful grub_util_info.
16853
5e631b4f
CW
168542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16857
2d5d0333
CW
168582011-03-30 Colin Watson <cjwatson@ubuntu.com>
16859
16860 * docs/grub.texi (default): Use @example rather than nested
16861 itemized lists to avoid breaking gendocs.
16862
3d7ed04e
CW
168632011-03-30 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * docs/grub.texi (Future): Update.
16866
abf04200 168672011-03-30 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * docs/grub.texi (Environment): New chapter.
16870 (Changes from GRUB Legacy): Link to "Environment block" section for
16871 details of limitations.
16872 (Simple configuration): Likewise. Link to documentation of gfxmode
16873 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16874 respectively.
16875 (Shell-like scripting): Note that normal variables are stored in the
16876 environment.
16877 (gettext): Link to documentation of lang and locale_dir.
16878 (list_env): New section.
16879 (load_env): New section.
16880 (save_env): New section.
16881
16882 (Reporting bugs): Fix typo.
16883
e1ad0edd
VS
168842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16887 the example.
16888
5d803174
VS
168892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * grub-core/term/at_keyboard.c (set_scancodes)
16892 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16893
2a2da1d0
CW
168942011-03-30 Colin Watson <cjwatson@ubuntu.com>
16895
16896 * docs/grub.texi (Menu-specific commands): Remove some semantics
16897 that were true in GRUB Legacy but not in GRUB 2.
16898 (submenu): New section.
16899 (false): New section.
16900 (read): New section.
16901 (true): New section.
16902
a7527639
CW
169032011-03-30 Colin Watson <cjwatson@ubuntu.com>
16904
16905 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16906
169072011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16908
16909 * docs/grub.texi (Simple configuration): Explain some of the
16910 current limitations of grub-mkconfig.
8a748df2 16911 Reported by: Leslie Rhorer.
e30af029 16912
fc858482
VS
169132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16914
16915 Old macs search for boot.efi rather than for bootia32.efi.
16916
16917 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16918 * util/grub-mkrescue.in: Likewise.
16919 Suggested by: Peter Jones.
16920
e1eb511d
VS
169212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16924
70e75364
VS
169252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16928 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16929 (grub_lvm_mirror): New struct.
16930 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16931 (grub_lvm_iterate): Iterate only visible volumes.
16932 (grub_lvm_read): Factor out to ..
16933 (read_lv): ... this. Support mirrors.
16934 (grub_lvm_read): New wrapper function.
16935 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16936 stripped or mirrored.
16937
fc18f6a3
VS
169382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16941
5c650f4c
CW
169422011-03-29 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * docs/grub.texi (loopback): New section.
16945
61d7156b
CW
169462011-03-29 Colin Watson <cjwatson@ubuntu.com>
16947
16948 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16949 removed -p option.
16950
994b8264
CW
169512011-03-29 Colin Watson <cjwatson@ubuntu.com>
16952
16953 * docs/grub.texi (BIOS installation): New section, partly based on
16954 previous text in other sections.
16955 (Installing GRUB using grub-install): Replace BIOS discussion with a
16956 cross-reference.
16957 (Images): Likewise.
16958
9e4d19e0
VS
169592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16962 [HAVE_DIOCGDINFO]: Add safety checks.
16963
a307c0b2
VS
169642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16967 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16968
b4db4f39
CW
169692011-03-29 Colin Watson <cjwatson@ubuntu.com>
16970
16971 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16972 real_sb->size is zero (e.g. RAID-0), get the disk size from
16973 real_sb->data_size instead.
16974 Fixes Ubuntu bug #743136.
16975
35e5f84c
VS
169762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16979 printf clauses for printing size and start.
16980
d2e29d81
VS
169812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16984 Reported and tested by: Timothy Nikkel.
16985
ed5587af
VS
169862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16989 (dirty_region_add_real): ... this.
16990 (dirty_region_add): Don't discard margin refresh when performing
16991 scheduled repaint.
16992
a1dc717c
VS
169932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * grub-core/lib/relocator.c (allocate_regstart)
16996 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16997 terminals are capabple of malloc-free operation.
16998 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16999 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17000
9f3677d3
VS
170012011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17002
17003 * util/grub-setup.c: Copy the partition table zone if floppy support
17004 is disabled, even if no partition table is found.
17005
17006 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17007 during POST if an invalid partition table is contained in the PBR
17008 of the active partition when GRUB is installed to a partition.
17009
24148725
CW
170102011-03-28 Colin Watson <cjwatson@debian.org>
17011
17012 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17013 comment.
17014
f329eda7
CW
170152011-03-28 Colin Watson <cjwatson@debian.org>
17016
17017 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17018 to be specific about what kind of RAID device we're scanning for.
17019
c482ad98
SG
170202011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17021
17022 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17023 return freed string.
17024
5ee04984
VS
170252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17028
f4727da9
VS
170292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 Use libgeom on FreeBSD to detect partitions.
17032
17033 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17034 (grub-mkrelpath): Likewise.
17035 (grub-script-check): Likewise.
17036 (grub-editenv): Likewise.
17037 (grub-mkpasswd-pbkdf2): Likewise.
17038 (grub-fstest): Likewise.
17039 (grub-mkfont): Likewise.
17040 (grub-mkdevicemap): Likewise.
17041 (grub-probe): Likewise.
17042 (grub-setup): Likewise.
17043 (grub-ofpathname): Likewise.
17044 (grub-mklayout): Likewise.
17045 (example_unit_test): Likewise.
17046 (grub-menulst2cfg): Likewise.
17047 * grub-core/Makefile.core.def (grub-emu): Likewise.
17048 (grub-emu-lite): Likewise.
17049 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17050 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17051 define HAVE_DIOCGDINFO.
17052 (follow_geom_up) [FreeBSD]: New function.
17053 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17054 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17055 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17056 unconditionally of HAVE_DIOCGDINFO.
17057
82fe6c75
VS
170582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 Fix FreeBSD compilation problem.
17061
17062 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17063 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17064
4c6c9431
CW
170652011-03-24 Colin Watson <cjwatson@ubuntu.com>
17066
17067 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17068 Switch back to page zero before loading a kernel, since some kernel
17069 drivers expect that.
17070 Thanks to: Felix Kuehling.
17071
c7064d94
VS
170722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17075 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17076 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17077
3f71cded
VS
170782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17081 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17082
ef6de21a
VS
170832011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17084
17085 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17086 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17087 malloc is disabled.
17088
8bc66a2c
VS
170892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17092 for modules headers when counting the needed allocation size.
17093
5657722c
VS
170942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17097 if no ASCII character is found to prevent crash.
17098
41a85f55
AK
170992011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17100
17101 * grub-core/video/bitmap.c (match_extension): Ignore case.
17102
59e1e5f1
VS
171032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17106
bd4d051a
VS
171072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * grub-core/script/parser.y: Declare "time" as valid argument.
17110
bae7fcc1
PJ
171112011-03-23 Peter Jones <pjones@redhat.com>
17112
17113 Fix incorrect assert failure reporting.
17114
17115 * grub-core/tests/example_functional_test.c (example_test): Add
17116 a failure comment.
17117 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17118 (failure_start): ...this. Check that malloc succeeded.
17119 Don't call xvasprintf. Return failure struct.
17120 (failure_append_vtext): New function.
17121 (failure_append_text): Likewise.
17122 (add_failure): Likewise.
17123 (grub_test_assert_helper): Likewise.
17124 * include/grub/test.h (grub_test_assert_helper): New declaration.
17125 (grub_test_assert): Macro rewritten.
17126
537dc9be
VS
171272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17130
fa3e01bf
VS
171312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17134
b1d28404
VS
171352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17138 into GRUB-style one.
17139
2e3e2e09
VS
171402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17143 error and not grub_errno.
17144 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17145
ed57e557
VS
171462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17149 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17150
d1611f01
VS
171512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * grub-core/efiemu/i386/pc/cfgtables.c
17154 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17155 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17156 (grub_xnu_unlock): Likewise.
17157 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17158
7d4e39d6
VS
171592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17162 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17163 * grub-core/commands/hashsum.c (aliases): Likewise.
17164 * grub-core/commands/setpci.c (pci_registers): Likewise.
17165 * grub-core/disk/usbms.c (attach_hook): Likewise.
17166 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17167 (zio_checksum_table): Likewise.
17168 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17169 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17170 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17171 * grub-core/lib/relocator.c (leftovers): Likewise.
17172 (extra_blocks): Likewise.
17173 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17174 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17175 (modules_last): Likewise.
17176 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17177 (devices): Likewise.
17178 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17179 (modules_last): Likewise.
17180 * grub-core/normal/auth.c (users): Likewise.
17181 * grub-core/normal/context.c (initial_menu): Likewise.
17182 (current_menu): Likewise.
17183 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17184 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17185 (grub_serial_terminfo_input_template): Likewise.
17186 (grub_serial_terminfo_output_template): Likewise.
17187 (grub_serial_terminfo_input): Likewise.
17188 (grub_serial_terminfo_output): Likewise.
17189 (registered): Likewise.
17190 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17191
40fc4659
VS
171922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17195 grub_video_mode_type_t.
17196 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17197 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17198 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17199
2da48d28
VS
172002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 * util/grub-install.in: Correct the x86-64 name as x86_64.
17203
9b43bf39
CW
172042011-03-11 Colin Watson <cjwatson@ubuntu.com>
17205
17206 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17207 initial chunk read from the kernel always includes GRUB's multiboot
17208 header, which is now outside the first sector.
17209
be1a7ce0
CW
172102011-03-09 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17213 cached mmap_size, so that this works correctly when called multiple
17214 times.
17215 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17216
83a3c48d
CW
172172011-03-09 Colin Watson <cjwatson@ubuntu.com>
17218
17219 * docs/grub.texi (Simple configuration): Tidy up formatting.
17220
57d75699
SJ
172212011-03-07 Szymon Janc <szymon@janc.net.pl>
17222
17223 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17224 Set-but-not-used variable removed.
17225
028501a0
VS
172262011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 Workaround yet another IEEE1275 bug.
17229
17230 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17231 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17232 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17233 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17234 is set.
17235 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17236 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17237
d998657d
VS
172382011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17241 error.
17242
fee7cdd4
CW
172432011-02-11 Colin Watson <cjwatson@ubuntu.com>
17244
17245 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17246 empty, since in that case we can only generate either nothing or a
17247 syntactically invalid configuration file.
17248 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17249
97286eb5
CW
172502011-02-09 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17253 (Making a GRUB bootable CD-ROM): Likewise.
17254 (Invoking grub-mkrescue): New section.
17255 Reported by: Yann Dirson. Fixes Debian bug #612585.
17256
22b28eb3
CW
172572011-02-09 Colin Watson <cjwatson@ubuntu.com>
17258
17259 * util/grub-install.in: Remove unnecessary brackets from tr
17260 arguments.
17261 * util/grub.d/10_hurd.in: Likewise.
17262 * util/grub.d/10_kfreebsd.in: Likewise.
17263 * util/grub.d/10_linux.in: Likewise.
17264 * util/grub.d/20_linux_xen.in: Likewise.
17265 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17266
7e735e43
CW
172672011-02-08 Colin Watson <cjwatson@ubuntu.com>
17268
17269 * include/grub/file.h (not_easly_seekable): Rename to ...
17270 (not_easily_seekable): ... this. Update all users.
17271
800f1881
CW
172722011-01-28 Colin Watson <cjwatson@ubuntu.com>
17273
17274 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17275 grub-mkrescue.
17276
3281d3d6
VS
172772011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * util/grub-mkimage.c (generate_image): Refuse to create the images
17280 bigger than the actual flash (512K) in Loongson machines. 512K is also
17281 the biggest chip supported by them.
17282
3533413c
VS
172832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17286
73ae4f4f
VS
172872011-01-22 Anthony DeRobertis <anthony@derobert.net>
17288
17289 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17290 super_offset field.
17291
37f4f608
VS
172922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * util/grub-install.in: Ignore install device on platforms
17295 where it doesn't make sense. Always use UUIDs except on pc, efi and
17296 sparc64.
17297 Reported by: Daniel Kahn Gillmor.
17298
03a4ccb5
VS
172992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17302
ffc8f4d8
VS
173032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17306 (iterate_real): Don't rely on partition being non-NULL.
17307
80f23be7
VS
173082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17311 supported platforms. Put a compile time assert for this rather than
17312 generate a warning with 32-bit shift.
17313
5d4f4dd5
VS
173142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17317 logical expression more readable.
17318
e489601a
VS
173192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17322 even if some elements have a name.
17323 Reported by: Alexander GQ Gerasiov.
17324
96e0a6ea
CW
173252011-01-22 Colin Watson <cjwatson@ubuntu.com>
17326
17327 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17328 path unreadable if `grub-probe -t abstraction' fails, for example if
17329 memberlist fails on an LVM volume group.
17330 Reported by: Darius Jahandarie.
17331
81431e2b
CW
173322011-01-22 Colin Watson <cjwatson@ubuntu.com>
17333
17334 * docs/grub.texi (Simple configuration): Document
17335 GRUB_PRELOAD_MODULES.
17336
5e79d66a
CW
173372011-01-17 Colin Watson <cjwatson@ubuntu.com>
17338
17339 * .bzrignore: Remove nonexistent grub-pbkdf2.
17340
646ada34
VS
173412011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * configure.ac: Bump version to 1.99~rc1.
17344
04360337
VS
173452011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17346
17347 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17348 for safety.
17349
46c9db88
VS
173502011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17353 module.
17354
173552011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17356
17357 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17358
4fbf1852
VS
173592011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17362 diskdevid.
17363
f1632d4d
VS
173642011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 Fix compilation on cygwin.
17367
17368 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17369 -R .drectve on cygwin.
17370 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17371 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17372 (COND_CYGWIN): New condition.
17373 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17374 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17375 not @TARGET_OBJ2ELF@.
17376 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17377 type to determine whether aux is to be used.
17378
0b5e127b
VS
173792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17382 realpath'ed device string.
17383 Handle floppy (somewhat).
17384 Issue error in unknown case rather than garbage.
17385 Reported by: Axel Beckert.
17386
173b71e9
VS
173872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * util/grub.d/00_header.in (load_video): Handle the case when no video
17390 drivers available.
17391 Thanks to: Axel Beckert.
17392
f8f479db
VS
173932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17396 variable. Fixes problem on big endian platforms.
17397
8fc0a245
VS
173982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17401 It doesn't work well there.
17402
b8494fbe
VS
174032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17406 warning.
17407 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17408 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17409 counter.
17410
b44a558c
VS
174112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 Use alias->path rather than buggy "canon".
17414
17415 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17416 (ofdisk_hash_add): New argument curcan. All users updated.
17417
51fa856c
CW
174182011-01-11 Colin Watson <cjwatson@ubuntu.com>
17419
17420 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17421
9da068a5
VS
174222011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17425 loadmask before doing any calculations. Use correct type for offset.
17426 (grub_linux_load64): Likewise.
17427
86205c94
CW
174282011-01-11 Colin Watson <cjwatson@ubuntu.com>
17429
17430 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17431 with NULL.
17432 (console_grub_equivalences_unshift): Likewise.
17433 Reported by: Daniel Dehennin.
17434
4531a206
VS
174352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17438 (set_env_limn_ro): Likewise.
17439 (GRUB_MOD_INIT): Likewise.
17440 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17441 ARRAY_SIZE while on it.
17442 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17443 * grub-core/normal/context.c (grub_env_export): Move from here ...
17444 * grub-core/kern/env.c (grub_env_export): ... here.
17445 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17446 prefix.
17447 * grub-core/kern/main.c (grub_main): Export root and prefix.
17448 * include/grub/env.h (grub_env_export): Export.
17449 Reported by: Seth Goldberg.
17450
45146057
VS
174512011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17454 Take into account space used by ELF sections and multiboot palette.
17455 Reported by: Grégoire Sutre.
17456
f093110b
VS
174572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 * BUGS: New file.
17460
3395fe52
VS
174612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 Pass more appropriate video id to Linux.
17464
17465 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17466 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17467 fill have_vga.
17468 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17469 shift params->lfb_size.
17470 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17471
c2fa6cbb
VS
174722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17475
b3ff6ff0
VS
174762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17479 separator and pass bootpath/devid even if only one of them is available.
17480 Reported by: Seth Goldberg.
17481
ae67942e
VS
174822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17485 implementations bug on them.
17486
17487 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17488 memory.
17489 (filter_memory_map): Likewise.
17490
d570097a
VS
174912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17494 Reported by: nebuchadnezzar.
17495
a508e776
VS
174962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17499 Reported by: nebuchadnezzar.
17500
dcb883b1
VS
175012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 Submenu default support.
17504
17505 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17506 auto_boot. All users updated.
17507 Declared static.
17508 Handle chosen and default with submenus.
17509 (grub_menu_execute_with_fallback): Declared static.
17510 Don't notify failure if autobooted. Upper level does it.
17511 (menuentry_eq): New function.
17512 (get_entry_number): Use menuentry_eq.
17513 (show_menu): New parameter "autobooted". All users updated.
17514 (grub_show_menu): Likewise.
17515 * include/grub/normal.h (grub_show_menu): Likewise.
17516 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17517 (grub_menu_execute_with_fallback): Likewise.
17518
6fef99b4
VS
175192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * util/grub-mklayout.c (usage): Update help text.
17522
47a77af5
VS
175232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17526
ce6bb3ee
VS
175272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * util/grub-menulst2cfg.c (main): Trim the line.
17530
db87be2a
VS
175312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17534 (grub_machine_init): Don't check amount of low memory as reportedly
17535 INT 12h can be broken and if low memory is too low we wouldn't have
17536 gotten into grub_machine_init anyway.
17537
c49849cc
VS
175382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17541 (grub_machine_mmap_iterate): Take low memory into account
17542
b1969b30
VS
175432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17546 badfs.
17547 Reported by: TiCPU.
17548
cf0eaf13
VS
175492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17552 members errors.
17553
1f060f39
GS
175542011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17555
17556 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17557 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17558
a21e5672
GS
175592011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17560
17561 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17562 openbsd and netbsd types being in part_bsd module.
17563
c88172fa
VS
175642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17567 (_FILE_OFFSET_BITS): Likewise.
17568 Reported by: Seth Goldberg.
17569
53798c4b
GS
175702011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17571
17572 * configure.ac: Check for libdevmapper header.
17573
e7121b69
VS
175742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17577 avoid aliasing.
17578 (fzap_lookup): Likewise.
17579 (dnode_get): Likewise.
17580 (make_mdn): Likewise.
17581 (zfs_mount): Likewise.
17582 (fzap_iterate): Use temporary pointer to avoid aliasing.
17583 (grub_zfs_read): Likewise.
17584 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17585 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17586 pointers to avoid aliasing.
17587 (grub_cmd_xnu_kernel64): Likewise.
17588 (grub_xnu_load_driver): Likewise.
17589
fc836af9
VS
175902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17593 aliasing warning.
17594 (grub_cmd_terminal_output): Likewise.
17595 Reported and tested by: Grégoire Sutre.
17596
f9f37648
VS
175972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17600 warning.
17601 Reported and tested by: Grégoire Sutre.
17602
ec1dfd63
VS
176032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * configure.ac: Do CPU substitution even if it's specified explicitly.
17606 Reported and tested by: Alain Greppin.
17607
9462775a
VS
176082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17611 Reported and tested by: Alain Greppin.
17612
0fd48e35
VS
176132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 Satisfy some bison versions need for inttypes.h.
17616
17617 * grub-core/lib/posix_wrap/inttypes.h: New file.
17618 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17619 (int16_t): Likewise.
17620 (int32_t): Likewise.
17621 (int64_t): Likewise.
17622 Reported and tested by: Alain Greppin.
17623
43f1bc83
VS
176242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17627 Silence spurious warning.
17628 Reported and tested by: Alain Greppin.
17629
64d1f041
SJ
176302011-01-07 Szymon Janc <szymon@janc.net.pl>
17631
17632 * docs/grub.texi (Support automatic decompression): Update with xz
17633 decompression support.
17634
25953e10
SJ
176352011-01-07 Szymon Janc <szymon@janc.net.pl>
17636
17637 Improve loaders' kernel command line handling.
17638
17639 * grub-core/lib/cmdline.c: New file.
17640 * include/grub/lib/cmdline.h: Likewise.
17641 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17642 grub_create_loader_cmdline to create kernel command line.
17643 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17644 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17645 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17646 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17647 (linux): Add lib/cmdline.c on common.
17648
e72d259f
VS
176492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17652 inopos might be unaligned.
17653
c0cf26da
VS
176542011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17657 endian transformations.
17658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17659 Based on report by: Doug Nazar.
17660
0ca09e6c
DN
176612011-01-07 Doug Nazar <nazard.michi@gmail.com>
17662
17663 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17664 array->members[i].start_sector.
17665 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17666
014b6806
VS
176672011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17670 Reported and tested by: Grégoire Sutre.
17671
415502c2
CW
176722011-01-06 Colin Watson <cjwatson@ubuntu.com>
17673
17674 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17675 avoid causing test failures by clearing the screen.
17676
71b6a2b7
CW
176772011-01-06 Colin Watson <cjwatson@ubuntu.com>
17678
17679 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17680 Fix prefix check to handle the case where dir ends with a slash
17681 (most significantly, "/" itself).
17682 Reported by: Michael Vogt.
17683
b3f8d28a
VS
176842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 Run terminfo_cls on initing terminfo output to clear the screen and
17687 move the cursor to (0,0).
17688
17689 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17690 Call grub_terminfo_output_init.
17691 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17692 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17693 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17694
4c3e4f37
VS
176952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17698 only when needed.
17699
488f71f1
VS
177002011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17703 CTRL.
17704
18a38098
VS
177052011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 The E820 type 5 is BADRAM, not EXEC_CODE.
17708
17709 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17710 (GRUB_E820_BADRAM): New define.
17711 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17712 into reserved. Propagate BADRAM.
17713 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17714 (GRUB_E820_BADRAM): New define.
17715
9eae2084
VS
177162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17719 Ignore the memory post-4G.
17720 (grub_relocator_firmware_alloc_region): Additional debug statement.
17721
ebc71d28
VS
177222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17725 names.
17726 Reported by: David Pravec.
17727
446fa400
VS
177282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17731 BIOSes.
17732
a0159f37
VS
177332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17736 Prevent overflow.
17737 (grub_reed_solomon_recover): Likewise.
17738
e5146ca1
VS
177392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17742
177432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17744
17745 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17746 variable.
17747
5b1bdf12
CW
177482011-01-04 Colin Watson <cjwatson@ubuntu.com>
17749
17750 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17751 descriptions of extract_legacy_entries_source and
17752 extract_legacy_entries_configfile.
17753 Reported by: Seung Soo, Ha.
17754
99d925aa
CW
177552011-01-03 Colin Watson <cjwatson@ubuntu.com>
17756
17757 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17758 on devices that do not implement function 0.
17759
4af0504b
DV
177602011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17761
17762 * grub-core/fs/hfsplus.c: Make parent unsigned.
17763 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17764 overflows.
17765 (grub_hfsplus_cmp_extkey): Likewise
17766
469ee10a
VS
177672011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * util/grub-install.in: Correctly use bootloader_id and not
17770 GRUB_DISTRIBUTOR on efibootmgr line.
17771
323a8e9c
VS
177722011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17775
1b394975
IC
177762010-12-31 Ian Campbell <ijc@hellion.org.uk>
17777
17778 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17779 Xen and reorder menu item wording to make it clearer that this entry
17780 will launch Xen. Print separate messages when loading Xen and
17781 Linux.
17782
275bff5f
VS
177832010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17786 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17787 loop in case of incorrect amiga partmap.
17788
307806cb
VS
177892010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17792 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17793 Reported by:EHeM.
17794
b12b923e
VS
177952010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17798 spurious warning.
17799 Reported by: crocket
17800
14b48a19
VS
178012010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17804 Preload EFIemu.
17805 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17806
693db2df
VS
178072010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17810 is loaded
17811 (grub_cmd_xnu_kextdir): Likewise.
17812 (grub_cmd_xnu_splash): Likewise.
17813
c7638645
VS
178142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 Avoid using Reed-Solomon with 0 redundancy.
17817
17818 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17819 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17820 or 0 redundancy.
17821 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17822 (grub_reed_solomon_recover): Likewise.
17823
25dd4780
VS
178242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 Don't use disk subsystem in freebsd_boot.
17827
17828 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17829 (freebsd_biosdev): Likewise.
17830 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17831 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17832
0b2db943
VS
178332010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 Handling of files of unknown size is currently limited. They can't be
17836 used e.g. for initrd or modules. Moreover gzip handling of not
17837 easily seekable files is buggy. Disable unknown file size for now. May
17838 be inefficient but works.
17839
17840 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17841 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17842
5c408d0f
MP
178432010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17844
17845 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17846 floppy probe.
17847
190a011a
JD
178482010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17849
17850 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17851
022d01b8
SL
178522010-12-25 Shea Levy <shlevy>
17853
17854 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17855
c4855fdc
VS
178562010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17859 Windows Server 2008.
17860 Reported by: Devin Giddings.
17861
0354b867
VS
178622010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17865 writing an error message because of async power management.
17866 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17867 (grub_reboot): Likewise.
17868
ab66c69f
JU
178692010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17870
17871 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17872 keep unit tests from failing when they shouldn't.
17873
1426ef35
CW
178742010-12-21 Colin Watson <cjwatson@ubuntu.com>
17875
17876 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17877 previous patch increased the size of the RS code by 20 bytes (at
17878 least with gcc-4.4), so increase this by 20 bytes to match.
17879 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17880
20641b6b
CW
178812010-12-21 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17884 scratch area. Make sure to initialise chosen in standalone mode as
17885 well as non-standalone.
17886 Reported by: Robert Hooker and Andy Whitcroft.
17887 Tested by: Andy Whitcroft.
17888
d060ad60
CW
178892010-12-21 Colin Watson <cjwatson@ubuntu.com>
17890
17891 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17892 constructing a new unescaped string and passing it to grub_xputs in
17893 one go, rather than passing characters to grub_printf one at a time.
17894
b889cfad
CW
178952010-12-21 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17898 initialising utf16.
17899
4e01b6c8
CW
179002010-12-21 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17903 comment. Add an extra layer of quotation, requiring the output of
17904 this function to be used in a printf format string.
17905 (gettext_printf): New function.
17906 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17907 Extract translatable strings from here-documents and use a temporary
17908 variable instead, so that xgettext can find them.
17909 * util/grub.d/10_kfreebsd.in: Likewise.
17910 * util/grub.d/10_linux.in: Likewise.
17911 * util/grub.d/20_linux_xen.in: Likewise.
17912
17913 * po/grub.d.sed: New file.
17914 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17915 arguments. Set c-format flags on all strings extracted from
17916 util/grub.d/ (xgettext refuses to include these itself for strings
17917 it extracted from a shell file, but these really are c-format).
17918
5318fe98
VS
179192010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17922 Avoid next pointing to nowhere.
17923
6c85b743
VS
179242010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17927 rather than assuming than rootblock is exactly in the middle.
17928 (grub_affs_label): Likewise.
17929
a2a08a35
VS
179302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17933 reserved_first_sector to 0.
17934 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17935 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17936 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17937
7059d1ec
VS
179382010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 Fix handling of UTF-16 UDF labels.
17941
17942 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17943 (read_string): .. here.
17944 (grub_udf_label): Use read_string.
17945
30aff4cb
BC
179462010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17947
17948 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17949 editor under argument scope.
17950 Reported by: Jordan Uggla
17951
5cf86f4b
VS
179522010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17955
32570200
CW
179562010-12-18 Colin Watson <cjwatson@ubuntu.com>
17957
17958 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17959 line, and other keys scroll an entire page (previous handling was
17960 for \r and \n to scroll a page and other keys to scroll two lines).
17961
e1dffcf2
VS
179622010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17965 Set ptrdest to correct get_physical_target_address rather than
17966 incorrect get_virtual_current_address.
17967
b04298cf 179682010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17969
17970 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17971 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17972
5367ecd3
CW
179732010-12-10 Colin Watson <cjwatson@ubuntu.com>
17974
17975 * .bzrignore: Ignore grub-core/rs_decoder.S.
17976
1fb430f8
CW
179772010-12-10 Colin Watson <cjwatson@ubuntu.com>
17978
17979 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17980 .mo/.mo.gz opening sequence to ...
17981 (grub_mofile_open_lang): ... here.
17982 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17983 * util/grub.d/00_header.in (grub_lang): Include country part of
17984 locale.
17985 Reported by: Mario Limonciello.
17986
a94a6671
RM
179872010-12-09 Robert Millan <rmh@gnu.org>
17988
17989 * NEWS: Document addition of ZFS support.
17990
24b7938b
CW
179912010-12-04 Colin Watson <cjwatson@ubuntu.com>
17992
17993 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17994 rather than `/ 2', as the latter requires -Wa,--divide which would
17995 require bumping our minimum binutils version.
17996
bddc3ef6
BC
179972010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17998
17999 * util/grub-script-check.c (main): Print script line number on
18000 error.
18001
bf78d5b2
RM
180022010-12-01 Robert Millan <rmh@gnu.org>
18003
18004 * grub-core/fs/zfs/zfs.c: New file.
18005 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18006 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18007 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18008 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18009
18010 * include/grub/zfs/dmu.h: Likewise.
18011 * include/grub/zfs/dmu_objset.h: Likewise.
18012 * include/grub/zfs/dnode.h: Likewise.
18013 * include/grub/zfs/dsl_dataset.h: Likewise.
18014 * include/grub/zfs/dsl_dir.h: Likewise.
18015 * include/grub/zfs/sa_impl.h: Likewise.
18016 * include/grub/zfs/spa.h: Likewise.
18017 * include/grub/zfs/uberblock_impl.h: Likewise.
18018 * include/grub/zfs/vdev_impl.h: Likewise.
18019 * include/grub/zfs/zap_impl.h: Likewise.
18020 * include/grub/zfs/zap_leaf.h: Likewise.
18021 * include/grub/zfs/zfs.h: Likewise.
18022 * include/grub/zfs/zfs_acl.h: Likewise.
18023 * include/grub/zfs/zfs_znode.h: Likewise.
18024 * include/grub/zfs/zil.h: Likewise.
18025 * include/grub/zfs/zio.h: Likewise.
18026 * include/grub/zfs/zio_checksum.h: Likewise.
18027
18028 * Makefile.util.def: Build ZFS into libgrubmods.
18029 * grub-core/Makefile.core.def: Build zfs.mod.
18030
3f0f3831
SJ
180312010-11-30 Szymon Janc <szymon@janc.net.pl>
18032
18033 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18034 variable.
18035 * grub-core/commands/wildcard.c (match_files): Likewise.
18036
3a4253b2
RM
180372010-11-30 Robert Millan <rmh@gnu.org>
18038
18039 * grub-core/loader/i386/bsd.c
18040 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18041 whether kernel is loaded using grub_loader_is_loaded(), rather
18042 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18043 certain error conditions.
18044
8c317b27
RM
180452010-11-30 Robert Millan <rmh@gnu.org>
18046
c5c9cd3e
RM
18047 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18048 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18049
49d3ab46
VS
180502010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 Avoid using tricks for initialising endian variables.
18053
18054 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18055 Make const.
18056 (GRUB_MOD_INIT): Don't byte-swap.
18057 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18058 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18059 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18060 (grub_swap_bytes32_compile_time): Likewise.
18061 (grub_cpu_to_le32_compile_time): Likewise.
18062 (grub_cpu_to_le16_compile_time): Likewise.
18063
f420a804
VS
180642010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * util/grub-setup.c (setup): Stop recommending --force. People who
18067 understand the dangers of blocklists are able to find this option
18068 anyway and the ones who don't shouldn't use it anyway.
18069
4e7db17b
RM
180702010-11-26 Robert Millan <rmh@gnu.org>
18071
18072 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18073 Update all users.
18074
9be57a0d
CW
180752010-11-26 Colin Watson <cjwatson@ubuntu.com>
18076
18077 Fix LVM-on-RAID probing.
18078
18079 * util/grub-probe.c (probe): Remember which disk was detected as
18080 RAID (perhaps an LVM physical volume). Use that disk's raidname
18081 rather than that of the top-level disk.
18082
2c7859b3 180832010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18084
d7647bb6
BC
18085 Fix cmdline argument quotes for setparams command of menuentry
18086 definitions.
7e623b0d
BC
18087
18088 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18089 quotes for arguments.
f866fe80 18090 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18091 grub_strchrsub function instead.
f866fe80 18092
7955bea0 18093 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18094
74f72a64
CW
180952010-11-24 Colin Watson <cjwatson@ubuntu.com>
18096
18097 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18098 effort by skipping "." and ".." entries up-front.
18099 Suggested by: Michael Lazarev.
18100
5a407278
CW
181012010-11-24 Colin Watson <cjwatson@ubuntu.com>
18102
18103 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18104 ldflags to ldadd, to fix link line ordering.
18105 (none_decompress): Likewise.
18106
3030d8ec
CW
181072010-11-24 Colin Watson <cjwatson@ubuntu.com>
18108
18109 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18110 platforms.
18111 (grub-emu-lite): Remove kern/emu/cache.S.
18112
b7fbac12
CW
181132010-11-23 Colin Watson <cjwatson@ubuntu.com>
18114
18115 * util/deviceiter.c (compare_devices): If the by-id link for a
18116 device couldn't be resolved, fall back to sorting by the by-id link
18117 rather than segfaulting.
18118 Reported and tested by: Daniel Mierswa.
18119
5225f328
CW
181202010-11-23 Colin Watson <cjwatson@ubuntu.com>
18121
18122 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18123 ldflags, to fix link line ordering.
18124
038b3ce8
CW
181252010-11-23 Colin Watson <cjwatson@ubuntu.com>
18126
18127 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18128 linkers are picky about this.
18129
bf16e98e
CW
181302010-11-23 Colin Watson <cjwatson@ubuntu.com>
18131
18132 * grub-core/Makefile.am (command.lst): Adjust sed expression
18133 ordering so that extended and priority commands aren't treated as
18134 ordinary commands.
18135
7242bab6
CW
181362010-11-23 Colin Watson <cjwatson@ubuntu.com>
18137
18138 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18139 Remove byte-swapping function calls, which are not valid in
18140 structure initialisers.
18141 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18142 non-const.
18143 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18144 grub_gpt_partition_type_bios_boot.
18145
14e8b279
CW
181462010-11-22 Colin Watson <cjwatson@ubuntu.com>
18147
18148 Fix test program build on GNU/kFreeBSD.
18149
18150 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18151 $(LIBNVPAIR)' library dependencies.
18152
e6f63338 181532010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18154
18155 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18156
cf8ffc38
CW
181572010-11-22 Colin Watson <cjwatson@ubuntu.com>
18158
18159 * util/grub-install.in: Remove excessive quoting that broke
18160 installations to RAID devices.
18161
7f8b0fd7
VS
181622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18165 bootloader version instead of 0.
18166
dfd240b1
VS
181672010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18170 warning.
18171
7b61e609
VS
181722010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18175 retrieve the metadat sector if size isn't known.
18176 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18177
9dfe92d0
RM
181782010-11-18 Robert Millan <rmh@gnu.org>
18179
18180 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18181 with grub_memcmp().
18182
41cc919e
VS
181832010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18186 arrow.
18187 Reported by: Jordan Uggla.
18188
1afcc914
VS
181892010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 Make better UTF compliant.
18192
18193 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18194 sequences as incorrect.
18195 (grub_is_valid_utf8): Likewise.
18196 (grub_utf8_to_ucs4): Likewise.
18197 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18198 (grub_ucs4_to_utf8_alloc): Likewise.
18199 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18200
f1808884
VS
182012010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 Make legacy_source behave like source.
18204
18205 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18206 grub_show_menu.
18207 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18208
24ec575b
CW
182092010-11-16 Colin Watson <cjwatson@debian.org>
18210
18211 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18212 (-Wunused implies -Wunused-parameter, but not vice versa).
18213
72b7c7aa
CW
182142010-11-16 Colin Watson <cjwatson@ubuntu.com>
18215
18216 * configure.ac: Make error messages less confusing by testing for
18217 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18218 accepted, but produces a diagnostic if something else is wrong).
18219
e98937aa
VS
182202010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18223 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18224 (now unused).
18225 (grub_keyboard_controller_init)
18226 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18227 read the initial state since controller isn't inited yet.
18228
f6bbabc3
VS
182292010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18232 allocate_regbeg may need to create new chunk header.
18233
22e7dbb2
VS
182342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 Fix quoting in legacy parser.
18237
18238 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18239 single quotes.
18240 (grub_legacy_parse): Likewise.
18241 Reported by: Jordan Uggla.
18242 Tested by: Jordan Uggla.
18243
03f80960
VS
182442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Don't add -lgcc on i386 and x86_64.
18247
18248 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18249 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18250 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18251
779dc15b
VS
182522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * configure.ac: Add -Wno-trampolines when supported.
18255
d20a3b37
MV
182562010-11-14 Modestas Vainius <modax@debian.org>
18257
18258 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18259 fakeraid.
18260
e5360933
GC
182612010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18262
18263 Add generic logical block size support for UDF.
18264
18265 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18266 (GRUB_UDF_BLKSZ): Removed.
18267 (struct grub_udf_data): New field "lbshift" to hold the logical block
18268 size of the file system in log2 format. All users updated.
18269 (sblocklist): Change type to unsigned.
18270 (grub_udf_mount): Change type of "sblklist" to unsigned.
18271 Move AVDP search before VRS recognition, because the latter requires
18272 knowledge of the logical block size, which is detected during the
18273 former.
18274 Detect and validate logical block size during AVDP search, adding
18275 support for block sizes 512, 1024 and 4096.
18276 Make VRS recognition independent of block size.
18277
cb0229c5
GC
182782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18279
18280 Properly handle deleted files on UDF.
18281
18282 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18283 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18284 set.
18285
406858a8
GC
182862010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18287
18288 Support reading files larger than 2 GiB.
18289
18290 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18291 "offset" to grub_off_t.
18292 (grub_udf_read_file): Likewise for parameter "pos".
18293
130da6a7
VS
182942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18297 unavailable.
18298 (Simple configuration): Refer to Changes from GRUB Legacy about
18299 save_env availability.
18300
65e93f6b
VS
183012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 * util/grub-install.in: Ignore empty partition table detection
18304 instead of trying to include part_ module.
18305
1fd08bf1
VS
183062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18309 LVM on RAID support.
18310
de1a024f
VS
183112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 Properly define WORDS_BIGENDIAN in wrapped environments.
18314
18315 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18316 definition.
18317 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18318
18319 Reported by: Manoel Rebelo Abranches.
18320 Tested by: Manoel Rebelo Abranches.
18321
bc5dd0b9
VS
183222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * util/grub-mkconfig.in: Fix quoting.
18325
58c184be
VS
183262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 Support big ext2 files.
18329
18330 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18331 (grub_ext2_read_block): Support triple indirect blocks.
18332 (grub_ext2_read_file): Use 64-bit types and read size_high.
18333 (grub_ext2_open): Read size_high.
18334 Reported by: Ximin Luo.
18335 Tested by: Manoel Rebelo Abranches.
18336
5f0c02b3
VS
183372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * util/grub-install.in: Handle filenames containing spaces.
18340 Reported by: Jordan Uggla.
18341 Tested by: Jordan Uggla.
18342
4417aae6
VS
183432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 * util/grub-mkconfig.in (grub_script_check): New variable.
18346 Use grub_script_check instead of grub-script-check.
18347 Reported by: Barry Jackson.
18348
7625a68e
VS
183492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * docs/grub.texi (menu): Correct the order.
18352 Reported by: D. Hugh Redelmeier.
18353
10001ac5
VS
183542010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18357 jump.
18358
9c4cf53b
MRA
183592010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18360
10001ac5
VS
18361 * include/grub/elfload.h (grub_elf32_size): New parameter.
18362 All users updated.
9c4cf53b
MRA
18363 Return maximum segments alignment.
18364 (grub_elf64_size): Likewise.
18365 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18366 Return maximum segments alignment.
18367 (grub_elf64_size): Likewise.
18368 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18369 (grub_linux_claimmap_iterate): New function. Uses the
18370 "available" property in the "memory" node for memory allocation
18371 for kernel in the PowerPC loader.
9c4cf53b
MRA
18372 (grub_linux_load32): Correctly find linux entry point offset.
18373 (grub_linux_load64): Likewise.
18374
d2bf06bf
RM
183752010-11-07 Robert Millan <rmh@gnu.org>
18376
18377 On mips-yeeloong, build with -march=loongson2f when this flag is
18378 available (GCC >= 4.4).
18379 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18380 `-march=mips3'.
18381 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18382 or otherwise add -march=mips3.
18383
898c99a2
BC
183842010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18385
87220a68
BC
18386 Suppress shell expansion on echo '*' and echo "*" like cases.
18387 Reported by: Jordan Uggla.
898c99a2
BC
18388
18389 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18390 string arguments before shell expansion.
18391 * tests/grub_cmd_echo.in: New testcases.
18392
4f9b406a
RM
183932010-11-07 Robert Millan <rmh@gnu.org>
18394
18395 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18396 transition.
18397
80c6d25e
VS
183982010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 * grub-core/kern/emu/hostdisk.c
18401 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18402
4a1a0153
VS
184032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18406 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18407 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18408
34706ddc
VS
184092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18412
6972dea9
VS
184132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 * util/grub-install.in: Replace useless recomendation to pass
18416 --modules with a recomendation to report a bug.
18417
9c693bd6
VS
184182010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 Properly register serial terminfo.
18421 Reported by: Jordan Uggla
18422
18423 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18424 const.
18425 (grub_serial_terminfo_output_template): Likewise.
18426 (grub_cmd_serial): Register "serial" with terminfo.
18427 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18428 grub_serial_terminfo_output.
18429
6c9e4c0c
RM
184302010-11-05 Robert Millan <rmh@gnu.org>
18431
18432 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18433 needed).
18434
b9b3839f
RM
184352010-11-05 Robert Millan <rmh@gnu.org>
18436
18437 On Yeeloong, pass machine type information to Linux.
18438
18439 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18440 (LOONGSON_MACHTYPE): New macro, set to
18441 "machtype=lemote-yeeloong-2f-8.9inches".
18442 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18443 additional argument to Linux.
18444
1a3aaff4
RM
184452010-11-04 Robert Millan <rmh@gnu.org>
18446
18447 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18448 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18449 (its SATA disks are detected as slaveless IDE master drives on
18450 kFreeBSD).
18451 Reported by Carsten Aulbert.
18452
a75f4f62
CW
184532010-11-02 Colin Watson <cjwatson@ubuntu.com>
18454
18455 * util/bin2h.c (main): Fix spelling error in generated output.
18456
33b4b0c6
GS
184572010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18458
18459 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18460
2b36fbf4
VS
184612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18464 vga= option is supplied.
18465
74aaf558
VS
184662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18469 * util/grub.d/10_kfreebsd.in: Likewise.
18470 * util/grub.d/10_linux.in: Likewise.
18471 * util/grub.d/20_linux_xen.in: Likewise.
18472
6428dec3
VS
184732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18474
18475 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18476 argument as an argument to no-argument option.
18477
f8729d98
VS
184782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 * util/grub.d/10_linux.in: Add missing load_video with explicit
18481 GRUB_GFXPAYLOAD_LINUX.
18482
89d68fa6
VS
184832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18486
3a1197cd
VS
184872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18490 elements with invlid index.
18491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18492 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18493 members.
18494 * include/grub/raid.h (grub_raid_member): New struct.
18495 (grub_raid_array): Transform devices and start_sector into usage of
18496 grub_raid_member. All users updated
18497 (allocated_devs): New member.
18498
71574288
VS
184992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18502 is modified
18503
8d40ec65
BC
185042010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18505
18506 NetBSD build fix for getline function conflict from gnulib.
18507
18508 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18509 components that depend on gnulib headers.
18510 (libgrubmods.a): Renamed from earlier libgrub.a.
18511 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18512
95b9257e
VS
185132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18516 install rather than creating a broken install.
18517
26c53dc6
VS
185182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * util/grub-setup.c (argp): Remove misleading example of installing to
18521 a partition.
18522
4171b3c5
VS
185232010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * util/grub-setup.c (setup): Clarify the error message.
18526
18568d18
VS
185272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18530
4f6a2e21
VS
185312010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * grub-core/kern/emu/misc.c
18534 (grub_make_system_path_relative_to_its_root)
18535 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18536
185372010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18538
18539 * grub-core/kern/emu/misc.c
18540 (grub_make_system_path_relative_to_its_root): Revert r2882.
18541
e138c458
VS
185422010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18545 useless field head. All users updated.
18546 (free_subchunk): Correct handling of IN_REGION subchunk.
18547
0cbcdf0e
CW
185482010-10-22 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18551 (Supported kernels): Likewise.
18552
b65ea155
GS
185532010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18554
18555 Make mktemp invocations portable.
18556
18557 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18558 exit if mktemp fails.
18559 * tests/grub_script_blockarg.in: Likewise.
18560 * tests/partmap_test.in: Likewise.
18561 * tests/util/grub-shell-tester.in: Likewise.
18562 * tests/util/grub-shell.in: Likewise.
18563 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18564 * Makefile.am: Likewise, and chain shell commands with `&&'
18565 instead of ';'.
18566 * util/grub-mkrescue.in: Use the same explicit template as above, and
18567 exit if mktemp fails.
18568
05f43cdd
BC
185692010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18570
18571 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18572 Linux kernel, reported by Dennis Schridde.
18573
800e6a9b
SJ
185742010-10-17 Szymon Janc <szymon@janc.net.pl>
18575
18576 * grub-core/normal/auth.c (grub_auth_check_authentication):
18577 Set-but-not-used variable removed.
18578
d82df574
VS
185792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18582 32-bit linux protocol.
18583
7bced458
VS
185842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18587 cursor shape for sanity.
18588
5b027690
VS
185892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * docs/grub.texi (Installation): Document buggy BIOS install.
18592
ba5f65cf
VS
185932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 * docs/grub.texi (Installation): Indent.
18596
fdf2ec9c
VS
185972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * util/grub-setup.c (setup): New parameter allow_floppy.
18600 (arguments): New member allow_floppy.
18601 (argp_parser): Handle --allow-floppy.
18602 (main): Pass allow_floppy.
18603 * util/grub-install.in: New option --allow-floppy passed though to
18604 grub-setup.
18605
861dfd4c
VS
186062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * util/grub-install.in: Handle partitionless disks.
18609
f77a8c24
VS
186102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * util/grub-setup.c (setup): Don't clean blocklists before readability
18613 verfification.
18614
27d9ee32
VS
186152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 * docs/grub.texi (Installation): Document embedding zone. Remove
18618 obsolete grub-install example.
18619
6bdda8f8
SJ
186202010-10-16 Szymon Janc <szymon@janc.net.pl>
18621
18622 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18623 Set-but-not-used variable ifdef'ed.
18624 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18625 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18626 variable removed.
18627 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18628 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18629 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18630 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18631 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18632 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18633 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18634 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18635 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18636 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18637 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18638 Likewise.
18639
e19b016b
VS
186402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18643 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18644 enum value.
18645
6c8d3002
VS
186462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18647
18648 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18649 synonym to _S5_. Needed for some DSDTs.
18650
c32b51c9
VS
186512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 Userspace ACPI parser debugging.
18654
18655 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18656 headers and add relevant defines. Don't include standard headers.
18657 (main) [GRUB_DSDT_TEST]: New function.
18658 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18659 Don't declare functions.
18660
fbfbeb39
VS
186612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 Remove dead grub_efi_mm_fini.
18664
18665 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18666 (ALLOCATED_PAGES_SIZE): Likewise.
18667 (MAX_ALLOCATED_PAGES): Likewise.
18668 (allocated_pages): Likewise.
18669 (grub_efi_allocate_pages): Don't record allocated pages.
18670 (grub_efi_free_pages): Likewise.
18671 (grub_efi_mm_init): Likewise.
18672 (grub_efi_mm_fini): Removed.
18673
65f7ed7c
VS
186742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18677 (grub_efi_mm_init): Take into account the memory map size increase.
18678
24977b44
VS
186792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18682 (serial_hw_put): Wait based on real time rather than port reads. Don't
18683 roken ports.
18684 * include/grub/serial.h (grub_serial_port): New field broken.
18685
1eb01cd2
RM
186862010-10-16 Robert Millan <rmh@gnu.org>
18687
18688 * grub-core/kern/emu/misc.c
18689 (grub_make_system_path_relative_to_its_root): Fix premature return
18690 when processing non-root ZFS filesystems.
5f8b440b 18691 Reported by Sergio Talens-Oliag.
1eb01cd2 18692
2d5fed60
RM
186932010-10-15 Robert Millan <rmh@gnu.org>
18694
18695 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18696 guarantee compressed ones are processed first.
18697
d0f4c1ea
VS
186982010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18701 grub_efiemu_autocore.
18702
d87c681f
VS
187032010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18706 rather than 0x1b.
18707 (grub_console_getkey): Use correct jae opcode rather than ja.
18708
219b3564
RM
187092010-10-12 Robert Millan <rmh@gnu.org>
18710
18711 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18712 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18713 variable. All references updated.
18714
18715 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18716
20c6bb7e
VS
187172010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18718
18719 Correctly distinguish mdraid flavours.
18720
18721 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18722 (insert_array): New argument raid.
18723 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18724 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18725 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18726
74baff84
VS
187272010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18728
18729 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18730 handling of special keys.
18731
3ef068df 187322010-10-02 Aleš Nesrsta <starous@volny.cz>
18733
c7980ad9
VS
18734 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18735 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18736
a9455194 187372010-10-02 Aleš Nesrsta <starous@volny.cz>
18738
c7980ad9
VS
18739 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18740 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18741 users updated.
a9455194 18742 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18743 Use right endpoint when querying descriptor.
a9455194 18744
441cfe65
VS
187452010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 Clear out 0x80 color bit on EFI.
18748 Tested by: decoder
18749 Reported by: decoder and meta tech.
18750
18751 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18752 (grub_console_setcolorstate): Clear out 0x80 bit.
18753 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18754 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18755 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18756
bf26bcc4
VS
187572010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18760 Set to "auto".
18761
6e3c515d
VS
187622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18765 mo_file after freeing.
18766
e6d983ba
VS
187672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18770
74ccb5b5
VS
187712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18774 flags.
18775
17821956
VS
187762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18779 usage.
18780
ee74fa48
VS
187812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18782
18783 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18784
18785 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18786 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18787 and terminfo.h when needed.
18788 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18789 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18790 (terminfo): Enable only on terminfokernel.
18791 (extcmd): Likewise.
18792 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18793 * include/grub/lib/arg.h: Likewise.
18794 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18795 incorrect usage of ->.
18796
aa438e68
VS
187972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18800 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18801
57994012
VS
188022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 Fix coreboot compilation.
18805
18806 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18807 Take VBE info into account even if only text is supported.
18808 (fill_vbe_info): Take into account the case when only VGA text
18809 is supported.
18810 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18811 on coreboot, multiboot and qemu.
18812
2a406611
VS
188132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18816 debug messages.
18817 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18818
d33613fc
VS
188192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18822 parameters.
18823
44a1b432
VS
188242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18827 if they were BSD-style.
18828
edde54e6
VS
188292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * grub-core/boot/i386/pc/lnxboot.S: Replace
18832 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18833 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18834
b65830fa
VS
188352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 Write embedding zone using Reed-Solomon.
18838
18839 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18840 * grub-core/Makefile.am (rs_decoder.S): New target.
18841 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18842 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18843 (multiboot): Move to RS part.
18844 (post_reed_solomon): New label.
18845 (grub_boot_drive): Move to non-RS part since it's modified in memory
18846 on boot.
18847 Include rs_decoder.S.
18848 * grub-core/lib/reed_solomon.c: New file.
18849 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18850 New definition.
18851 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18852 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18853 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18854 * include/grub/partition.h (grub_partition_map): Change prototype of
18855 embed to allow returning additional sectors.
18856 * include/grub/reed_solomon.h: New file.
18857 * util/grub-setup.c (setup): Handle Reed-Solomon.
18858
0b4b227f
CW
188592010-09-28 Colin Watson <cjwatson@ubuntu.com>
18860
18861 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18862 i386 and x86-64 definedness tests.
18863
f772623b
YB
188642010-09-27 Yves Blusseau <blusseau@zetam.org>
18865
18866 Fix generation of kernel_syms.lst
18867
18868 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18869 ASM_PREFIX
18870
8e57a6ca
RM
188712010-09-26 Robert Millan <rmh@gnu.org>
18872
18873 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18874
18875 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18876 the pool is an array of devices, iterate through it and return the
18877 first device that passes a stat() test (instead of blindly returning
18878 the first one).
18879
f9130836
RM
188802010-09-26 Robert Millan <rmh@gnu.org>
18881
18882 Build fixes for GNU/kFreeBSD.
18883
18884 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18885 to programs that require ZFS conversion.
18886 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18887 kernels that don't have FLOPPY_MAJOR.
18888
96510faf
BC
188892010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18890
18891 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18892
449333eb
BC
188932010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18894
18895 Fix grub-emu build.
18896
18897 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18898 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18899 mdraid09 and mdraid1x.
18900
e1fd1939
CW
189012010-09-24 Colin Watson <cjwatson@ubuntu.com>
18902
18903 Re-enable grub-extras.
18904
18905 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18906 avoid confusing Automake. Run autogen only twice, once for the top
18907 level and once for grub-core. Add Makefile.util.def and
18908 Makefile.core.def from extra modules to the appropriate autogen
18909 invocations. If Makefile.common exists in an extra module, include
18910 it in both Makefile.util.am and grub-core/Makefile.core.am;
18911 similarly, include any Makefile.util.common file in Makefile.util.am
18912 and any Makefile.core.common file in grub-core/Makefile.core.am.
18913 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18914 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18915 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18916 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18917
18918 * gentpl.py (gvar_add): Turn GVARS into a set.
18919 (global_variable_initializers): Sort global variables on output.
18920 (vars_init): New function.
18921 (first_time): Likewise.
18922 (library): Ensure that non-global variable initialisations are
18923 emitted before the first time we emit code for a library block.
18924 Append to variables rather than setting them. Only emit
18925 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18926 each conditional path.
18927 (program): installdir() emits an Autogen macro, so must be passed to
18928 var_add rather than gvar_add.
18929 (data): Likewise.
18930 (script): Likewise.
18931 (rules): New function, centralising handling for different target
18932 types. Set up Guile association lists for first_time and vars_init,
18933 and send most output to a diversion so that variable initialisations
18934 can be emitted first.
18935 (module_rules): Use new rules function.
18936 (kernel_rules): Likewise.
18937 (image_rules): Likewise.
18938 (library_rules): Likewise.
18939 (program_rules): Likewise.
18940 (script_rules): Likewise.
18941 (data_rules): Likewise.
18942
18943 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18944
18945 * .bzrignore: Add contrib and grub-core/contrib. Remove
18946 grub-core/Makefile.gcry.am.
18947
1d12cf29
YB
189482010-09-24 Yves Blusseau <blusseau@zetam.org>
18949
18950 * grub-core/lib/LzFind.c: Add missing include.
18951 * grub-core/lib/LzmaEnc.c: Likewise.
18952 * grub-core/script/lexer.c: Likewise.
18953 * grub-core/script/yylex.l: Likewise.
18954 * util/grub-macho2img.c: Likewise.
18955 * util/grub-menulst2cfg.c: Likewise.
18956 * util/grub-mklayout.c: Likewise.
18957 * util/grub-mkpasswd-pbkdf2.c
18958 * util/grub-mkrelpath.c: Likewise.
18959 * util/resolve.c: Likewise.
18960
dd363028
BC
189612010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18962
18963 * Makefile.util.def (example_unit_test): Add
18964 grub-core/gnulib/libgnu.a.
18965
f5a109e2
GS
189662010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18967
18968 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18969
6d0fa83c
VS
189702010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 Support xz compression on yeeloong.
18973
18974 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18975 * configure.ac: Check for LZMA.
18976 * grub-core/Makefile.core.def (xz_decompress): New target.
18977 (none_decompress): Likewise.
18978 * grub-core/boot/decompressor/minilib.c: New file.
18979 * grub-core/boot/decompressor/none.c: Likewise.
18980 * grub-core/boot/decompressor/xz.c: Likewise.
18981 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18982 * grub-core/kern/mips/cache_flush.S: Likewise.
18983 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18984 * grub-core/kern/mips/startup.S: Move first stage to ...
18985 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18986 nomacro.
18987 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18988 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18989 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18990 Allocate statically.
18991 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18992 Allocate statically or use scratch. Don't check CRC32.
18993 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18994 Allocate statically. Don't check CRC32.
18995 * include/grub/decompressor.h: New file.
18996 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18997 Removed.
18998 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18999 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19000 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19001 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19002 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19003 * util/grub-mkimage.c (grub_compression_t): New type.
19004 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19005 (image_target_desc): New field default_compression.
19006 (image_targets): Adjust yeeloong targets.
19007 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19008 (compress_kernel): New parameter comp.
19009 (generate_image): Likewise. Handle new compression case.
19010 (options): New option --compression
19011 (help): Likewise.
19012 (main): Handle new option.
19013
1b655af6
GS
190142010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19015
19016 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19017
8f03f0b5
CW
190182010-09-22 Colin Watson <cjwatson@ubuntu.com>
19019
19020 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19021 typo in __i386__ conditional.
19022
7835dfd3
VS
190232010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19026 include.
19027
e255597e
VS
190282010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19029
6d0fa83c 19030 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19031
19032 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19033 new tags as supported.
19034 (acpiv2_size): New function.
19035 (grub_multiboot_get_mbi_size): Take new tags into account.
19036 (grub_multiboot_make_mbi): Add new tags.
19037 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19038
6cc14051 190392010-09-21 Aleš Nesrsta <starous@volny.cz>
19040
19041 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19042 Added missing configuration of USB device.
19043
df7769d8
CW
190442010-09-21 Colin Watson <cjwatson@ubuntu.com>
19045
19046 * grub-core/normal/menu_entry.c (run): Make sure we always return
19047 a value.
19048
b031012d
CW
190492010-09-21 Colin Watson <cjwatson@ubuntu.com>
19050
19051 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19052 NumberOfPages is UINT64 according to the UEFI specification, not
19053 UINTN. Fix printf format.
19054
174de8f3
CW
190552010-09-21 Colin Watson <cjwatson@ubuntu.com>
19056
19057 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19058 `err' to grub_usb_err_t.
19059 Reported and tested by: KESHAV P.R.
19060
d7dbe923
CW
190612010-09-21 Colin Watson <cjwatson@ubuntu.com>
19062
19063 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19064 tpart non-const, so that we can assign to it. (Since this is a
19065 typedef, the constness refers to the pointer rather than what it
19066 points to.)
19067
8d5e2af3
CW
190682010-09-21 Colin Watson <cjwatson@ubuntu.com>
19069
19070 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19071 $(top_srcdir)/grub-core/gnulib as well as
19072 $(top_builddir)/grub-core/gnulib.
19073 Reported by: KESHAV P.R.
19074
5c527783
CW
190752010-09-21 Colin Watson <cjwatson@ubuntu.com>
19076
19077 * util/grub-install.in: Fix the bootloader ID option to be
19078 consistently --bootloader-id, not --bootloader_id.
19079 Reported by: KESHAV P.R.
19080
d309a16e
CW
190812010-09-21 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19084 check hash checksum." consistently translatable.
19085
b830cd16
YB
190862010-09-21 Yves Blusseau <blusseau@zetam.org>
19087
19088 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19089 $(top_builddir).
19090
c4fe27a8
CW
190912010-09-21 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19094 (GRUB_MOD_INIT): Register sha1sum command.
19095 (GRUB_MOD_FINI): Unregister sha1sum command.
19096
a4c1d277
YB
190972010-09-21 Yves Blusseau <blusseau@zetam.org>
19098
19099 Keep boot and grub directory names in sync with utils scripts
19100
19101 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19102 * config.h.in: Add previous macros.
19103 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19104 * util/grub-install.in: Use $bootdir and $grubdir variables.
19105
4eff79d2
CW
191062010-09-21 Colin Watson <cjwatson@ubuntu.com>
19107
19108 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19109 convert partition names to disk names if the new `convert' parameter
19110 is set.
19111 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19112 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19113 disk in its own right. This can happen with Xen disk images.
19114
934d7e44
YB
191152010-09-21 Yves Blusseau <blusseau@zetam.org>
19116
19117 * util/grub-editenv.c: Update strings to avoid warnings when generating
19118 grub.pot file.
19119 * util/grub-setup.c: Likewise.
934d7e44 19120
df3367cc
VS
191212010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * configure.ac: Change version to 1.99~beta0.
19124
77a94e98
VS
191252010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19128 Add BADRAM.
19129 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19130 Likewise.
19131 * include/multiboot.h: Resynced with specification.
19132 * include/multiboot2.h: Likewise.
19133
269004c1
CW
191342010-09-21 Colin Watson <cjwatson@ubuntu.com>
19135
19136 Fix po directory handling.
19137
19138 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19139 * grub-core/gnulib/Makefile.am: Import gettext module.
19140 * m4/gnulib-cache.m4: Likewise.
19141 * m4/gnulib-comp.m4: Likewise.
19142 * m4/gettext.m4: New file, from gnulib.
19143 * m4/glibc2.m4: Likewise.
19144 * m4/iconv.m4: Likewise.
19145 * m4/intdiv0.m4: Likewise.
19146 * m4/intl.m4: Likewise.
19147 * m4/intldir.m4: Likewise.
19148 * m4/intlmacosx.m4: Likewise.
19149 * m4/intmax.m4: Likewise.
19150 * m4/inttypes-pri.m4: Likewise.
19151 * m4/lcmessage.m4: Likewise.
19152 * m4/lib-ld.m4: Likewise.
19153 * m4/lib-link.m4: Likewise.
19154 * m4/lib-prefix.m4: Likewise.
19155 * m4/lock.m4: Likewise.
19156 * m4/nls.m4: Likewise.
19157 * m4/po.m4: Likewise.
19158 * m4/printf-posix.m4: Likewise.
19159 * m4/progtest.m4: Likewise.
19160 * m4/threadlib.m4: Likewise.
19161 * m4/uintmax_t.m4: Likewise.
19162 * m4/visibility.m4: Likewise.
19163 * po/Makefile.am: Remove.
19164 * po/Makefile.in.in: New file, from gettext.
19165 ($(DOMAIN).pot-update): Support POTFILES-shell.
19166 * po/Makevars: New file.
19167 * po/POTFILES-shell: Rename to ...
19168 * po/POTFILES-shell.in: ... this. Update.
19169 * po/POTFILES: Rename to ...
19170 * po/POTFILES.in: ... this. Update.
19171 * po/Rules-quot: New file, from gettext.
19172 * po/boldquot.sed: Likewise.
19173 * po/en@boldquot.header: Likewise.
19174 * po/en@quot.header: Likewise.
19175 * po/insert-header.sin: Likewise.
19176 * po/quot.sed: Likewise.
19177 * po/remove-potcdate.sin: Likewise.
19178
3e0fa5d0
VS
191792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19182
ade9bd66
VS
191832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * util/grub.d/20_linux_xen.in: Use submenus.
19186
fc55cc4c
VS
191872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 Support submenus.
19190
19191 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19192 parameter submenu. All users updated.
19193 * grub-core/normal/main.c (free_menu): Rename to ...
19194 (grub_normal_free_menu): ... this. Made global.
19195 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19196 if requested.
19197 * grub-core/normal/menu_entry.c (screen): New field submenu.
19198 (make_screen): Set submenu.
19199 (run): Open new context if requested.
19200 * include/grub/menu.h (grub_menu_entry): New field submenu.
19201 * include/grub/normal.h (grub_normal_free_menu): New proto.
19202
600cedf7
VS
192032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 Menu entries extractor.
19206
19207 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19208 variants.
19209 (GRUB_MOD_INIT): Register new variants.
19210 (GRUB_MOD_FINI): Unregister new variants.
19211 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19212 into grub_cmd_legacy_source.
19213 (grub_cmd_legacy_source): Implement extractor variants.
19214 (GRUB_MOD_INIT): Register new variants.
19215 (GRUB_MOD_FINI): Unregister new variants.
19216 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19217 as an extractor.
19218 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19219 search as an extractor.
19220 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19221 test as an extractor.
19222 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19223 as an extractor.
19224 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19225 (grub_env_new_context): New function.
19226 (grub_env_context_open): Likewise.
19227 (grub_env_extractor_open): Likewise.
19228 (grub_env_extractor_close): Likewise.
19229 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19230 grub_extractor_level.
19231 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19232 * include/grub/env.h (grub_env_extractor_open): New proto.
19233 (grub_env_extractor_close): Likewise.
19234 * include/grub/normal.h (grub_extractor_level): New external variable.
19235
7bda3a87
VS
192362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 Make cutmem accept a region specification.
19239 Suggested by: Samuel Thibault
19240
19241 * grub-core/mmap/mmap.c (parsemem): New function.
19242 (grub_cmd_cutmem): Handle new arguments.
19243
2ea57f88
VS
192442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 New command cutmem.
19247
19248 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19249 (GRUB_MOD_INIT): Register new command.
19250 (GRUB_MOD_FINI): Unregister new command.
19251
74342e31
VS
192522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 Support some annoying BSD and Minix subpartitions.
19255
19256 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19257 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19258 Properly handle concatenation.
19259 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19260 * grub-core/normal/completion.c (iterate_partition): Likewise.
19261 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19262 contain partition. All users updated.
19263 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19264 struct.
19265 (grub_openbsdlabel_partition_map): Likewise.
19266 (bsdlabel_partition_map_iterate): Rename to ..
19267 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19268 (bsdlabel_partition_map_iterate): New function.
19269 (netopenbsdlabel_partition_map_iterate): Likewise.
19270 (netbsdlabel_partition_map_iterate): Likewise.
19271 (openbsdlabel_partition_map_iterate): Likewise.
19272 (GRUB_MOD_INIT): Register new partmaps.
19273 (GRUB_MOD_FINI): Unregister new partmaps.
19274 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19275 (grub_partition_msdos_iterate): ... this. All users updated.
19276 Don't support embedding other than in a minix partition.
19277 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19278 proto.
19279 * include/grub/partition.h (grub_partition): New field msdostype.
19280 * util/grub-install.in: Handle openbsd and netbsd types being in
19281 part_bsd module.
19282
1e8d555b
VS
192832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19286
19287 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19288 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19289 (mdraid09): ... this.
19290 (mdraid1x): New module.
19291 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19292 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19293
899d8af4
VS
192942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19297 vsprintf.
19298
40901acd
CW
192992010-09-20 Colin Watson <cjwatson@ubuntu.com>
19300
19301 * grub-core/commands/efi/lsefimmap.c: Correct header.
19302 * NEWS: Update.
19303
dfe3b247
CW
193042010-09-20 Colin Watson <cjwatson@ubuntu.com>
19305
19306 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19307 as printf format strings; the translations might contain '%' which
19308 could cause a crash.
19309 (main): Likewise.
19310 * util/grub-fstest.c (argp_parser): Likewise.
19311 * util/grub-setup.c (argp_parser): Likewise.
19312 (main): Likewise.
19313
3286a4b4
VS
193142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 Use argp in grub-fstest.
19317
19318 * util/grub-fstest.c: Don't include getopt.h.
19319 Include argp.h.
19320 (root): New variable.
19321 (args_count): Likewise.
19322 (nparm): Likewise.
19323 (num_disks): Likewise.
19324 (images): Likewise.
19325 (cmd): Likewise.
19326 (debug_str): Likewise.
19327 (args): Likewise.
19328 (options): Transformed to argp.
19329 (usage): Removed.
19330 (main): Split argument parsing into ...
19331 (argp_parser): ... this. Changed to argp format.
19332 (argp): New variable.
19333 (main): Use argp_parse.
19334
3dccbe4b
TG
193352010-09-20 Tristan Gingold <gingold@free.fr>
193362010-09-20 Robert Millan <rmh.grub@aybabtu.com>
193372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * grub-core/commands/efi/lsefimmap.c: New file.
19340 * grub-core/Makefile.core.def (lsefimmap): New module.
19341 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19342
38c259a7
VS
193432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 Pause the execution (10s max) if any errors are displayed so the user
19346 has a chance to see them.
19347
19348 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19349 (grub_print_error): Increment grub_err_printed_errors.
19350 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19351 execution if any errors were displayed.
19352 (show_menu): Remove old code for pause.
19353 * grub-core/normal/menu_entry.c (run): Likewise.
19354 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19355 users updated.
19356 (grub_normal_get_char_counter): Likewise.
19357 * include/grub/err.h (grub_err_printed_errors): New external variable.
19358 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19359
f218b09c
VS
193602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 Support multiboot VBE info.
19363
19364 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19365 Take VBE info into account.
19366 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19367 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19368 Call fill_vbe_info when appropriate.
19369 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19370 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19371 as supported.
19372 (grub_multiboot_get_mbi_size): Take new tags into account.
19373 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19374 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19375 Call fill_vbe_tag when appropriate.
19376 (grub_multiboot_make_mbi): Properly align tags.
19377 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19378 function.
19379 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19380 proto.
19381 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19382
a9cc5438
VS
193832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 Suport manual terminal geometry specification.
19386
19387 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19388 Save state in grub_ofconsole_terminfo_output.
19389 (grub_ofconsole_term): Use grub_terminfo_getwh.
19390 (grub_ofconsole_getwh): Removed.
19391 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19392 (grub_serial_term): Use grub_terminfo_getwh.
19393 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19394 (options): New struct.
19395 (OPTION_*): New enum.
19396 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19397 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19398 width and height.
19399 (grub_terminfo_getwh): New proto.
19400 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19401
1a8fed20
VS
194022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 Handle legacy "terminal" command.
19405
19406 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19407 and FLAG_TERMINAL.
19408 (legacy_commands): Add terminal and title.
19409 (grub_legacy_parse): Handle terminal. Simplify title handling.
19410
41e9c57d
VS
194112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19414 parameters overflow.
19415
61c874c5
CW
194162010-09-20 Colin Watson <cjwatson@ubuntu.com>
19417
19418 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19419 widthspec.h.
19420
19421 * docs/grub.texi (Shell-like scripting): Document `!'.
19422 (Network): Simplify using new i386-pc-pxe format. Mention
19423 grub-mknetdir.
19424
19425 * NEWS: Update.
19426
943682b4
CW
194272010-09-20 Colin Watson <cjwatson@ubuntu.com>
19428
19429 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19430 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19431 when needed.
19432
6d3d698d
CW
194332010-09-20 Colin Watson <cjwatson@ubuntu.com>
19434
19435 * grub-core/commands/efi/lsefisystab.c: Correct header.
19436 * grub-core/commands/efi/lssal.c: Likewise.
19437 * grub-core/commands/testload.c: Likewise.
19438
c982589f
CW
194392010-09-20 Colin Watson <cjwatson@ubuntu.com>
19440
19441 * util/grub-mkrescue.in: Add explicit root argument to --set to
19442 prevent the UUID being interpreted as an argument to --set (matches
19443 previous change to prepare_grub_to_access_device).
19444
a63c31b6
CW
194452010-09-20 Colin Watson <cjwatson@ubuntu.com>
19446
19447 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19448 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19449 the verbosity of later #ifs.
19450 (find_partition_start): Define this function on FreeBSD too.
19451 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19452 function.
19453 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19454 on FreeBSD.
19455
6439b8ee
YB
194562010-09-20 Yves Blusseau <blusseau@zetam.org>
19457
19458 * util/grub-editenv.c: Use argp instead of getopt.
19459
c5930ec8
YB
194602010-09-20 Yves Blusseau <blusseau@zetam.org>
19461
19462 * util/grub-setup.c: Use argp instead of getopt.
19463
15c69261
YB
194642010-09-20 Yves Blusseau <blusseau@zetam.org>
19465
19466 Use gnulib-tool to create gnulib source files.
19467
19468 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19469 grub-core/gnulib directories
19470 * .bzignore: Add **/.deps and autogenerated gnulib files
19471 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19472 of gnulib macros, add grub-core/gnulib/Makefile
19473 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19474 include m4 directory to aclocal.
19475 * Makefile.util.def: Remove direct compilation of gnulib source files
19476 and use the new grub-core/gnulib/libgnu.a.
19477 * build-aux/config.rpath: move config.rpath from top directory to
19478 build-aux
19479 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19480 in gnulib headers
19481 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19482 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19483 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19484 header.
19485 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19486 string.
19487
e511c9f5
YB
194882010-09-20 Yves Blusseau <blusseau@zetam.org>
19489
19490 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19491 grub-core/genmod.sh and grub-core/gensyminfo.sh
19492
c2dede05
BC
194932010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19494
19495 Add a test for echo command options.
19496
19497 * tests/grub_cmd_echo.in: New test.
19498 * Makefile.util.def: Rules for new test.
19499
c55f5018
SJ
195002010-09-20 Szymon Janc <szymon@janc.net.pl>
19501
19502 Remove crc.mod and move crc command to hashsum.mod.
19503 Remove lib/crc.c - users updated to use gcrypt implementation.
19504
19505 * grub-core/commands/crc.c: Removed.
19506 * grub-core/Makefile.core.def (crc): Module removed.
19507 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19508 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19509 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19510 * grub-core/lib/crc.c: Removed.
19511 * include/grub/lib/crc.h: Removed.
19512 * Makefile.util.def (crc): Remove lib/crc.c
19513 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19514 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19515 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19516 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19517 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19518 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19519
e0337366
VS
195202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19523
742f9232
VS
195242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Split config.h for util and core.
19527
19528 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19529 (ADDR32): Likewise.
19530 (DATA32): Likewise.
19531 (BSS_START_SYMBOL): Likewise.
19532 (END_SYMBOL): Likewise.
19533 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19534 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19535 * config.h.in: New file.
19536 * configure.ac: Use config-util.h as config define file.
19537 Rename MACHINE into GRUB_MACHINE. All users updated.
19538 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19539 updated.
19540 (NESTED_FUNC_ATTR): Likewise.
19541 Substitue new variables.
19542 (COND_HAVE_ASM_USCORE): New conditional.
19543 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19544 (kernel_syms.lst): Use ASM_PREFIX.
19545 * grub-core/kern/emu/console.c: Include config-util.h.
19546 * grub-core/kern/emu/misc.c: Likewise.
19547 * grub-core/kern/emu/mm.c: Likewise.
19548 * include/grub/emu/misc.h: Likewise.
19549 * include/grub/libgcc.h: Likewise.
19550
39feb0e8
VS
195512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19552
19553 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19554 constants usage.
19555 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19556 Fix GRUB_TERM_KEY_* constants usage.
19557 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19558
9af6dac3
VS
195592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19562 print pointer.
19563 * grub-core/bus/usb/uhci.c: Remove empty define.
19564 (grub_uhci_check_transfer): Add missing cast.
19565 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19566 print pointer.
19567 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19568 PRIuGRUB_SIZE.
19569 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19570
d6d94820
VS
195712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 * grub-core/Makefile.core.def (legacycfg): Add
19574 lib/i386/pc/vesa_modes_table.c on emu.
19575
3572f2b6
BC
195762010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19577
19578 Reduce number of temporary files generated by build system.
19579
19580 * grub-core/gencmdlist.sh: Removed.
19581 * grub-core/genfslist.sh: Removed.
19582 * grub-core/genhandlerlist.sh: Removed.
19583 * grub-core/genmodsrc.sh: Removed.
19584 * grub-core/genpartmaplist.sh: Removed.
19585 * grub-core/genparttoollist.sh: Removed.
19586 * grub-core/gentermiinallist.sh: Removed.
19587 * grub-core/genvideolist.sh: Removed.
19588
19589 * grub-core/genmod.sh.in: New file.
19590 * grub-core/gensyminfo.sh.in: New file.
19591
19592 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19593 * conf/Makefile.extra-dist: Update with new files.
19594 * gentpl.py: Remove rules related to unnecessary temporary files.
19595 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19596 and und-* files.
19597 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19598 genmod.sh scripts.
19599 * grub-core/bus/usb/uhci.c: Remove empty #define.
19600 * grub-core/genmoddep.awk: Updated with new syminfo format.
19601 * util/bash-completion.d/Makefile.am: Add config.log to
19602 CLEANFILES.
19603
c836b030
YB
196042010-09-19 Yves Blusseau <blusseau@zetam.org>
19605
19606 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19607
2f4e8053
BC
196082010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19609
19610 * util/grub-mkconfig.in: Check the config script for syntax errors
19611 before saving.
19612
75831c34
CW
196132010-09-19 Colin Watson <cjwatson@ubuntu.com>
196142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19617 platforms.
19618 * util/grub-install.in: Add EFI and IEEE1275 support.
19619 * util/i386/efi/grub-install.in: Removed.
19620 * util/ieee1275/grub-install.in: Likewise.
19621
eaf41b25
VS
196222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19625 (grub_cmd_cmosclean): Likewise.
19626 (GRUB_MOD_INIT): Register command cmosclean.
19627 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19628 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19629
1a9130dd
CPE
196302010-09-18 Carles Pina i Estany <carles@pina.cat>
196312010-09-18 Aleš Nesrsta <starous@volny.cz>
196322010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 Add keyboard layouts support.
19635
19636 * Makefile.util.def (grub-mklayout): New file.
19637 (grub-kbdcomp): New script.
19638 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19639 Add keyboard_layouts.h.
19640 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19641 commands/boot.c on yeeloong.
19642 (keylayouts): New module.
19643 * grub-core/bus/usb/ohci.c
19644 * grub-core/bus/usb/uhci.c
19645 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19646 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19647 (attach_root_port): Likewise.
19648 (poll_nonroot_hub): Likewise.
19649 (grub_usb_poll_devices): Likewise.
19650 (detach_device): Close transfer.
19651 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19652 function.
19653 (grub_usb_bulk_setup_readwrite): Likewise.
19654 (grub_usb_bulk_finish_readwrite): Likewise.
19655 * grub-core/commands/keylayouts.c: New file.
19656 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19657 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19658 aliases.
19659 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19660 support scancode 2.
19661 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19662 * include/grub/keyboard_layouts.h: New file.
19663 * util/grub-mklayout.c: New file.
19664 * util/grub-kbdcomp.in: Likewise.
19665
a1d84a5e
VS
196662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19667
19668 Unify memory types.
19669
19670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19671 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19672 types.
19673 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19674 (grub_upper_mem): Likewise.
19675 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19676 * include/grub/memory.h (grub_memory_type_t): New enum.
19677 All users updated.
19678
9696382e
VS
196792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19680
19681 * grub-core/Makefile.core.def (lsapm): New module.
19682 * grub-core/commands/i386/pc/lsapm.c: New file.
19683 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19684 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19685 Likewise.
19686 * include/grub/i386/pc/apm.h: New file.
19687 * include/multiboot.h (multiboot_apm_info): New struct.
19688
196892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 GRUB-legacy configuration file support.
19692
19693 * Makefile.util.def (grub-menulst2cfg): New util.
19694 * docs/man/grub-menulst2cfg.h2m: New file.
19695 * grub-core/Makefile.core.def (legacycfg): New module.
19696 * grub-core/commands/legacycfg.c: New file.
19697 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19698 (grub_normal_add_menu_entry): ... this.
19699 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19700 (grub_normal_set_password): ...this.
19701 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19702 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19703 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19704 * grub-core/lib/legacy_parse.c: New file.
19705 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19706 * include/grub/i386/pc/vesa_modes_table.h: New file.
19707 * include/grub/legacy_parse.h: Likewise.
19708 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19709 * util/grub-menulst2cfg.c: New file.
19710
bf8d1338
CW
197112010-09-17 Colin Watson <cjwatson@ubuntu.com>
19712
19713 * grub-core/kern/emu/hostdisk.c
19714 (convert_system_partition_to_system_disk): Initialise node.
19715
9c0bad2e
CW
197162010-09-17 Colin Watson <cjwatson@ubuntu.com>
19717
19718 * grub-core/kern/emu/hostdisk.c
19719 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19720 leak.
19721 Reported and based on patch by: Modestas Vainius.
19722
a939d135
CW
197232010-09-17 Colin Watson <cjwatson@ubuntu.com>
19724
19725 Fix DM-RAID probing with recent versions of device-mapper udev
19726 rules.
19727
19728 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19729 canonicalise device paths under /dev/mapper/.
19730 (convert_system_partition_to_system_disk): Compare the
19731 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19732 path, since device nodes under /dev/mapper/ are often symlinks.
19733
0f7ee3c9
YB
197342010-09-17 Yves Blusseau <blusseau@zetam.org>
19735
19736 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19737
10854d0d
YB
197382010-09-16 Yves Blusseau <blusseau@zetam.org>
19739
19740 * configure.ac: Avoid some annoying error messages if freetype-config
19741 program is not found.
19742
108538d8
CW
197432010-09-16 Colin Watson <cjwatson@ubuntu.com>
19744
19745 Support RAID on virtio devices, and others.
19746
19747 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19748 Rename to ...
19749 [__MINGW32__] (grub_find_device): ... this.
19750 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19751 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19752 reasonable default if dir is NULL.
19753 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19754 ...
19755 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19756 (grub_guess_root_device): Update callers.
19757 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19758
19759 * util/raid.c (grub_util_getdiskname): Remove.
19760 (grub_util_raid_getmembers): Use grub_find_device rather than
19761 grub_util_getdiskname.
19762
e5bfc130
CW
197632010-09-16 Colin Watson <cjwatson@ubuntu.com>
19764
19765 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19766 needing to be compiled with serial support.
19767 (ls): Indicate that multiple files are accepted.
19768 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19769 indicate that multiple files are accepted.
19770
be458ae2
CW
197712010-09-16 Colin Watson <cjwatson@ubuntu.com>
19772
19773 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19774 libgrub_a_init.c, and util/bash-completion.d/grub.
19775
cb731b5e
VS
197762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * util/grub-setup.c (setup): Fix incorrect container semantics.
19779
35139e8a
VS
197802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19783 misusage.
19784 Reported by: J. Nick Terry
19785
e50fca4a
VS
197862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 Move embedding routines to partmap sources files.
19789
19790 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19791 [GRUB_UTIL]: New variable.
19792 (gpt_partition_map_iterate): Set part.parent.
19793 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19794 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19795 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19796 New function.
19797 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19798 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19799 (grub_partition_map) [GRUB_UTIL]: New field embed.
19800 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19801 (setup): Use ->embed.
19802
f00478b7
VS
198032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19806 function.
19807 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19808 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19809
2b94e3ff
YB
198102010-09-15 Yves Blusseau <blusseau@zetam.org>
19811
19812 Add function to get completions from usage.
19813
19814 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19815 completions from usage. Use LC_ALL=C to get options properly.
19816
2e04a006
VS
198172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19818
19819 * grub-core/gnulib/basename-lgpl.c: Imported.
19820 * grub-core/gnulib/basename.c: Likewise.
19821 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19822 * grub-core/gnulib/dirname.c: Likewise.
19823 * grub-core/gnulib/dirname.h: Likewise.
19824 * grub-core/gnulib/stripslash.c: Likewise.
19825
5dcdf93a
VS
198262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19827
19828 * grub-core/gnulib/error.c: Resynced.
19829 * grub-core/gnulib/getopt.c: Likewise.
19830 * grub-core/gnulib/getopt_int.h: Likewise.
19831 * grub-core/gnulib/regex.h: Likewise.
19832 * grub-core/gnulib/regex_internal.c: Likewise.
19833 * grub-core/gnulib/regex_internal.h: Likewise.
19834
014f47b7
SJ
198352010-09-15 Szymon Janc <szymon@janc.net.pl>
19836
19837 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19838 CRC calculations and validity checks.
19839 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19840 calculations.
19841
dd521a4a
SJ
198422010-09-15 Szymon Janc <szymon@janc.net.pl>
19843
19844 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19845
79c4eeb9
VS
198462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 Fix incorrect echo options handling.
19849 Reported by: Yves Blusseau.
19850
19851 * include/grub/command.h (grub_command_flags_t): New flags
19852 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19853 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19854 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19855
ed80f7d5
VS
198562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19859 users updated.
19860 (GRUB_COMMAND_FLAG_MENU): Likewise.
19861 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19862 (GRUB_COMMAND_FLAG_TITLE): Removed.
19863 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19864 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19865 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19866 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19867 (grub_command_flags_t): New enum. All users updated.
19868
5fe7620a
SG
198692010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19870
19871 Fix solaris compilation.
19872
19873 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19874 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19875 (grub-emu-list): Likewise.
19876
545b752f
VS
198772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 Remove deprecated root command.
19880
19881 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19882 updated.
19883
6c1a338c
VS
198842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * util/i386/pc/grub-setup.c: Merge this ...
19887 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19888 * util/grub-setup.c: ... into this.
19889 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19890 New struct.
19891
198922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19895 possible.
19896
d2ea4551
VS
198972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19900 allocate p.
19901
3c3b5040
VS
199022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19905 explicit root argument to set to prevent UUID to be interpreted as
19906 argument to set.
19907
b71c3fae
VS
199082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19911
275433e6
VS
199122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 Don't export grub_gate_a20.
19915
19916 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19917 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19918 to ...
19919 (grub_gate_a20): ... this. All users updated.
19920 * include/grub/i386/pc/init.h: Removed. All users updated.
19921
a5dbb1f1
VS
199222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 Create euro.pf2 which supports most European languages.
19925
19926 * Makefile.am (grubdata_DATA): Add euro.pf2.
19927 (euro.pf2): New target.
19928 (CLEANFILES): Add euro.pf2.
19929
62a747cb
VS
199302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * configure.ac: Disable emu-usb by default to prevent inadvertent
19933 device takeover.
19934
608e43b1
VS
199352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 Disable usbserial on grub-emu since our libusb code isn't good enough
19938 yet.
19939
19940 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19941 (usbserial_pl2303): Likewise.
19942 (usbserial_ftdi): Likewise.
19943
94564f81
VS
199442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 * include/grub/disk.h (grub_disk): Remove has_partitions.
19947 All users updated.
19948 * disk/loopback.c (grub_loopback): Remove has_partitions.
19949 All users updated.
19950 (options): Remove partitions. All users updated.
19951 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19952 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19953 actual partition table is found.
19954
3352800b
VS
199552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 Remove readability checks (too many false negatives).
19958
19959 * util/grub-install.in: Remove readability checks.
19960 * util/grub-mkconfig.in: Likewise.
19961 * util/grub.d/10_hurd.in: Likewise.
19962 * util/grub.d/10_kfreebsd.in: Likewise.
19963 * util/grub.d/10_linux.in: Likewise.
19964 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19965 way.
19966
2419f17a
VS
199672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 Enable acpi shutdown on all ACPI platforms.
19970
19971 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19972 on coreboo, multiboot and EFI.
19973 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19974 (grub_acpi_halt): Likewise.
19975 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19976 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19977 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19978 * grub-core/lib/i386/halt.c (grub_halt)
19979 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19980
0575c7c3
VS
199812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19984 context.
19985
54ac3cd1
VS
199862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19989 * grub-core/video/efi_uga.c: Likewise.
19990
b2a30ac5
VS
199912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 Filter devaliases and never open same device twice.
19994
19995 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19996 (last_ihandle): Likewise.
19997 (ofdisk_hash_ent): New member shortest.
19998 (ofdisk_hash_add): Add canonical path too.
19999 (scan): New function.
20000 (grub_ofdisk_iterate): Iterate over hashed entries.
20001 (compute_dev_path): Don't add :0.
20002 (grub_ofdisk_open): Don't really open the disk.
20003 (grub_ofdisk_close): Avoid closing unrelated disk.
20004 (grub_ofdisk_read): Implement reopen logic.
20005 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20006 New function.
20007 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20008 New proto.
20009
fb53b340
VS
200102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 Fix sparc64.
20013
20014 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20015 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20016 right address. Add sparc64_ieee1275_ldflags.
20017 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20018 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20019 to grub_host_to_target_addr
20020 (load_image): Likewise.
20021
f452b040
VS
200222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * grub-core/normal/completion.c (complete_file): Handle device
20025 containing slash.
20026 Fix based on patch by Doug Nazar.
20027
9b5b2541
VS
200282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 grub-mknetdir script.
20031
20032 * Makefile.util.def (grub-mknetdir): New module.
20033 * tests/util/grub-shell.in: Support boot=net
20034 * util/grub-mknetdir.in: New file.
20035
9d2be652
VS
200362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 videoinfo on non-vbe.
20039
20040 * grub-core/Makefile.core.def (vbeinfo): Removed.
20041 (vbetest): Removed.
20042 (videoinfo): New module.
20043 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20044 * grub-core/commands/i386/pc/vbetest.c: Removed.
20045 * grub-core/commands/videoinfo.c: New file.
20046 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20047 specification.
20048 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20049 as vbetest.
20050 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20051 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20052 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20053 mode_number. New parameter mode. All users updated.
20054 (grub_video_gop_iterate): New function.
20055 (grub_video_efi_gop): New member iterate.
20056 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20057 (grub_vbe_set_video_mode): Remove setting useless fields.
20058 (vbe2videoinfo): New function.
20059 (grub_video_vbe_iterate): Likewise.
20060 (grub_video_vbe_setup): Use vbe2videoinfo.
20061 (grub_video_vbe_print_adapter_specific_info): New function.
20062 (grub_video_vbe_adapter): New fields iterate and
20063 print_adapter_specific_info.
20064 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20065 All users updated.
20066 (grub_video_mode_info): New field mode_number.
20067 (grub_video_adapter): New fields iterate and
20068 print_adapter_specific_info.
20069
179503f5
TG
200702010-09-13 Tristan Gingold <gingold@free.fr>
200712010-09-13 Robert Millan <rmh.grub@aybabtu.com>
200722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * grub-core/commands/efi/lsefisystab.c: New file.
20075 * grub-core/commands/efi/lssal.c: Likewise.
20076 * grub-core/Makefile.core.def (lsacpi): New module.
20077 (lsefisystab): Likewise.
20078 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20079 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20080 (grub_efi_sal_system_table): New struct.
20081 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20082 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20083 (grub_efi_sal_system_table_platform_features): Likewise.
20084 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20085 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20086 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20087 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20088
cf9827de
VS
200892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 Support explicit user claim that a device is BIOS-visible.
20092
20093 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20094 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20095 * grub-core/kern/emu/hostdisk.c
20096 (convert_system_partition_to_system_disk): Support mdX.
20097 (find_system_device): New parameter add. All users updated.
20098 (grub_util_biosdisk_is_present): New function.
20099 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20100 proto.
20101
53f0eb1f
VS
201022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 Search hints support.
20105
20106 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20107 All users updated.
20108
b23ffd70
YB
201092010-09-13 Yves Blusseau <blusseau@zetam.org>
20110
20111 Bash completion script for util commands
20112
20113 * Makefile.am: Add util/bash-completion.d directory
20114 * configure.ac: Likewise.
20115 * util/bash-completion.d/Makefile.am: New file.
20116 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20117
d547dc28
VS
201182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20121 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20122 Reported by: Yves Blusseau.
20123
2fc8ccb9
VS
201242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20127 partition size and offset.
20128
d8a84076
VS
201292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20130
20131 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20132
84fb3b3d
VS
201332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20136
768ec2e2
VS
201372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20140 (grub_xvasprintf): Likewise.
20141
4870900f
VS
201422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20145
faca6bec
VS
201462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20149 args ending with NULL.
20150
201512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20152
20153 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20154 pointer.
20155
3c70f225
SJ
201562010-09-11 Szymon Janc <szymon@janc.net.pl>
20157
20158 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20159
4df7996d
VS
201602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 Shutdown using ACPI.
20163
20164 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20165 * grub-core/commands/acpihalt.c: New file.
20166 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20167 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20168 (grub_acpi_halt): New proto.
20169 (GRUB_ACPI_SLP_EN): New const.
20170 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20171 (GRUB_ACPI_OPCODE_*): New enum.
20172 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20173
126b4c32
TG
201742010-09-11 Tristan Gingold <gingold@free.fr>
201752010-09-11 Robert Millan <rmh.grub@aybabtu.com>
201762010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * commands/lsacpi.c: New file.
20179 * grub-core/Makefile.core.def (lsacpi): New module.
20180 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20181 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20182 (grub_acpi_madt_entry_header): New struct.
20183 (grub_acpi_madt): Likewise.
20184 (grub_acpi_madt_entry_interrupt_override): Likewise.
20185 (grub_acpi_madt_entry_sapic): Likewise.
20186 (grub_acpi_madt_entry_lsapic): Likewise.
20187 (grub_acpi_madt_entry_platform_int_source): Likewise.
20188 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20189 (PRIuGRUB_UINT32_T): Likewise.
20190 (PRIxGRUB_UINT64_T): Likewise.
20191
1aa4fe88
VS
201922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 Implement loading palette on ieee1275_fb.
20195
20196 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20197 (have_setcolors): Likewise.
20198 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20199 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20200 (grub_video_ieee1275_set_palette): Implement.
20201
25761e13
VS
202022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
202032010-09-11 Colin Watson <cjwatson@ubuntu.com>
20204
20205 * util/grub-install.in (grub_partition): New variable.
20206 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20207 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20208 Fixes a bug reported by Yves Blusseau.
20209
050abaea
VS
202102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 Fix emu on mipsel.
20213
20214 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20215 =grub_cpu_flush_cache on all mips and not only yeeloong.
20216 * configure.ac (COND_mips): New conditional.
20217 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20218 platforms.
20219 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20220 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20221 [GRUB_LINKER_HAVE_INIT]: New function.
20222 (grub_emu_post_init): Likewise.
20223 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20224 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20225 * include/grub/cache.h (_mips): Include mips/cache.h.
20226 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20227 LVM and RAID prototypes.
20228 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20229 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20230 function.
20231
5ed7d816
CW
202322010-09-10 Colin Watson <cjwatson@ubuntu.com>
20233
20234 * util/grub-install.in: Don't try to verify core.img until after
20235 running grub-mkimage to create it.
20236
90367e04
RM
202372010-09-10 Robert Millan <rmh@gnu.org>
20238
20239 * util/grub.d/10_hurd.in: Add misc readability checks.
20240 * util/grub.d/10_kfreebsd.in: Likewise.
20241 * util/grub.d/10_linux.in: Likewise.
20242
c452fa66
CW
202432010-09-10 Colin Watson <cjwatson@ubuntu.com>
20244
20245 * util/grub-install.in: ${imgext} won't be defined here until the
20246 install branch is merged. For the meantime, only verify core.img on
20247 i386-pc and sparc64-ieee1275 platforms.
20248
c38fe9f4
RM
202492010-09-10 Robert Millan <rmh@gnu.org>
20250
20251 Solaris support in grub_find_zpool_from_dir(). Thanks
20252 Seth Goldberg for referring to getextmntent() facility.
20253
20254 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20255 `sys/mkdev.h'.
20256 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20257 `<sys/mnttab.h>'.
20258 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20259 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20260 method for finding zpool name.
20261
905f7773
CW
202622010-09-10 Colin Watson <cjwatson@ubuntu.com>
20263
20264 grub-fstest needs the host and hostfs modules while other utilities
20265 actively require those modules to be absent, so grub-fstest needs
20266 its own initialisation and finalisation code.
20267
20268 * Makefile.am (grub_fstest.pp): New target.
20269 (grub_fstest_init.lst): Likewise.
20270 (grub_fstest_init.c): Likewise.
20271 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20272
fb90b546
RM
202732010-09-10 Robert Millan <rmh@gnu.org>
20274
20275 * configure.ac: Check for `struct statfs.f_fstypename' and
20276 `struct statfs.f_mntfromname'.
20277
20278 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20279 kFreeBSD-specific code.
20280
66d4bea5
RM
202812010-09-10 Robert Millan <rmh@gnu.org>
20282
20283 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20284 on ZFS. Now non-main filesystems are supported as / too.
20285
b6a690ee
CW
202862010-09-09 Colin Watson <cjwatson@ubuntu.com>
20287
20288 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20289 and grub-core/disk/host.c to ...
20290 (grub-fstest): ... here. Having the host disk implementation
20291 present confuses grub-probe and other utility programs.
20292
20293 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20294 when writing to a file, not when writing to stdout.
20295
8901b00c 202962010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20297
20298 * tests/partmap_test.in: New test for partitions.
20299 * Makefile.util.def: Rules for new test.
20300
7bf45fdd
RM
203012010-09-09 Robert Millan <rmh@gnu.org>
20302
20303 * util/grub-probe.c (probe): Fix a pair of unhandled error
20304 conditions.
20305
4dfbc574
RM
203062010-09-09 Robert Millan <rmh@gnu.org>
20307
20308 Basic Btrfs support (detection and UUID).
20309
20310 * grub-core/fs/btrfs.c: New file.
20311 * Makefile.util.def (library): Register btrfs.c.
20312 * grub-core/Makefile.core.def: Likewise.
20313
6b8e78ae
RM
203142010-09-08 Robert Millan <rmh@gnu.org>
20315
20316 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20317 with (optional) parameters to specify device and relative path.
20318 * util/grub-install.in: Use is_path_readable_by_grub() to
20319 verify readability of a few critical files.
20320 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20321 verify readability of grub.cfg.new.
20322
27f21a8b
VS
203232010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 Split minix.mod into minix.mod and minix2.mod.
20326
20327 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20328 * grub-core/Makefile.core.def (minix2): New module.
20329 * grub-core/fs/minix.c: Use definitions instead of runtime version
20330 checking.
20331 * grub-core/fs/minix2.c: New file.
20332
c0e53ea5
YB
203332010-09-08 Yves Blusseau <blusseau@zetam.org>
20334
20335 Add new --boot-directory option to replace --root-directory
20336
20337 * util/grub-install.in: Add new --boot-directory option
20338 * util/grub-reboot.in: Likewise.
20339 * util/grub-set-default.in: Likewise.
20340
b9fe6ea2
YB
203412010-09-08 Yves Blusseau <blusseau@zetam.org>
20342
20343 * util/grub-mkconfig.in: Use new variable.
20344
d87aedff
YB
203452010-09-08 Yves Blusseau <blusseau@zetam.org>
20346
20347 * configure.ac: Define some useful variables.
20348
e55e8495
VS
203492010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20352 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20353 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20354 Use terminfo and don't use cursor-on/cursor-off unless it's known
20355 to work.
20356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20357 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20358
6fa6d675
CW
203592010-09-08 Colin Watson <cjwatson@ubuntu.com>
20360
20361 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20362 starts with "(,", fill the drive containing the loaded image in
20363 between those two characters, but expect that a full partition
20364 specification including partition map names will follow.
20365
92f2aef0
RM
203662010-09-08 Robert Millan <rmh@gnu.org>
20367
20368 * configure.ac: Remove `--enable-grub-fstest' option.
20369 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20370
20371 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20372 `grub-fstest' instead of `grub-probe' for readability verification.
20373 * util/grub-probe.c (probe): Remove readability verification kludge.
20374
99fd620d
RM
203752010-09-08 Robert Millan <rmh@gnu.org>
20376
20377 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20378 initializing `GRUB_FS'.
20379
058e30ac 203802010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20381
20382 Not command (!) support to GRUB script.
20383
20384 * tests/grub_script_not.in: New test.
20385 * Makefile.util.def: Rules for new test.
20386
20387 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20388 ! command as a special case.
20389 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20390
b61d05ed 203912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20392
058e30ac 20393 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20394 grub_free.
b61d05ed 20395
4d69c786 203962010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20397
20398 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20399
aa3119c4 204002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20401
20402 * docs/grub.texi (Shell-like scripting): Documentation for break,
20403 continue, shift and return commands.
20404
db0f7e3d
VS
204052010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 Rename CD-ROM to cd on BIOS.
20408
20409 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20410 "cd".
20411 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20412
88b87c93
VS
204132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20416 * util/grub-probe.c (main): Likewise.
20417 * util/i386/pc/grub-setup.c (main): Likewise.
20418 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20419 Reported and debugged by: alexxy
20420
294f324d
VS
204212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20424 diagnostic info.
20425
d7ee3441
JS
204262010-09-05 Jo Shields <directhex@apebox.org>
20427
20428 * util/grub.d/30_os-prober.in: Add missing classes.
20429
d7e06c1f
VS
204302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * docs/grub.texi (Theme file format): Document new position format.
20433
fc157e53
VS
204342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20437 a table. Use @code instead of @verbatim.
20438
506e9a1c
CB
204392010-09-05 Colin D Bennett <colin@gibibit.com>
20440
20441 Gfxmenu documentation.
20442
20443 * docs/grub.texi (Theme file format): New chapter.
20444
f0aff67c
SJ
204452010-09-05 Szymon Janc <szymon@janc.net.pl>
20446
20447 * grub-core/Makefile.core.def (xzio): New module.
20448 * grub-core/io/xzio.c: New file.
20449 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20450 * grub-core/lib/xzembed/xz_config.h: Likewise.
20451 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20452 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20453 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20454 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20455 * grub-core/lib/xzembed/xz_private.h: Likewise.
20456 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20457 * include/grub/file.h (grub_file_filter_id): New compression filter
20458 GRUB_FILE_FILTER_XZIO.
20459
82a85062
VS
204602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20463 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20464 size.
20465
3579415d
VS
204662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20469 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20470
5124ae6d
VS
204712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20472
20473 Uncompressed checksum support.
20474
20475 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20476 (check_list): New parameter uncompress.
20477 (grub_cmd_hashsum): Handle --uncompress.
20478
9aadb3d1
VS
204792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20480
20481 Reintroduce testload.
20482
20483 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20484 from here ...
20485 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20486 (GRUB_MOD_INIT): New function.
20487 (GRUB_MOD_FINI): Likewise.
20488 * grub-core/Makefile.core.def (testload): New module.
20489
a17792c3
SJ
204902010-09-05 Szymon Janc <szymon@janc.net.pl>
20491
20492 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20493 (uint8_t): New type.
20494 (uint16_t): Likewise.
20495 (uint32_t): Likewise.
20496 (uint64_t): Likewise.
20497
b81e40a3
SJ
204982010-09-05 Szymon Janc <szymon@janc.net.pl>
20499
20500 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20501
fc2ef117
VS
205022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20505 Made static.
20506 (grub_gzfile_open): Removed. All users updated.
20507 (GRUB_MOD_INIT): New function.
20508 (GRUB_MOD_FINI): Likewise.
20509 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20510 (grub_file_filters_enabled): Likewise.
20511 (grub_file_open): Handle filters.
20512 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20513 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20514 * include/grub/file.h (grub_file_filter_id_t): New type.
20515 (grub_file_filter_t): Likewise.
20516 (grub_file_filters_all): New extern variable.
20517 (grub_file_filters_enabled): Likewise.
20518 (grub_file_filter_register): New inline function.
20519 (grub_file_filter_unregister): Likewise.
20520 (grub_file_filter_disable): Likewise.
20521 (grub_file_filter_disable_compression): Likewise.
20522 * include/grub/gzio.h: Removed.
20523
35ee15e0
BC
205242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20525
20526 Filename expansion support for wildcards in GRUB script.
20527
20528 * tests/grub_script_expansion.in: New test.
20529 * Makefile.util.def: Rule for new test.
20530
20531 * grub-core/commands/wildcard.c: New file, implements filename
20532 expansion support for GRUB script.
20533 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20534 * grub-core/script/argv.c: Cosmetic changes.
20535 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20536 Refactored to perform wildcard expansion on arguments.
20537 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20538 struct.
20539
20540 * tests/util/grub-shell.in: Fix quoting for read input.
20541
5f0c4aca
BC
205422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20543
20544 Support for updating environment variables with matched substrings
20545 of regexp.
20546
20547 * tests/grub_cmd_regexp.in: New test.
20548 * Makefile.util.def: Rule for new test.
20549
20550 * grub-core/commands/regexp.c: New option -s to update environment
20551 variables with regexp matches.
20552
3759a35f
SJ
205532010-09-04 Szymon Janc <szymon@janc.net.pl>
20554
20555 * include/grub/file.h (grub_file): New member not_easly_seekable.
20556 (grub_file_seekable): New inline function.
20557 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20558 easily seekable.
20559 (grub_gzio_open): Set not_easly_seekable.
20560 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20561 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20562
ed8c6dec
BC
205632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20564
20565 Support for options to appear multiple times on cmdline.
20566
20567 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20568 * grub-core/commands/extcmd.c: Support for repeatable option.
20569 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20570 repeatable option support.
20571
20572 Refactor menuentry into a regular command.
20573
20574 * grub-core/commands/menuentry.c: New file, menuentry command
20575 implementation.
20576 * grub-core/Makefile.core.def: Rule update for normal.mod.
20577 * grub-core/normal/main.c: Moved menuentry creation to
20578 grub-core/commands/menuentry.c.
20579 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20580 (grub_menu_execute_entry_real): Removed.
20581 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20582 function.
20583 (grub_script_execute_menuentry): Removed.
20584 * grub-core/script/parser.y (menuentry): Removed.
20585 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20586 * grub-core/script/yylex.l (menuentry): Removed.
20587 * include/grub/menu.h (grub_menu_init): New prototype.
20588 (grub_menu_fini): New prototype.
20589 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20590 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20591 (grub_script_execute_sourcecode): New prototype.
20592
dacd0cf0
BC
205932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20594
20595 "return" command for GRUB script functions.
20596
20597 * tests/grub_script_return.in: New test.
20598 * Makefile.util.def: Rules for new test.
20599
20600 * grub-core/script/execute.c (grub_script_return): New function.
20601 * grub-core/script/main.c: Register/unregister return commaond.
20602 * include/grub/script_sh.h (grub_script_return): New prototype.
20603
52e72f9d
BC
206042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20605
20606 "setparams" command to update positional parameters.
20607
20608 * tests/grub_script_setparams.in: New test.
20609 * Makefile.util.def: Rules for new test.
20610
20611 * grub-core/script/argv.c (grub_script_argv_make): New function.
20612 * grub-core/script/execute.c (replace_scope): New function.
20613 (grub_script_setparams): New function.
20614 * grub-core/script/lexer.c: Remove unused variables.
20615 * grub-core/script/main.c: Register/unregister setparams command.
20616 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20617 (grub_script_setparams): New prototype.
20618
25b60c91
BC
206192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20620
20621 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20622 grub_free order.
20623
37e7bf68
BC
206242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20625
20626 Support for passing block of commands as an argument to extcmds.
20627
20628 * Makefile.util.def: Rules for new test.
20629 * tests/grub_script_blockarg.in: New test.
20630 * grub-core/tests/test_blockarg.c: New file, block argument
20631 command used in the test.
20632
20633 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20634 (grub_register_extcmd_prio): New function prototype.
20635 (grub_extcmd_dispatcher): New function prototype.
20636 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20637 type.
20638 * include/grub/script_sh.h (struct grub_script): New members
20639 `children', `next_siblings' and `refcnt' for block arguments and
20640 reference counting.
20641 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20642 (grub_script_arg): New member `script' for block argument.
20643 (grub_script_argv): New member `script' for block argument.
20644 (grub_parser_param): New member `scripts' for block argument.
20645 (grub_script_mem_free): New extern function prototype.
20646 (grub_script_ref): New function prototype.
20647 (grub_script_unref): New function prototype.
20648
20649 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20650 extcmd form to support block arguments.
20651 * grub-core/script/argv.c: Block arguments support.
20652 * grub-core/script/execute.c: Likewise.
20653 * grub-core/script/lexer.c: Likewise.
20654 * grub-core/script/main.c: Likewise.
20655 * grub-core/script/script.c: Likewise.
20656 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20657 non-terminals.
20658
20659 * grub-core/commands/acpi.c: Update extcmd implementations with
20660 grub_extcmd_context_t.
20661 * grub-core/commands/cat.c: Likewise.
20662 * grub-core/commands/echo.c: Likewise.
20663 * grub-core/commands/extcmd.c: Likewise.
20664 * grub-core/commands/hashsum.c: Likewise.
20665 * grub-core/commands/hdparm.c: Likewise.
20666 * grub-core/commands/help.c: Likewise.
20667 * grub-core/commands/hexdump.c: Likewise.
20668 * grub-core/commands/i386/cpuid.c: Likewise.
20669 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20670 * grub-core/commands/i386/pc/halt.c: Likewise.
20671 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20672 * grub-core/commands/iorw.c: Likewise.
20673 * grub-core/commands/keystatus.c: Likewise.
20674 * grub-core/commands/loadenv.c: Likewise.
20675 * grub-core/commands/ls.c: Likewise.
20676 * grub-core/commands/lspci.c: Likewise.
20677 * grub-core/commands/memrw.c: Likewise.
20678 * grub-core/commands/probe.c: Likewise.
20679 * grub-core/commands/search_wrap.c: Likewise.
20680 * grub-core/commands/setpci.c: Likewise.
20681 * grub-core/commands/sleep.c: Likewise.
20682 * grub-core/disk/loopback.c: Likewise.
20683 * grub-core/hello/hello.c: Likewise.
20684 * grub-core/loader/i386/bsd.c: Likewise.
20685 * grub-core/loader/xnu.c: Likewise.
20686 * grub-core/term/gfxterm.c: Likewise.
20687 * grub-core/term/serial.c: Likewise.
20688 * grub-core/tests/lib/functional_test.c: Likewise.
20689
888d1500
BC
206902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20691
20692 Multi-line quoted strings support.
20693
20694 * grub-core/script/lexer.c (append_newline): Removed.
20695 (grub_script_lexer_yywrap): Refactored.
20696 (grub_script_lexer_init): Refactored.
20697 * grub-core/script/yylex.l (yywrap): New function.
20698 (grub_lexer_resplit): New function.
20699 (grub_lexer_unput): New function.
20700 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20701 and resplit.
20702 * tests/grub_script_echo1.in: Added few more testcases.
20703
dda060dd
VS
207042010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 * grub-core/kern/misc.c: Don't add abort alias in utils.
20707 Reported by: echoline.
20708
6556eba9
BC
207092010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20710
20711 Add missing files into "make dist" tarball for other platforms.
20712
20713 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20714 * conf/Makefile.common (dist_noinst_DATA): New variable.
20715 * conf/Makefile.extra-dist: Added missing make dist files.
20716 * grub-core/Makefile.core.def: Likewise.
20717
c8e7bf5f
VS
207182010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 Compress grub_prefix.
20721
20722 * grub-core/boot/i386/pc/lnxboot.S: Use
20723 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20724 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20725 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20726 GRUB_MACHINE_PREFIX_END. All users updated.
20727 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20728 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20729 + 0x40.
20730 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20731 * util/grub-mkimage.c (image_target_desc): Change data_end to
20732 prefix_end. All users updated.
20733
a7c00cdb
VS
207342010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20737 value.
20738 (grub_openbsd_boot): Likewise.
20739 (grub_netbsd_boot): Likewise.
20740 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20741 (grub_xnu_boot): Likewise.
20742
9f915872
VS
207432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 * configure.ac: Clean LIBS variable after tests.
20746
efa1bee7
CW
207472010-09-02 Colin Watson <cjwatson@ubuntu.com>
20748
20749 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20750
61d720e5
VS
207512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20754 echo if libdevmapper will be used.
20755
ef8e0ec8
IT
207562010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20757
20758 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20759 constant for the same file.
20760
03e261d8
VS
207612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20764
c2a4eba6
CW
207652010-09-02 Colin Watson <cjwatson@ubuntu.com>
20766
20767 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20768 grub-core/*.pp.
20769
9056cbf3
CW
207702010-09-02 Colin Watson <cjwatson@ubuntu.com>
20771
20772 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20773 required by the boot protocol.
20774
20775 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20776 ebp and edi members.
20777 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20778 state.ebp and state.edi.
20779 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20780 %ebp and %edi according to grub_relocator32_ebp and
20781 grub_relocator32_edi respectively.
20782 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20783 and state.edi.
20784
529cc99a
VS
207852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 Add i386-pc-pxe image target.
20788
20789 * util/grub-mkimage.c (image_target_desc): New enum value
20790 IMAGE_I386_PC_PXE.
20791 (image_targets): New target i386-pc-pxe.
20792 (generate_image): Handle i386-pc-pxe image.
20793
9a093920
VS
207942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 Fix grub_pxe_scan.
20797
20798 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20799 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20800 All users updated.
20801 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20802 (grub_pxe_pxenv): Correct type.
20803
f9cefc4e
CW
208042010-09-01 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * NEWS: Document most of the important changes since 1.98.
20807
4066f57f
CW
208082010-09-01 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20811 generated manual page) a little.
20812
da2891f9
CW
208132010-09-01 Colin Watson <cjwatson@ubuntu.com>
20814
20815 * docs/grub.texi: Add myself as an author.
20816
ad717fae
VS
208172010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * Makefile.util.def (libgrub.a): Add missing sunpc.
20820 Reported by: Seth Goldberg.
20821
eefe8abd
VS
208222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 Interrupt wrapping and code simplifications.
20825
9494ef9a
VS
20826 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20827 x86_noieee1275 which are functionaly equivalent in this case.
20828 (grub-install): Make source on each platform explicit. Enable on
20829 all noemu.
20830 * gentpl.py (x86_efi_pc): Removed group.
20831 (x86_noefi): Likewise.
20832 (i386_noefi): Likewise.
20833 (x86_noieee1275): Likewise.
20834 (i386_noieee1275): Likewise.
20835 (i386_noefi_noieee1275): Likewise.
20836 (i386_pc_qemu_coreboot): Likewise.
20837 (i386_coreboot_multiboot): Likewise.
20838 (i386_pc_coreboot_multiboot_qemu): Likewise.
20839 (x86_noefi_mips): Likewise.
20840 (noieee1275): Likewise.
20841 (ieee1275_mips): Likewise.
20842 (noemu_noieee1275): Likewise.
20843 (cmos): New group.
20844 (usb): Likewise.
20845 (videoinkernel): Likewise.
20846 (videomodules): Likewise.
eefe8abd 20847 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20848 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20849 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20850 include/grub/loader.h, include/grub/msdos_partition.h,
20851 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20852 include/grub/machine/console.h, include/grub/machine/vga.h,
20853 include/grub/machine/vbe.h, include/grub/machine/init.h,
20854 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20855 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20856 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20857 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20858 * grub-core/Makefile.core.def (kernel): Explicit the source for
20859 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20860 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20861 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20862 Use videoinkernel tag.
20863 (usb): Enable on all usb.
20864 (usbserial_common): Likewise.
20865 (usbserial_pl2303): Likewise.
20866 (usbserial_ftdi): Likewise.
20867 (uhci): Enable on all x86.
20868 (ohci): Enable on all pci.
20869 (cmostest): Enable on all CMOS.
20870 (acpi): Include commands/acpi.c on all platforms.
20871 (halt): Add relevant lib/*/halt.c.
20872 (hdparm): Enable on all pci.
20873 (lspci): Likewise.
20874 (usbtest): Enable on all usb.
20875 (ata): Enable on all pci.
20876 (ata_pthru): Likewise.
20877 (usbms): Enable on all usb.
20878 (usb_keyboard): Likewise.
20879 (font): Use tag videomodules.
20880 (bufio): Likewise.
20881 (datetime): Use tag cmos. Enable on all noemu.
20882 (mmap): Use tags common and x86.
20883 (gfxterm): Use tag videomodules.
20884 (bitmap): Likewise.
20885 (bitmap_scale): Likewise.
20886 (video_fb): Likewise.
20887 (video): Likewise.
20888 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20889 adjust padding accordingly. All users updated.
20890 (grub_ohci_transaction): Fix bad format specification.
20891 (GRUB_MOD_INIT): Add asserts for struct size.
20892 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20893 (grub_alloc_td): Likewise.
20894 (grub_free_queue): Likewise.
20895 (grub_uhci_transfer): Likewise.
20896 (grub_uhci_transaction): Fix bad format specification.
20897 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20898 (grub_usb_bulk_readwrite): Likewise.
20899 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20900 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20901 Made static.
20902 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20903 Made static.
20904 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20905 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20906 Transformed into C.
20907 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20908 Moved from here ...
20909 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20910 ... here. Transformed into C. Made static.
20911 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20912 Moved from here ...
20913 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20914 ... here. Transformed into C. Made static.
20915 * grub-core/kern/i386/pc/startup.S
20916 (grub_biosdisk_check_int13_extensions): Moved from here ...
20917 * grub-core/disk/i386/pc/biosdisk.c
20918 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20919 Made static.
20920 * grub-core/kern/i386/pc/startup.S
20921 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20922 * grub-core/disk/i386/pc/biosdisk.c
20923 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20924 Transformed into C. Made static.
20925 * grub-core/kern/i386/pc/startup.S
20926 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20927 * grub-core/disk/i386/pc/biosdisk.c
20928 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20929 Transformed into C. Made static.
20930 * grub-core/kern/i386/pc/startup.S
20931 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20932 * grub-core/disk/i386/pc/biosdisk.c
20933 (grub_biosdisk_get_diskinfo_standard): ... here.
20934 Transformed into C. Made static.
20935 * grub-core/kern/i386/pc/startup.S
20936 (grub_biosdisk_get_num_floppies): Moved from here ...
20937 * grub-core/disk/i386/pc/biosdisk.c
20938 (grub_biosdisk_get_num_floppies): ... here.
20939 Transformed into C. Made static.
20940 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20941 New function.
20942 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20943 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20944 Transformed into C. Made static.
20945 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20946 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20947 Transformed into C. Made static.
20948 * grub-core/kern/i386/ieee1275/init.c: Removed.
20949 * grub-core/kern/i386/misc.S: Likewise.
20950 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20951 Splitted from here ...
20952 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20953 Transformed into C. Made static. All users updated.
20954 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20955 Transformed into C. Made static. All users updated.
20956 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20957 Moved from here...
20958 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20959 Transformed into C. Made static. All users updated.
20960 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20961 Moved from here...
20962 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20963 Transformed into C. Made static. All users updated.
20964 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20965 Removed (replaced by C version).
20966 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20967 Moved from here...
20968 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20969 Transformed into C. Made static.
20970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20971 Moved from here...
20972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20973 ... here. Transformed into C.
20974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20975 Moved from here...
20976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20977 ... here. Transformed into C.
20978 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20979 Moved from here...
20980 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20981 ... here. Transformed into C. Made static.
20982 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20983 Moved from here...
20984 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20985 ... here. Transformed into C.
21ed554b
VS
20986 * grub-core/kern/i386/pc/startup.S
20987 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20988 * grub-core/video/i386/pc/vbe.c
20989 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20990 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20991 Moved from here...
20992 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20993 ... here. Transformed into C.
20994 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20995 Moved from here...
20996 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20997 ... here. Transformed into C.
20998 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20999 Moved from here...
21000 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21001 ... here. Transformed into C.
21002 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21003 Moved from here...
21004 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21005 ... here. Transformed into C.
21006 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21007 Moved from here...
21008 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21009 ... here. Transformed into C. Made static.
21010 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21011 Moved from here...
21012 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21013 ... here. Transformed into C. Made static.
21014 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21015 Moved from here...
21016 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21017 ... here. Transformed into C. Made static.
21018 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21019 pxe_rm_entry as third argument.
21020 (grub_bios_interrupt): New function.
21021 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21022 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21023 of calling grub_stop.
21024 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21025 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21026 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21027 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21028 * grub-core/lib/i386/halt.c: Moved from here ...
21029 * grub-core/lib/i386/halt.c: ... here.
21030 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21031 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21032 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21033 grub_stop_floppy.
21034 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21035 * include/grub/i386/coreboot/init.h: Removed.
21036 * include/grub/i386/multiboot/init.h: Likewise.
21037 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21038 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21039 * include/grub/i386/pc/int.h: New file.
21040 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21041 (grub_pxe_scan): Removed.
21042 (grub_pxe_call): Update prototype.
21043 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21044 prototypes.
21045 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21046 * include/grub/i386/qemu/init.h: Removed.
21047 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21048 noreturn.
21049 (grub_halt): Likewise.
21050 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21051 (grub_reboot): Likewise.
21052 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21053 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21054 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21055
215dd471
RM
210562010-08-30 Robert Millan <rmh@gnu.org>
21057
21058 * NEWS: Document addition of ZFS support in `grub-install' and
21059 `grub-mkconfig'.
21060
ebd65b82
BC
210612010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21062
21063 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21064 dprintf output.
21065
11721d19
VS
210662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 Remove leftover embedding of font objects.
21069
21070 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21071 * util/grub-install.in (font): Removed.
21072 * util/grub-mkimage.c (generate_image): Remove font support. All users
21073 updated.
21074
37837d4e
VS
210752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 Remove leftover embedding of font objects.
21078
21079 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21080 * util/grub-install.in (font): Removed.
21081 * util/grub-mkimage.c (generate_image): Remove font support. All users
21082 updated.
21083
b4c1aae0
VS
210842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21087 Reported by: Ian Turner
b4c1aae0 21088
8920a08d
VS
210892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21092 timeout to avoid indefinite boot stalling.
21093
f21db033
VS
210942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21097 (grub_env_write_color_highlight): Likewise.
21098
9a9de209
VS
210992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * grub-core/normal/term.c (print_more): Return to normal and not
21102 to standard state after printing "---MORE---".
21103
3dca01d7
VS
211042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21107 Mask out the bit 0x80 since it has other meaning that specifiing color.
21108
0b986c40
VS
211092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 New relocator. Allows for more kernel support and more straightforward
21112 loader writing.
21113
21114 * Makefile.am (BOOTTARGET): New variable.
21115 (QEMU32): Likewise.
21116 (linux.init.x86_64): New target.
21117 (linux.init.i386): Likewise.
21118 (multiboot.elf): Likewise.
21119 (kfreebsd.elf): Likewise.
21120 (kfreebsd.aout): Likewise.
21121 (pc-chainloader.elf): Likewise.
21122 (pc-chainloader.bin): Likewise.
21123 (ntldr.elf): Likewise.
21124 (ntldr.bin): Likewise.
21125 (multiboot2.elf): Likewise.
21126 (kfreebsd.init.x86_64): Likewise.
21127 (kfreebsd.init.i386): Likewise.
21128 (knetbsd.init.i386): Likewise.
21129 (kopenbsd.init.i386): Likewise.
21130 (knetbsd.init.x86_64): Likewise.
21131 (kopenbsd.init.x86_64): Likewise.
21132 (linux-initramfs.i386): Likewise.
21133 (linux-initramfs.x86_64): Likewise.
21134 (kfreebsd-mfsroot.i386.img): Likewise.
21135 (knetbsd.image.i386): Likewise.
21136 (kopenbsd.image.i386): Likewise.
21137 (kopenbsd.image.x86_64): Likewise.
21138 (knetbsd.miniroot-image.i386.img): Likewise.
21139 (kfreebsd-mfsroot.x86_64.img): Likewise.
21140 (knetbsd.image.x86_64): Likewise.
21141 (knetbsd.miniroot-image.x86_64.img): Likewise.
21142 (kfreebsd-mfsroot.i386.gz): Likewise.
21143 (bootcheck-kfreebsd-i386): Likewise.
21144 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21145 (bootcheck-kfreebsd-x86_64): Likewise.
21146 (knetbsd.miniroot-image.i386.gz): Likewise.
21147 (bootcheck-knetbsd-i386): Likewise.
21148 (bootcheck-kopenbsd-i386): Likewise.
21149 (bootcheck-kopenbsd-x86_64): Likewise.
21150 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21151 (bootcheck-knetbsd-x86_64): Likewise.
21152 (bootcheck-linux-i386): Likewise.
21153 (bootcheck-linux-x86_64): Likewise.
21154 (bootcheck-linux16-i386): Likewise.
21155 (bootcheck-linux16-x86_64): Likewise.
21156 (bootcheck-multiboot): Likewise.
21157 (bootcheck-multiboot2): Likewise.
21158 (bootcheck-kfreebsd-aout): Likewise.
21159 (bootcheck-pc-chainloader): Likewise.
21160 (bootcheck-ntldr): Likewise.
21161 (CLEANFILES): Add new targets.
21162 (BOOTCHECKS): New variable.
21163 (.PHONY): Add bootchecks.
21164 (SUCCESSFUL_BOOT_STRING): New variable.
21165 (BOOTCHECK_TIMEOUT): Likewise.
21166 (bootcheck): New target
21167 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21168 * configure.ac: Correct efiemu excuse.
21169 * docs/grub.texi (Supported kernels): New chapter.
21170 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21171 include/grub/mm_private.h. Simplify inclusion of
21172 include/grub/boot.h, include/grub/loader.h
21173 and include/grub/msdos_partition.h
21174 (KERNEL_HEADER_FILES) [i386_coreboot]:
21175 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21176 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21177 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21178 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21179 include/grub/machine/loader.h.
21180 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21181 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21182 extra_dist.
21183 (pci.mod): Enable on i386-multiboot.
21184 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21185 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21186 i386-qemu.
21187 (relocator.mod): Rewritten.
21188 (aout.mod): Enable on all x86.
21189 (bsd.mod): Likewise.
21190 (ntldr.mod): New module.
21191 (linux.mod): Use loader/i386/linux.c on all x86.
21192 (xnu.mod): Enable on all x86.
21193 (vga_text.mod): disable on EFI and QEMU.
21194 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21195 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21196 * grub-core/efiemu/loadcore.c: Likewise.
21197 * grub-core/efiemu/main.c: Likewise.
21198 (grub_efiemu_exit_boot_services): Removed.
21199 (grub_efiemu_finish_boot_services): Likewise.
21200 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21201 function.
21202 * grub-core/efiemu/i386/nocfgtables.c: New file.
21203 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21204 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21205 (grub_efi_finish_boot_services): Moved from here ...
21206 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21207 Fille finish memory map and related data.
21208 (finish_mmap_buf): New variable.
21209 (grub_efi_uintn_t finish_mmap_size): Likewise.
21210 (grub_efi_uintn_t finish_key): Likewise.
21211 (grub_efi_uintn_t finish_desc_size): Likewise.
21212 (grub_efi_uint32_t finish_desc_version): Likewise.
21213 (grub_efi_is_finished): Likewise.
21214 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21215 finished.
21216 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21217 (grub_elf64_phdr_iterate): Likewise.
21218 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21219 (grub_os_area_size): Likewise.
21220 (grub_machine_init): Don't reserve os area.
21221 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21222 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21223 * grub-core/kern/i386/loader.S: Removed.
21224 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21225 (grub_os_area_size): Likewise.
21226 (grub_machine_init): Don't reserve os area.
21227 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21228 Don't call grub_dl_unload_all.
21229 Don't include loader.S.
21230 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21231 Declare the memory after _end as available.
21232 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21233 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21234 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21235 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21236 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21237 * include/grub/mm_private.h (grub_mm_header): ... here.
21238 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21239 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21240 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21241 (grub_mm_region): ..here. Removed addr. Added pre_size.
21242 All users updated.
21243 * grub-core/kern/mm.c (base): Renamed to ...
21244 (grub_mm_base): ... this. Made global.
21245 (grub_real_malloc): Alloc from end of region.
21246 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21247 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21248 * grub-core/kern/powerpc/cache_flush.S: ... here.
21249 * grub-core/lib/efi/relocator.c: New file.
21250 * grub-core/lib/i386/relocator.c: Rewritten.
21251 * grub-core/lib/i386/relocator16.S: New file.
21252 * grub-core/lib/i386/relocator32.S: Likewise.
21253 * grub-core/lib/i386/relocator64.S: Likewise.
21254 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21255 * grub-core/lib/i386/relocator_common.S: New file.
21256 * grub-core/lib/ieee1275/relocator.c: Likewise.
21257 * grub-core/lib/mips/relocator.c: Rewritten.
21258 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21259 stylistic adjustments.
21260 * grub-core/lib/powerpc/relocator.c: New file.
21261 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21262 * grub-core/lib/relocator.c: Rewritten.
21263 * grub-core/lib/x86_64/relocator_asm.S: New file.
21264 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21265 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21266 (bsd_tag): New struct.
21267 (tags): New variable.
21268 (tags_last): Likewise.
21269 (netbsd_module): New struct.
21270 (netbsd_mods): New variable.
21271 (netbsd_mods_last): Likewise.
21272 (openbsd_opts): New parameter "serial".
21273 (OPENBSD_SERIAL_ARG): New definition.
21274 (netbsd_opts): New parameter "serial".
21275 (NETBSD_SERIAL_ARG): New definition.
21276 (grub_freebsd_add_meta): Reorganised into ...
21277 (grub_bsd_add_meta): ...this. All users updated.
21278 (grub_freebsd_add_mmap): Reorganised into ...
21279 (generate_e820_mmap): ...this...
21280 (grub_bsd_add_mmap): ...and this. All users updated.
21281 (grub_freebsd_list_modules): Use tags.
21282 (grub_netbsd_add_meta_module): New function.
21283 (grub_netbsd_list_modules): Likewise.
21284 (grub_freebsd_boot): Use relocator and finish EFI.
21285 (grub_openbsd_boot): Likewise.
21286 (grub_netbsd_setup_video): New function.
21287 (grub_netbsd_add_modules): Likewise.
21288 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21289 and finish EFI.
21290 (grub_bsd_unload): Unload tags.
21291 (grub_bsd_load_aout): Use relocator.
21292 (grub_bsd_elf32_size_hook): New function.
21293 (grub_bsd_elf32_hook): Use relocator.
21294 (grub_bsd_elf64_size_hook): New function.
21295 (grub_bsd_elf64_hook): Use relocator.
21296 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21297 (grub_bsd_load): Zero-out openbsd_ramdisk.
21298 (grub_bsd_load): Use relocator.
21299 (grub_cmd_openbsd): Support serial.
21300 (grub_cmd_netbsd): Support modules.
21301 (grub_cmd_freebsd_module): Use relocator.
21302 (grub_netbsd_module_load): New function.
21303 (grub_cmd_netbsd_module): Likewise.
21304 (grub_cmd_openbsd_ramdisk): Likewise.
21305 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21306 kopenbsd_ramdisk.
21307 (GRUB_MOD_FINI): Unregister new commands.
21308 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21309 (grub_freebsd_load_elfmodule_obj): Use relocator.
21310 (grub_freebsd_load_elfmodule): Likewise.
21311 (grub_freebsd_load_elf_meta): Likewise.
21312 (grub_netbsd_load_elf_meta): New function.
21313 (grub_openbsd_find_ramdisk): Likewise.
21314 * grub-core/loader/i386/bsd_helper.S: Removed.
21315 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21316 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21317 * grub-core/loader/i386/efi/linux.c: Likewise.
21318 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21319 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21320 (DEFAULT_VIDEO_MODE): Likewise.
21321 (real_mode_target): New variable.
21322 (prot_mode_target): Likewise.
21323 (initrd_mem_target): Likewise.
21324 (relocator): Likewise.
21325 (efi_mmap_buf): Likewise.
21326 (efi_mmap_size): Likewise.
21327 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21328 (free_pages): Use relocator.
21329 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21330 (grub_linux_setup_video): Return error.
21331 (grub_linux_trampoline_start): Removed.
21332 (grub_linux_trampoline_end): Likewise.
21333 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21334 andd video parameters depending on firmware.
21335 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21336 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21337 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21338 (grub_cmd_initrd): Use relocator.
21339 * grub-core/loader/i386/linux_trampoline.S: Removed.
21340 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21341 (elf_sec_entsize): Likewise.
21342 (elf_sec_shstrndx): Likewise.
21343 (elf_sections): Likewise.
21344 (grub_multiboot_load): Use relocator.
21345 (grub_multiboot_get_mbi_size): Account for sections.
21346 (grub_multiboot_make_mbi): Use relocator and support sections.
21347 (grub_multiboot_add_elfsyms): New function.
21348 (grub_multiboot_free_mbi): Free sections.
21349 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21350 (grub_linux_real_target): Likewise.
21351 (grub_linux_real_chunk): Likewise.
21352 (grub_linux16_prot_size): Likewise.
21353 (grub_linux16_boot): Use relocator.
21354 (grub_linux_unload): Unload relocator.
21355 (grub_cmd_linux): Use relocator.
21356 (grub_cmd_initrd): Likewise.
21357 * grub-core/loader/i386/pc/ntldr.c: New file.
21358 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21359 Don't try to guess CPU frequency.
21360 (grub_xnu_set_video): Stretch bitmap.
21361 (grub_xnu_boot): Use relocator.
21362 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21363 (grub_linux_unload): Free relocator.
21364 (grub_linux_load32): Use relocator.
21365 (grub_linux_load64): Likewise.
21366 (grub_cmd_initrd): Likewise.
21367 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21368 (grub_multiboot_unload): Unload relocator.
21369 (grub_cmd_multiboot): Use relocator.
21370 (grub_cmd_module): Likewise.
21371 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21372 Use relocator and support sections.
21373 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21374 (elf_sec_entsize): Likewise.
21375 (elf_sec_shstrndx): Likewise.
21376 (elf_sections): Likewise.
21377 (grub_multiboot_load): Use relocator.
21378 (grub_multiboot_get_mbi_size): Account for sections.
21379 (grub_multiboot_make_mbi): Use relocator and support sections.
21380 (grub_multiboot_add_elfsyms): New function.
21381 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21382 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21383 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21384 Prototype changed. All users updated.
21385 (grub_xnu_align_heap): Simplified.
21386 (grub_xnu_writetree_toheap): Likewise.
21387 (grub_xnu_unload): Unload relocator.
21388 (grub_cmd_xnu_kernel): Use relocator.
21389 (grub_cmd_xnu_kernel64): Likewise.
21390 (grub_xnu_register_memory): Simplified.
21391 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21392 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21393 EFI is finished.
21394 (grub_console_checkkey): Likewise.
21395 (grub_console_getkey): Likewise.
21396 (grub_console_getwh): Likewise.
21397 (grub_console_getxy): Likewise.
21398 (grub_console_gotoxy): Likewise.
21399 (grub_console_cls): Likewise.
21400 (grub_console_setcolorstate): Likewise.
21401 (grub_console_setcursor): Likewise.
21402 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21403 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21404 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21405 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21406 * grub-core/tests/boot/kernel-8086.S: Likewise.
21407 * grub-core/tests/boot/kernel-i386.S: Likewise.
21408 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21409 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21410 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21411 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21412 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21413 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21414 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21415 * grub-core/tests/boot/linux.cfg: Likewise.
21416 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21417 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21418 * grub-core/tests/boot/linux16.cfg: Likewise.
21419 * grub-core/tests/boot/multiboot.cfg: Likewise.
21420 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21421 * grub-core/tests/boot/ntldr.cfg: Likewise.
21422 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21423 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21424 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21425 New definition.
21426 * include/grub/dl.h (grub_dl_unload_all): Removed.
21427 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21428 (grub_efi_finish_boot_services): Change prototype.
21429 (grub_efi_is_finished): New variable.
21430 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21431 Changed prototype.
21432 (grub_efiemu_finish_boot_services): Removed.
21433 (grub_machine_efiemu_init_tables): New prototype.
21434 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21435 (grub_elf64_phdr_iterate): Likewise.
21436 * include/grub/i386/bsd.h: Include relocator.h.
21437 (freebsd_tag_header): New struct.
21438 (grub_openbsd_bios_mmap): Removed.
21439 (grub_unix_real_boot): Removed.
21440 (grub_freebsd_load_elfmodule32): Changed prototype.
21441 (grub_freebsd_load_elfmodule_obj64): Likewise.
21442 (grub_freebsd_load_elf_meta32): Likewise.
21443 (grub_freebsd_load_elf_meta64): Likewise.
21444 (grub_freebsd_add_meta): Removed.
21445 (grub_netbsd_load_elf_meta32): New prototype.
21446 (grub_netbsd_load_elf_meta64): Likewise.
21447 (grub_bsd_add_meta): Likewise.
21448 (grub_openbsd_ramdisk_descriptor): New struct.
21449 (grub_openbsd_find_ramdisk32): New prototype.
21450 (grub_openbsd_find_ramdisk64): Likewise.
21451 * include/grub/i386/coreboot/loader.h: Removed.
21452 * include/grub/i386/efi/loader.h: Likewise.
21453 * include/grub/i386/ieee1275/loader.h: Likewise.
21454 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21455 to grub_uint32_t.
21456 * include/grub/i386/loader.h: Removed.
21457 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21458 value.
21459 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21460 (grub_phys_addr_t): New type.
21461 (grub_vtop): New inline function.
21462 (grub_map_memory): Likewise.
21463 (grub_unmap_memory): Likewise.
21464 * include/grub/i386/multiboot/loader.h: Removed.
21465 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21466 (NETBSD_BTINFO_CONSOLE): New definition.
21467 (NETBSD_BTINFO_SYMTAB): Likewise.
21468 (NETBSD_BTINFO_MODULES): Likewise.
21469 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21470 (grub_netbsd_bootinfo): New struct.
21471 (grub_netbsd_btinfo_common): Use explicit bitsize.
21472 (grub_netbsd_btinfo_mmap_entry): Removed.
21473 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21474 (grub_netbsd_btinfo_bootdisk): New struct.
21475 (grub_netbsd_btinfo_symtab): Likewise.
21476 (grub_netbsd_btinfo_serial): Likewise.
21477 (grub_netbsd_btinfo_modules): Likewise.
21478 (grub_netbsd_btinfo_framebuf): Likewise.
21479 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21480 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21481 Likewise.
21482 (grub_openbsd_bootargs): Use explicit bitsize.
21483 (grub_openbsd_bootarg_console): New struct.
21484 (GRUB_OPENBSD_COM_MAJOR): New definition.
21485 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21486 * include/grub/i386/pc/efiemu.h: Removed.
21487 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21488 * include/grub/i386/qemu/loader.h: Removed.
21489 * include/grub/i386/relocator.h: Rewritten.
21490 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21491 * include/grub/mips/memory.h: New file.
21492 * include/grub/mips/multiboot.h: Rewritten.
21493 * include/grub/mips/relocator.h: Rewritten.
21494 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21495 (grub_vtop): New function.
21496 (grub_map_memory): Likewise.
21497 (grub_unmap_memory): Likewise.
21498 * include/grub/misc.h (ALIGN_DOWN): New definition.
21499 * include/grub/mm.h (grub_mm_check_real): New proto.
21500 (GRUB_MM_CHECK): New definition.
21501 * include/grub/mm_private.h: New file.
21502 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21503 (grub_multiboot_get_mbi_size): Removed.
21504 (grub_multiboot_make_mbi): Change prottype.
21505 (grub_multiboot_set_accepts_video): New proto.
21506 (grub_multiboot_add_elfsyms): Likewise.
21507 (grub_multiboot_payload_eip): New variable.
21508 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21509 New prototype.
21510 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21511 New definition.
21512 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21513 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21514 * include/grub/powerpc/ieee1275/loader.h: Removed.
21515 * include/grub/powerpc/memory.h: New file.
21516 * include/grub/powerpc/relocator.h: Likewise.
21517 * include/grub/relocator.h: Likewise.
21518 * include/grub/relocator_private.h: Likewise.
21519 * include/grub/sparc64/ieee1275/loader.h: Removed.
21520 * include/grub/x86_64/memory.h: New file.
21521 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21522 (grub_xnu_heap_malloc): Likewise.
21523 (grub_xnu_heap_real_start): Removed.
21524 (grub_xnu_heap_start): Likewise.
21525 (grub_xnu_relocator): New variable.
21526 (grub_xnu_heap_target_start): Likewise.
21527 * tests/util/grub-shell.in: Support non-pc.
21528 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21529
5303b85d
VS
215302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21533 on malloc error.
21534 (grub_bidi_logical_to_visual): Check that malloc succeded.
21535 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21536 puts.
21537 (grub_xputs_normal): Likewise.
21538
d768d159
VS
215392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21542 extra_dist.
21543
215442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21547
5bf84df4
VS
215482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21551
3626810e
VS
215522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21555 dprintf.
21556
a7363f53
BC
215572010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21558
21559 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21560
902f75f6
VS
215612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * grub-core/normal/term.c (print_more): Fix a memory leak.
21564 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21565 (grub_xputs_normal): Likewise.
21566
3c707967
VS
215672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21570 the begining of the string
21571
2053cc07
VS
215722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * grub-core/script/script.c (grub_script_parse): Free parsed on
21575 failure.
21576
46422ebf
VS
215772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21578
21579 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21580 on failure.
21581
9e0fa3f6
VS
215822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21585 return.
21586
3393cf16
VS
215872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21590 (scroll_up): Fix a memory leak.
21591
b17540cb
VS
215922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21595 errors.
21596
67140446
VS
215972010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 Handle USB pendrives exposed as floppies.
21600
21601 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21602 floppy.
21603 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21604 Check for partitions on all devices.
21605
e35e46fc
VS
216062010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21609 (readkey): Likewise.
21610
d24c6190
BC
216112010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21612
21613 Multiple variable names support to "export" command.
21614
21615 * normal/context.c (grub_cmd_export): "export" command supports
21616 multiple variable names.
21617
04ddcc6a
ST
216182010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21619
21620 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21621 --target=drive output to Mach device name.
21622
0c8b61d8
BC
216232010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21624
21625 New Automake based build system for GRUB.
21626
21627 * ABOUT-NLS: New file.
21628 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21629 in Makefile.util.def file.
21630 * Makefile.util.def: New file. Autogen build definitions file for
21631 GRUB host utils.
21632 * conf/Makefile.common: New file. Common variables for GRUB host
21633 utils and target modules.
21634 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21635 * docs/Makefile.am: New file. Automake file for docs.
21636 * gentpl.py: New file. Python script to generate Autogen
21637 template.
21638 * grub-core/Makefile.am: New file. GRUB target modules' rules
21639 that doesn't fit in Makefile.core.def file.
21640 * grub-core/Makefile.core.def: New file. Autogen build
21641 definitions file for GRUB target modules.
21642 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21643 specific setjmp.S file.
21644 * po/Makefile.am: New file.
21645
21646 * .bzrignore: New ignores.
21647 * INSTALL: New requirements, without Ruby.
21648 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21649 * autogen.sh: Updated to invoke autogen as necessary.
21650 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21651 and defines for Automake conditionals.
21652 * geninit.sh: Refactoring.
21653
21654 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21655 necessary.
21656 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21657 New prototype.
21658
21659 * include/grub/test.h: Fix functional test modules' naming.
21660 * grub-core/tests/example_functional_test.c: Fix test module name.
21661
21662 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21663 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21664 * util/grub-editenv.c: Likewise.
21665 * util/grub-fstest.c: Likewise.
21666 * util/grub-mkdevicemap.c: Likewise.
21667 * util/grub-mkfont.c: Likewise.
21668 * util/grub-mkimage.c: Likewise.
21669 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21670 * util/grub-probe.c: Likewise.
21671 * util/grub-script-check.c: Likewise.
21672 * util/i386/pc/grub-setup.c: Likewise.
21673 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21674
21675 * tests/util/grub-shell.in: Fix override directory path.
21676 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21677 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21678
21679 * util/lvm.c: Update #includes.
21680 * util/raid.c: Likewise.
21681 * util/resolve.c: Likewise.
21682 * grub-core/bus/emu/pci.c: Likewise.
21683 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21684 * grub-core/lib/posix_wrap/string.h: Likewise.
21685 * grub-core/kern/emu/main.c: Likewise.
21686
21687 * grub-core/gensymlist.sh: New file. Script for generating kernel
21688 symbols file.
21689 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21690
21691 * grub-core/gentrigtables.c: Fix unused variable warnings.
21692
21693 * Makefile.in: Removed.
21694 * conf/any-emu.rmk: Removed.
21695 * conf/common.rmk: Removed.
21696 * conf/i386-coreboot.rmk: Removed.
21697 * conf/i386-efi.rmk: Removed.
21698 * conf/i386-ieee1275.rmk: Removed.
21699 * conf/i386-multiboot.rmk: Removed.
21700 * conf/i386-pc.rmk: Removed.
21701 * conf/i386-qemu.rmk: Removed.
21702 * conf/i386.rmk: Removed.
21703 * conf/mips-yeeloong.rmk: Removed.
21704 * conf/mips.rmk: Removed.
21705 * conf/powerpc-ieee1275.rmk: Removed.
21706 * conf/sparc64-ieee1275.rmk: Removed.
21707 * conf/tests.rmk: Removed.
21708 * conf/x86-efi.rmk: Removed.
21709 * conf/x86_64-efi.rmk: Removed.
21710 * gendistlist.sh: Removed.
21711 * geninitheader.sh: Removed.
21712 * genkernsyms.sh.in: Removed.
21713 * genmk.rb: Removed.
21714 * gensymlist.sh.in: Removed.
21715 * mkinstalldirs: Removed.
21716 * boot: Moved ...
21717 * grub-core/boot: ... to here.
21718 * bus: Moved ...
21719 * grub-core/bus: ... to here.
21720 * commands: Moved ...
21721 * grub-core/commands: ... to here.
21722 * disk: Moved ...
21723 * grub-core/disk: ... to here.
21724 * efiemu: Moved ...
21725 * grub-core/efiemu: ... to here.
21726 * font: Moved ...
21727 * grub-core/font: ... to here.
21728 * fs: Moved ...
21729 * grub-core/fs: ... to here.
21730 * gencmdlist.sh: Moved ...
21731 * grub-core/gencmdlist.sh: ... to here.
21732 * genemuinit.sh: Moved ...
21733 * grub-core/genemuinit.sh: ... to here.
21734 * genemuinitheader.sh: Moved ...
21735 * grub-core/genemuinitheader.sh: ... to here.
21736 * genfslist.sh: Moved ...
21737 * grub-core/genfslist.sh: ... to here.
21738 * genhandlerlist.sh: Moved ...
21739 * grub-core/genhandlerlist.sh: ... to here.
21740 * genmoddep.awk: Moved ...
21741 * grub-core/genmoddep.awk: ... to here.
21742 * genmodsrc.sh: Moved ...
21743 * grub-core/genmodsrc.sh: ... to here.
21744 * genpartmaplist.sh: Moved ...
21745 * grub-core/genpartmaplist.sh: ... to here.
21746 * genparttoollist.sh: Moved ...
21747 * grub-core/genparttoollist.sh: ... to here.
21748 * genterminallist.sh: Moved ...
21749 * grub-core/genterminallist.sh: ... to here.
21750 * gentrigtables.c: Moved ...
21751 * grub-core/gentrigtables.c: ... to here.
21752 * genvideolist.sh: Moved ...
21753 * grub-core/genvideolist.sh: ... to here.
21754 * gettext: Moved ...
21755 * grub-core/gettext: ... to here.
21756 * gfxmenu: Moved ...
21757 * grub-core/gfxmenu: ... to here.
21758 * gnulib: Moved ...
21759 * grub-core/gnulib: ... to here.
21760 * hello: Moved ...
21761 * grub-core/hello: ... to here.
21762 * hook: Moved ...
21763 * grub-core/hook: ... to here.
21764 * io: Moved ...
21765 * grub-core/io: ... to here.
21766 * kern: Moved ...
21767 * grub-core/kern: ... to here.
21768 * lib: Moved ...
21769 * grub-core/lib: ... to here.
21770 * loader: Moved ...
21771 * grub-core/loader: ... to here.
21772 * mmap: Moved ...
21773 * grub-core/mmap: ... to here.
21774 * normal: Moved ...
21775 * grub-core/normal: ... to here.
21776 * partmap: Moved ...
21777 * grub-core/partmap: ... to here.
21778 * parttool: Moved ...
21779 * grub-core/parttool: ... to here.
21780 * script: Moved ...
21781 * grub-core/script: ... to here.
21782 * term: Moved ...
21783 * grub-core/term: ... to here
21784 * tests/example_functional_test.c: Moved ...
21785 * grub-core/tests/example_functional_test.c: ... to here.
21786 * tests/lib/functional_test.c: Moved ...
21787 * grub-core/tests/lib/functional_test.c: ... to here.
21788 * tests/lib/test.c: Moved ...
21789 * grub-core/tests/lib/test.c: ... to here.
21790 * video: Moved ...
21791 * grub-core/video: ... to here.
21792
645586e6
BC
217932010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21794
21795 Replace --enable-grub-emu-modules with grub-emu-lite.
21796
21797 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21798 cache.S.
21799
21800 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21801 * kern/emu/full.c: New file. For grub-emu specific initialization.
21802 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21803 * kern/emu/main.c: Call initialization function grub_emu_init.
21804
21805 * Makefile.in: Include grub-emu-lite in install.
21806 * commands/parttool.c: Use grub_no_autoload to differentiate
21807 between grub-emu and grub-emu-lite.
21808 * include/grub/misc.h: New variable grub_no_autoload.
21809
21810 * conf/any-emu.rmk: New rules for grub-emu-lite.
21811 * configure.ac: Remove --enable-grub-emu-modules.
21812 * genmk.rb: Cleanup unnecessary rules.
21813 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21814
21815 * normal/main.c: Don't load list files on grub-emu-lite.
21816 * util/misc.c (grub_arch_sync_caches): Removed.
21817
f86a4030
CW
218182010-08-23 Colin Watson <cjwatson@ubuntu.com>
21819
21820 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21821 grub-mkimage rather than grub-mkelfimage.
21822 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21823
06776944
VS
218242010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21827 a key after CapsLock or NumLock. It's just a qemu bug.
21828
df262419
VS
218292010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21830
21831 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21832 needed by libusb wrapper.
21833
b40ea81b
ST
218342010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21835
21836 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21837
dee50575
VS
218382010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21841 --nounzip is passed.
21842
fb1d7b79
VS
218432010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 USB hotunplugging and USB serial support.
21846
21847 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21848 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21849 (grub_uhci_transfer): Respect timeout and set *actual.
21850 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21851 non-standard length.
21852 (grub_usb_device_attach): Autoload modules.
21853 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21854 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21855 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21856 users updated.
21857 (grub_usb_add_hub): Fill nports and children.
21858 (attach_root_port): Receive hub instead of controller.
21859 All users updated. Fill hub->devices.
21860 (grub_usb_root_hub): Allocate hub->devices.
21861 (detach_device): New function.
21862 (poll_nonroot_hub): Fill children and detach devices.
21863 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21864 actual arguments. All users updated.
21865 (grub_usb_bulk_read_extended): New function.
21866 * bus/usb/serial/common.c: New file.
21867 * bus/usb/serial/ftdi.c: Likewise.
21868 * bus/usb/serial/pl2303.c: Likewise.
21869 * commands/terminal.c (handle_command): Support wildcard.
21870 * commands/usbtest.c: Output "Unknown" instead of empty string.
21871 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21872 (usbserial_common_mod_SOURCES): New variable.
21873 (usbserial_common_mod_CFLAGS): Likewise.
21874 (usbserial_common_mod_LDFLAGS): Likewise.
21875 (pkglib_MODULES): Add usbserial_pl2303.mod.
21876 (usbserial_pl2303_mod_SOURCES): New variable.
21877 (usbserial_pl2303_mod_CFLAGS): Likewise.
21878 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21879 (pkglib_MODULES): Add usbserial_ftdi.mod.
21880 (usbserial_ftdi_mod_SOURCES): New variable.
21881 (usbserial_ftdi_mod_CFLAGS): Likewise.
21882 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21883 (pkglib_MODULES): Add serial.mod.
21884 (serial_mod_SOURCES): New variable.
21885 (serial_mod_CFLAGS): Likewise.
21886 (serial_mod_LDFLAGS): Likewise.
21887 * conf/i386-pc.rmk: Likewise.
21888 * conf/mips-yeeloong.rmk: Likewise.
21889 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21890 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21891 * disk/usbms.c (first_available_slot): New variable.
21892 (grub_usbms_attach): Don't reuse free slots due to potential cache
21893 problems.
21894 * include/grub/serial.h: Moved to ..
21895 * include/grub/ns8250.h: ...this.
21896 * include/grub/serial.h: New file.
21897 * include/grub/term.h (grub_term_poll_usb): New variable.
21898 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21899 readkey. All users updated.
21900 (grub_terminfo_output_state): Pass term to put.
21901 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21902 (grub_usb_controller_dev): Add timeout and actual arguments to
21903 transfer. All users updated.
21904 (grub_usb_interface): New field detach_data.
21905 (grub_usb_device): New fields children and nports.
21906 (grub_usb_ep_type_t): New type.
21907 (grub_usb_get_ep_type): New function.
21908 (grub_usb_bulk_read_extended): Likewise.
21909 * include/grub/usbdesc.h (grub_usb_desc): New type.
21910 * include/grub/usbserial.h: New file.
21911 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21912 * kern/term.c (grub_term_poll_usb): New variable.
21913 (grub_getkey): Call grub_term_poll_usb if set.
21914 (grub_checkkey): Likewise.
21915 (grub_getkeystatus): Likewise.
21916 * term/serial.c: Moved controller-specific parts to ...
21917 * term/ns8250.c: ... here.
21918 * term/serial.c: Mostly rewritten.
21919 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21920 according to spec.
21921
21a313de
RM
219222010-08-20 Robert Millan <rmh@gnu.org>
21923
21924 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21925 a separate module and maybe other interesting combinations.
21926
21927 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21928 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21929 (kfreebsd_entry): Add generic filesystem module load routine.
21930 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21931
63c734a6
CW
219322010-08-20 Colin Watson <cjwatson@ubuntu.com>
21933
21934 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21935 "numcenter" (I misunderstood the purpose of this entry).
21936 * docs/grub.texi (sendkey): Likewise.
21937
c4d16542
CW
219382010-08-20 Colin Watson <cjwatson@ubuntu.com>
21939
21940 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21941 status flag options; simply omitting the option is equivalent and
21942 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21943 (keysym_table): Rename "num5numlock" to "numlock".
21944 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21945 can uniformly say that only the last of multiple `sendkey'
21946 invocations has any effect.
21947 * docs/grub.texi (sendkey): New section.
21948
93541d66
CW
219492010-08-19 Colin Watson <cjwatson@ubuntu.com>
21950
21951 * commands/i386/pc/sendkey.c (options): Fix three typos.
21952
b4ece5e1
VS
219532010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 Implement sendkey support.
21956
21957 * commands/i386/pc/sendkey.c: New file.
21958 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21959 (sendkey_mod_SOURCES): New variable.
21960 (sendkey_mod_CFLAGS): Likewise.
21961 (sendkey_mod_LDFLAGS): Likewise.
21962
51f1f5af
CW
219632010-08-18 Colin Watson <cjwatson@ubuntu.com>
21964
21965 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21966 fix warnings from Autoconf.
21967
9da94e05
CW
219682010-08-18 Colin Watson <cjwatson@ubuntu.com>
21969
21970 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21971 to avoid false positives with some assemblers that output things
21972 like "someprefix_func" as part of their output.
21973
729a0f2e
RM
219742010-08-15 Robert Millan <rmh@gnu.org>
21975
21976 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21977 errors.
21978 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21979 grub_get_libzfs_handle() errors.
21980
f3710e08
RM
219812010-08-14 Robert Millan <rmh@gnu.org>
21982
21983 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21984 filesystem is not ZFS.
21985
7a3c13de
BC
219862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21987
21988 Fix for misspelled color names defaulting to black/black (bug
21989 reported by Doug Nazar)
21990
21991 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21992 status to prototype.
21993 * normal/color.c (grub_parse_color_name_pair): Return failure
21994 status.
21995 (grub_env_write_color_normal): Ignore bad color names.
21996 (grub_env_write_color_highlight): Likewise.
21997 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21998
ab8ba50d
BC
219992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22000
22001 "shift" command support to GRUB script.
22002
22003 * include/grub/script_sh.h (grub_script_shift): New prototype.
22004 * script/execute.c (grub_script_shift): New function.
22005 * script/main.c (grub_script_init): Register shift command.
22006 (grub_script_fini): Unregister shift command.
22007 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22008
22009 * tests/grub_script_shift.in: New testcase.
22010 * conf/tests.rmk: Rules for new testcase.
22011
4d61999e
BC
220122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22013
22014 "continue" command support to GRUB script.
22015
22016 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22017 (grub_script_break): Continue support.
22018 * script/main.c (grub_script_init): Register continue command.
22019 (grub_script_fini): Unregister continue command.
22020
22021 * tests/grub_script_continue.in: New testcase.
22022 * conf/tests.rmk: Rules for new testcase.
22023
4df51e00
BC
220242010-08-12 BVK Chaitanya <bvk@dbook>
22025
22026 "break" command support to GRUB script.
22027
22028 * conf/common.rmk: Rule updates to grub-script-check.
22029 * include/grub/misc.h (grub_min): New function.
22030 * include/grub/script_sh.h (grub_script_init): New prototype.
22031 (grub_script_fini): New prototype.
22032 (grub_script_break): New prototype.
22033 * script/main.c (grub_script_init): New function.
22034 (grub_script_fini): New function.
22035 * script/execute.c (grub_script_break): New function.
22036 * normal/main.c: Calls to grub_script_{init,fini}.
22037 * util/grub-script-check.c (grub_script_break): New function.
22038
22039 * tests/grub_script_break.in: New testcase.
22040 * conf/tests.rmk: Rules for new test case.
22041
f12c8420
BC
220422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22043
22044 Function parameters support to GRUB script.
22045
22046 * script/yylex.l (VARIABLE): Regular expression update.
22047 * script/function.c (grub_script_function_call): Moved ...
22048 * script/execute.c (grub_script_function_call): ... to here.
22049 (grub_script_execute_arglist_to_argv): Removed.
22050 (grub_script_arglist_to_argv): New function.
22051 * script/argv.c: New file.
22052 (grub_script_argv_free): New function.
22053 (grub_script_argv_next): Likewise.
22054 (grub_script_argv_append): Likewise.
22055 (grub_script_argv_split_append): Likewise.
22056 * include/grub/script_sh.h (grub_script_argv): New struct.
22057 (grub_script_argv_free): New function.
22058 (grub_script_argv_next): Likewise.
22059 (grub_script_argv_append): Likewise.
22060 (grub_script_argv_split_append): Likewise.
22061
22062 * conf/common.rmk (normal.mod): New source script/argv.c.
22063
22064 * tests/grub_script_echo1.in: More tests.
22065 * tests/grub_script_vars1.in: Likewise.
22066 * tests/grub_script_functions.in: New test case.
22067 * conf/tests.rmk: Rules for new testcase.
22068
8022b748
BC
220692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22070
22071 Remove grub_script_cmdblock struct.
22072
22073 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22074 * script/parser.y: Likewise.
22075 * script/execute.c: Rename cmdblock suffix to cmdlist.
22076 * script/script.c: Likewise.
22077 * util/grub-script-check.c: Likewise.
22078
79a6ba61
YB
220792010-08-11 Yves Blusseau <blusseau@zetam.org>
22080
22081 * .bzrignore: add grub-macho2img
22082
d04b9414
VS
220832010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22086
f947ab49
VS
220872010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Remove the dump of sm712 initialisation sequence.
22090
22091 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22092 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22093 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22094 (GRUB_VGA_CR_*): Added many registers.
22095 (GRUB_VGA_SR_*): Likewise.
22096 (GRUB_VGA_GR_*): Likewise.
22097 (grub_vga_write_arx): New function.
22098 (grub_video_hw_config): New struct.
22099 (grub_vga_set_geometry): New function.
22100 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22101 GRUB_PCI_CLASS_SUBCLASS_VGA.
22102 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22103 * video/sm712.c (grub_sm712_write_reg): New function
22104 (grub_sm712_read_reg): Likewise.
22105 (grub_sm712_sr_write): Likewise.
22106 (grub_sm712_gr_write): Likewise.
22107 (grub_sm712_cr_write): Likewise.
22108 (grub_sm712_write_arx): Likewise.
22109 (grub_sm712_cr_shadow_write): Likewise.
22110 (grub_sm712_write_dda_lookup): Likewise.
22111 (grub_video_sm712_setup): Initialise the video rather then
22112 blindly replay the dump.
22113 (main) [TEST]: Add a routine to be able to compile as standalone for
22114 tests.
22115 * video/sm712_init.c (sm712_init): Removed.
22116 (sm712_sr_seq1): New array.
22117 (sm712_sr_seq2): Likewise.
22118
f0206638
VS
221192010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * include/grub/vga.h: Add missing grub/pci.h include.
22122
2764da3b
YB
221232010-08-10 Yves Blusseau <blusseau@zetam.org>
22124
22125 * util/grub-macho2img.c (main): fix typo
22126
cf0c775e
VS
221272010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22130 (grub_vga_gr_read): Likewise.
22131 (grub_vga_cr_write): Likewise.
22132 (grub_vga_cr_read): Likewise.
22133 (grub_vga_sr_write): Likewise.
22134 (grub_vga_sr_read): Likewise.
22135 (grub_vga_palette_read): Likewise.
22136 (grub_vga_palette_write): Likewise.
22137 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22138 (grub_sm712_sr_read): New function.
22139 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22140 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22141
07f360e9
RM
221422010-08-09 Robert Millan <rmh@gnu.org>
22143
22144 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22145 out unused variables on non-ZFS build.
22146
346c2072
RM
221472010-08-08 Robert Millan <rmh@gnu.org>
22148
22149 Fix path generation for sub-filesystems in ZFS.
22150
22151 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22152 missing slash.
22153
71175420
RM
221542010-08-08 Robert Millan <rmh@gnu.org>
22155
22156 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22157
0d8286f3
RM
221582010-08-08 Robert Millan <rmh@gnu.org>
22159
22160 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22161 exist, issue a proper error message (rely on `ls' for translated
22162 strings).
22163
55dd2924
RM
221642010-08-08 Robert Millan <rmh@gnu.org>
22165
22166 Fix grub-probe invocation.
22167
22168 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22169
d3dd9e80
RM
221702010-08-04 Robert Millan <rmh@gnu.org>
22171
22172 * configure.ac: Remove checks for getfsstat() and getmntany().
22173 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22174 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22175 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22176 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22177 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22178 function.
22179 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22180 via find_mount_point_from_dir() and getfsstat() / getmntany().
22181
0de22aa9
RM
221822010-08-04 Robert Millan <rmh@gnu.org>
22183
22184 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22185 (grub_find_zpool_from_mount_point): Merge into ...
22186 (grub_find_zpool_from_dir): ... this.
22187 * kern/emu/misc.c: Likewise.
22188
22189 * kern/emu/misc.c
22190 (grub_make_system_path_relative_to_its_root): Replace
22191 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22192 with grub_find_zpool_from_dir().
22193 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22194
62858144
RM
221952010-08-04 Robert Millan <rmh@gnu.org>
22196
22197 Support OpenSolaris in ZFS device resolution.
22198
22199 * configure.ac: Check for getmntany().
22200 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22201 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22202 support.
22203
9dd6fd50
RM
222042010-08-03 Robert Millan <rmh@gnu.org>
22205
22206 Fix grub-emu build.
22207
22208 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22209 * include/grub/emu/misc.h: ... here.
22210
22211 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22212 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22213
22214 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22215 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22216 (grub_get_libzfs_handle): Move to ...
22217 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22218 (grub_get_libzfs_handle): ... here.
22219
c9f7ff97
BC
222202010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22221
22222 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22223 as command name case.
22224
a870a783
CW
222252010-08-02 Colin Watson <cjwatson@ubuntu.com>
22226
22227 * disk/raid.c (insert_array): Select unique numbers for named arrays
22228 as well, for use as keys in the disk cache.
22229
c7db243b
RM
222302010-08-01 Robert Millan <rmh@gnu.org>
22231
22232 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22233 kFreeBSD device name, except on ZFS where the filesystem label is
22234 used.
22235 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22236 `/boot/zfs/zpool.cache'.
22237 Set mountfrom kernel variable using ${kfreebsd_device}.
22238
f7abdefb
RM
222392010-08-01 Robert Millan <rmh@gnu.org>
22240
22241 Make it even harder to use uninitialized `libzfs_handle' (and
22242 make the interface a bit simpler).
22243
22244 * include/grub/util/misc.h (grub_util_init_libzfs)
22245 (libzfs_handle): Remove.
22246 (grub_get_libzfs_handle): New prototype.
22247
22248 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22249 attribute.
22250 (grub_util_init_libzfs): Remove.
22251 (grub_get_libzfs_handle): New function.
22252
22253 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22254 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22255 accessing `libzfs_handle' directly.
22256
c882acc0
RM
222572010-08-01 Robert Millan <rmh@gnu.org>
22258
22259 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22260 (grub_find_zpool_from_mount_point): New function prototypes.
22261
22262 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22263 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22264
22265 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22266 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22267 `static' attribute.
22268
22269 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22270 finding zpool from mount point into ...
22271 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22272
22273 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22274 requested path is part of a ZFS pool, use
22275 grub_find_zpool_from_mount_point() to detect its filesystem name,
22276 and generate a path with `/fsname@path' syntax.
22277
8bfe31d8
CW
222782010-08-01 Colin Watson <cjwatson@ubuntu.com>
22279
22280 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22281 (void) rather than () so that this is a proper prototype.
22282
553df63d
VS
222832010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22286
8687cf07
VS
222872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22290 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22291
ea9be8ea
CW
222922010-08-01 Colin Watson <cjwatson@ubuntu.com>
22293
22294 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22295
6eea041a
CW
222962010-08-01 Colin Watson <cjwatson@ubuntu.com>
22297
22298 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22299
2cfb45df
CW
223002010-08-01 Colin Watson <cjwatson@ubuntu.com>
22301
22302 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22303 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22304 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22305 disable gfxpayload.
22306 (Shell-like scripting): Add real content.
22307 (Serial terminal): Suggest `terminal_input serial; terminal_output
22308 serial' rather than putting the two commands on separate lines,
22309 since console input will be inoperative after the first command.
22310 (menuentry): Document --class, --users, and --hotkey options.
22311 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22312 Vladimir Serbinenko).
22313
7decd202
VS
223142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
223152010-08-01 Colin Watson <cjwatson@ubuntu.com>
22316
22317 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22318
c882acc0
RM
223192010-08-01 Robert Millan <rmh@gnu.org>
22320
22321 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22322 (grub_find_zpool_from_mount_point): New function prototypes.
22323
22324 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22325 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22326
22327 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22328 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22329 `static' attribute.
22330
22331 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22332 finding zpool from mount point into ...
22333 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22334
22335 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22336 requested path is part of a ZFS pool, use
22337 grub_find_zpool_from_mount_point() to detect its filesystem name,
22338 and generate a path with `/fsname@path' syntax.
22339
deb0caa3
RM
223402010-08-01 Robert Millan <rmh@gnu.org>
22341
22342 Prevent accidental use of uninitialized libzfs_handle.
22343
22344 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22345 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22346 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22347
ce04ef47
CW
223482010-08-01 Colin Watson <cjwatson@ubuntu.com>
22349
22350 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22351 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22352
ebf53056
RM
223532010-08-01 Robert Millan <rmh@gnu.org>
22354
22355 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22356
3710bb6b
RM
223572010-07-31 Robert Millan <rmh@gnu.org>
22358
22359 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22360
8072efeb
RM
223612010-07-31 Robert Millan <rmh@gnu.org>
22362
22363 * kern/emu/misc.c: Add missing license header.
22364
3169f4c7
RM
223652010-07-31 Robert Millan <rmh@gnu.org>
22366
22367 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22368
22369 * include/grub/util/libnvpair.h: Include `<config.h>'.
22370 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22371 declaring libnvpair prototypes ourselves.
22372 * include/grub/util/libzfs.h: Include `<config.h>'.
22373 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22374 declaring libzfs prototypes ourselves.
22375
22376 (libzfs_handle): Moved to ...
22377 * include/grub/util/misc.h (libzfs_handle): ... here.
22378 Include `<grub/util/libzfs.h>'.
22379
c9a00aee
RM
223802010-07-30 Robert Millan <rmh@gnu.org>
22381
22382 * include/grub/emu/misc.h: Add missing license header.
22383
a184f9c8
RM
223842010-07-30 Robert Millan <rmh@gnu.org>
22385
22386 Enable `grub-probe -t device' resolution on ZFS.
22387
22388 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22389 * include/grub/util/libnvpair.h: New file.
22390 * include/grub/util/libzfs.h: New file.
22391
22392 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22393 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22394 `<grub/util/libnvpair.h>'.
22395 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22396
22397 (find_mount_point_from_dir): New static function.
22398 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22399 function.
22400 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22401 find_root_device_from_libzfs() before ressorting to find_root_device().
22402
22403 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22404 prototype.
22405 * util/misc.c: Include `<grub/util/libzfs.h>'.
22406 (grub_util_init_libzfs): New function.
22407 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22408 [HAVE_LIBZFS] (fini_libzfs): New static function.
22409 (grub_util_init_libzfs): New function.
22410 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22411
f7790cdd
RM
224122010-07-30 Robert Millan <rmh@gnu.org>
22413
22414 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22415 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22416 `warn_unused_result' attribute.
22417 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22418 (grub_xasprintf, grub_xvasprintf): Likewise.
22419 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22420
0806b63c
RM
224212010-07-29 Robert Millan <rmh@gnu.org>
22422
22423 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22424 (probe): Handle `PRINT_FS_LABEL'.
22425 (main): Handle `-t fs_label'.
22426
9f841f5c
RM
224272010-07-29 Robert Millan <rmh@gnu.org>
22428
22429 * configure.ac: Remove grub-mkisofs checks.
22430
46371121
VS
224312010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22434 Reported by: Lennart Sorensen.
22435
224362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22439 prior to terminal_input/terminal_output separation. It's been over 1.5
22440 years and those versions weren't widely deployed.
22441
a9600892
CW
224422010-07-22 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * disk/raid.c (insert_array): Don't count named arrays when looking
22445 for unused array numbers.
697e053c 22446 Reported and tested by: Michael Guntsche.
a9600892 22447
c03507df
CW
224482010-07-20 Colin Watson <cjwatson@ubuntu.com>
22449
22450 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22451 implementation of this so that grub-emu links again, with a note
22452 that this should support hotplugging in the future.
22453
b26f1c11
CW
224542010-07-20 Colin Watson <cjwatson@ubuntu.com>
22455
22456 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22457
efc9d7f1
CW
224582010-07-20 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22461 handle on failure.
22462 (grub_loopback_close): Remove empty function.
22463 (grub_loopback_dev): Remove close method.
22464
dd8ff5c9
CW
224652010-07-20 Colin Watson <cjwatson@ubuntu.com>
22466
22467 Disable EFI cursor when the EFI console becomes inactive.
22468
22469 * term/efi/console.c (grub_efi_console_init): New function.
22470 (grub_efi_console_fini): New function.
22471 (grub_console_term_output): Register init and fini methods.
22472
5e3bec67
VS
224732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22474
22475 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22476 sh script.
22477
afaec079
VS
224782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22479
22480 * disk/loopback.c (grub_loopback): Replace filename with file.
22481 (delete_loopback): Handle new semantics.
22482 (grub_cmd_loopback): Likewise.
22483 (grub_loopback_iterate): Likewise.
22484 (grub_loopback_close): Likewise.
22485
a6a11f3c
VS
224862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22489 with -p "".
22490 Reported by: Tito Keitel.
22491
64a638b0
VS
224922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 * docs/grub.texi (Naming convention): Document new naming convention.
22495
ab8ba957
VS
224962010-07-20 Vadim Solomin <vadic052@gmail.com>
224972010-07-20 Colin Watson <cjwatson@ubuntu.com>
22498
22499 Generate device.map in something closer to the old ordering.
22500
22501 * util/deviceiter.c (struct device): New declaration.
22502 (compare_file_names): Rename to ...
22503 (compare_devices): ... this. Sort by kernel name in preference to
22504 the stable by-id name, but keep the latter as a fallback comparison.
22505 Update header comment.
22506 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22507 of `struct device' rather than of plain file names.
22508
a29d6a4b
TF
225092010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22510
22511 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22512 on i386.
22513
39d824e8
VS
225142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22515
22516 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22517 hardcoding size.
22518 (setv1table): Likewise.
22519
f058276b
FZ
225202010-07-20 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22523 removing the homehost if present.
22524 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22525 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22526 removing the homehost if present.
22527 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22528 if possible.
22529 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22530
22531 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22532 parameter. Set its pointer target to 0.
22533 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22534 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22535 `data_offset' value from the superblock for 1.x metadata.
22536 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22537 data on the device.
22538 (insert_array): Record the start sector of data on the device.
22539 (grub_raid_register): Pass start_sector parameters to
22540 grub_raid_list->detect and insert_array.
22541 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22542 member.
22543 (struct grub_raid): Add start_sector parameter to `detect'.
22544
22545 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22546 __attribute__ ((packed)), leaving a comment.
22547 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22548 (grub_mdraid_detect_09): ... here and ...
22549 (grub_mdraid_detect_1x): ... here.
22550
225512010-07-20 Peter Henn <peter.henn@web.de>
22552
22553 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22554 chunk size and disk size, which are already given as sector counts
22555 as distinct from the 0.90 units. Fetch the correct device number
22556 from the role table instead of using the table index.
22557
225582010-07-20 Felix Zielcke <fzielcke@z-51.de>
22559
22560 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22561 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22562 (WriteMostly1): New macro.
22563 Set array->name to NULL for metadata format 0.90. Add support for
22564 metadata 1.x. Fix some comments.
22565 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22566 few comments.
22567 * util/getroot.c (grub_util_get_grub_dev): Add support for
22568 /dev/md/name style devices.
22569
4b761da9
CW
225702010-07-20 Colin Watson <cjwatson@ubuntu.com>
22571
22572 * .bzrignore: Ignore 20_linux_xen.
22573
5771289a
CW
225742010-07-17 Colin Watson <cjwatson@ubuntu.com>
22575
22576 * util/import_unicode.py: Remove unnecessary imports.
22577
5dab68df
AN
225782010-07-17 Aleš Nesrsta <starous@volny.cz>
22579
22580 Hotplugging and USB hub support.
22581
22582 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22583 (grub_ohci): Likewise.
22584 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22585 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22586 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22587 (GRUB_OHCI_CTRL_EDS): Likewise.
22588 (GRUB_OHCI_BULK_EDS): Likewise.
22589 (GRUB_OHCI_TDS): Likewise.
22590 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22591 (grub_ohci_ed_phys2virt): New function.
22592 (grub_ohci_virt_to_phys): Likewise.
22593 (grub_ohci_td_phys2virt): Likewise.
22594 (grub_ohci_td_virt2phys): Likewise.
22595 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22596 attachment.
22597 (grub_ohci_find_ed): New function.
22598 (grub_ohci_alloc_td): Likewise.
22599 (grub_ohci_free_td): Likewise.
22600 (grub_ohci_free_tds): Likewise.
22601 (grub_ohci_transfer): Use previously allocated memory.
22602 (grub_ohci_portstatus): Reset status changed bit.
22603 (grub_ohci_detect_dev): Supply status changed.
22604 (grub_ohci_fini_hw): Free memory.
22605 (grub_ohci_restore_hw): Reallocate memory.
22606 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22607 Reset status change.
22608 (grub_uhci_detect_dev): Supply status_change.
22609 * bus/usb/usb.c (attach_hooks): New var.
22610 (grub_usb_device_attach): New function.
22611 (grub_usb_register_attach_hook_class): Likewise.
22612 (grub_usb_unregister_attach_hook_class): Likewise.
22613 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22614 (grub_usb_add_hub): Reset connection changed bit.
22615 (attach_root_port): New function.
22616 (grub_usb_root_hub): Likewise.
22617 (poll_nonroot_hub): Likewise.
22618 (grub_usb_poll_devices): Likewise.
22619 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22620 * disk/usbms.c (grub_usbms_open): Use device hooks.
22621 (grub_usbms_iterate) :Poll devices.
22622 (grub_usbms_finddevs): Split into ...
22623 (grub_usbms_attach): ... this ...
22624 (grub_usbms_attach): ... and this.
22625 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22626 in detect_dev.
22627 (grub_usb_interface): New fields attached and detach_hook.
22628 (grub_usb_attach_hook_class): New type.
22629 (grub_usb_attach_desc): New struct.
22630 (grub_usb_register_attach_hook_class): New function.
22631 (grub_usb_unregister_attach_hook_class): Likewise.
22632 (grub_usb_poll_devices): Likewise.
22633 (grub_usb_device_attach): Likewise.
22634 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22635 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22636
3222efaf
VS
226372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22640 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22641 delta determination style. Works with most NetBSD partitions too.
22642
139b714a
VS
226432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22646 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22647
986aad56
VS
226482010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22651
99be513c
AB
226522010-07-14 Anton Blanchard <anton@samba.org>
22653
22654 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22655 ET_DYN files.
22656
18075f62
GS
226572010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22658
22659 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22660
8d9a5b15
GS
226612010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22662
22663 * kern/partition.c (grub_partition_check_containment): New function to
22664 check that a partition is physically contained in a parent. Since
22665 offsets are relative (and non-negative), this reduces to checking that
22666 the partition ends before its parent.
22667 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22668 (grub_partition_iterate): Likewise.
22669 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22670 comments.
22671 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22672 partitions that start before their parent, and add debug printfs.
22673
19563c25
CW
226742010-07-13 Colin Watson <cjwatson@ubuntu.com>
22675
22676 * Makefile.in (.SUFFIX): Spell correctly, as ...
22677 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22678 bare module name without `.mod', e.g. `test') tried to invoke a
22679 Modula-2 compiler.
22680
1a1f1e67
CW
226812010-07-13 Colin Watson <cjwatson@ubuntu.com>
22682
22683 * README: Point to the Info manual.
22684
811b0dca
JS
226852010-07-13 Jiro SEKIBA <jir@unicus.jp>
22686
22687 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22688 2nd superblock position from partition size.
22689
e4f4eafc
CW
226902010-07-10 Colin Watson <cjwatson@ubuntu.com>
22691
22692 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22693 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22694 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22695 outputs.
22696
4274c30f
VS
226972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 Restructure SCSI .id handling.
22700 Reported and tested by: Aleš Nesrsta.
22701
22702 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22703 (grub_atapi_dev): Changed .name to "ata". New field .id.
22704 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22705 (grub_usbms_dev): New field .id.
22706 * disk/scsi.c (grub_scsi_iterate): Generate name.
22707 (grub_scsi_open): Parse name.
22708 * include/grub/scsi.h (grub_make_scsi_id): New function.
22709 (grub_scsi_dev): Change iterate and open to number instead of naming
22710 busses. All users updated.
22711 (grub_scsi): Remove name. Add .bus.
22712
5bc24388
VS
227132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * commands/help.c (grub_cmd_help): Fix a typo.
22716
249975ba
VS
227172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22718
22719 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22720 Reported and tested by: Colin Watson.
22721
3eaac1a1
VS
227222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22723
22724 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22725 in this context.
22726
becce1b1
VS
227272010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22730
f7bf0918
CW
227312010-07-07 Colin Watson <cjwatson@ubuntu.com>
22732
22733 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22734 indentation.
22735
0b0f9620
CW
227362010-07-06 Colin Watson <cjwatson@ubuntu.com>
22737
22738 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22739 and disk/raid6_recover.c.
22740 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22741 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22742
1e545469
CW
227432010-07-06 Colin Watson <cjwatson@ubuntu.com>
22744
22745 * term/gfxterm.c (repaint_schedulded): Rename to ...
22746 (repaint_scheduled): ... this. Update all callers.
22747 (repaint_was_schedulded): Rename to ...
22748 (repaint_was_scheduled): ... this. Update all callers.
22749
5357687a
CW
227502010-07-06 Colin Watson <cjwatson@ubuntu.com>
22751
22752 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22753 which we expect to be handled by upper layers.
22754
29d7e783
BC
227552010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22756
22757 * bus/usb/usbhub.c: #include time.h header.
22758
37582066
CW
227592010-07-06 Colin Watson <cjwatson@ubuntu.com>
22760
22761 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22762 entry_name also for entries without stat blocks (e.g. ".."); fixes
22763 corruption of the first entry in a directory.
22764
c8c06953
CW
227652010-07-06 Colin Watson <cjwatson@ubuntu.com>
22766
22767 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22768 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22769 doesn't work otherwise.
22770
e75056f1
CW
227712010-07-05 Colin Watson <cjwatson@ubuntu.com>
22772
22773 * docs/grub.texi (Features): Update list of supported file systems.
22774 (GNU/Linux): Update for GRUB 2.
22775 (Serial terminal): Remove mention of --disable-serial, which was a
22776 GRUB Legacy configure option. Update instructions to use
22777 `terminal_input' and `terminal_output' rather than `terminal'.
22778 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22779 configuration' and `Installing GRUB using grub-install'.
22780 (Menu entry editor): Update for GRUB 2.
22781 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22782 Document new -a, -u, and -v options.
22783 (initrd): New section.
22784 (initrd16): New section.
22785 (linux): New section.
22786 (linux16): New section.
22787 (search): The `var' argument to `--set' is optional.
22788 (GRUB only offers a rescue shell): Go into a little more detail on
22789 drive ordering.
22790
5cf69151
CW
227912010-07-05 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22794
e3f90044
CW
227952010-07-05 Colin Watson <cjwatson@ubuntu.com>
22796
22797 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22798 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22799
38d8f4f3
CW
228002010-07-05 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22803 install_prefix, in line with install_dos_part and install_bsd_part.
22804 Add new prefix variable, which is copied to install_prefix after
22805 comparing core.img in memory with the one read from disk in the
22806 no-embedding case, and use that rather than overwriting
22807 install_prefix immediately when installing to a partition.
22808 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22809 Bicakci.
22810
57ebd41e
GS
228112010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22812
22813 * configure.ac: Avoid == in test command, it's not portable.
22814 * util/grub.d/30_os-prober.in: Likewise.
22815
cb7f64b2
CW
228162010-07-04 Colin Watson <cjwatson@ubuntu.com>
22817
22818 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22819
6b654bb0
GS
228202010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22821
22822 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22823 multiple (top-level) partmaps.
22824
72a2026d
VS
228252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22828 Reported by: Tino Keitel.
72a2026d 22829
df3eb88f
VS
228302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 Bidi and diacritics support.
22833
22834 * Makefile.in (widthspec.bin): New target.
22835 (widthspec.h): Likewise.
22836 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22837 * autogen.sh: Generate unidata.c.
22838 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22839 * commands/ls.c (grub_ls_list_devices): Likewise.
22840 (grub_ls_list_files): Likewise.
22841 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22842 (grub_mini_cmd_lsmod): Likewise.
22843 * commands/read.c: Likewise.
22844 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22845 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22846 * lib/arg.c (grub_arg_show_help): Likewise.
22847 * lib/crypto.c (grub_password_get): Likewise.
22848 * normal/auth.c (grub_username_get): Likewise.
22849 * normal/misc.c (grub_normal_print_device_info): Likewise.
22850 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22851 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22852 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22853 (normal/charset.c_DEPENDENCIES): New variable.
22854 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22855 (pkglib_MODULES): Remove charset.mod.
22856 (charset_mod_SOURCES): Removed.
22857 (charset_mod_CFLAGS): Likewise.
22858 (charset_mod_LDFLAGS): Likewise.
22859 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22860 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22861 and term/tparm.c.
22862 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22863 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22864 (kernel_img_HEADERS): Add terminfo.h.
22865 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22866 Fill ->font. Reverse ascii bitmaps.
22867 (grub_font_get_xheight): New function.
22868 * font/font.c (grub_font_get_string_width): Moved from here ...
22869 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22870 * font/font.c (grub_font_draw_string): Moved from here ...
22871 * gfxmenu/font.c (grub_font_draw_string): ... here.
22872 * font/font.c (grub_font_dup_glyph): New function.
22873 (grub_font_blit_glyph): Likewise.
22874 (grub_font_blit_glyph_mirror): Likewise.
22875 (blit_comb): Likewise.
22876 (grub_font_construct_dry_run): Likewise.
22877 (grub_font_get_constructed_device_width): Likewise.
22878 (grub_font_construct_glyph): Likewise.
22879 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22880 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22881 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22882 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22883 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22884 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22885 (grub_font_get_xheight): New proto.
22886 (grub_font_get_constructed_device_width): Likewise.
22887 (grub_font_construct_glyph): Likewise.
22888 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22889 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22890 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22891 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22892 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22893 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22894 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22895 (grub_console_getcharwidth): Likewise.
22896 * include/grub/misc.h (grub_xputs): New proto.
22897 (grub_puts): Inlined.
22898 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22899 (grub_normal_get_line_counter): Removed.
22900 (grub_install_newline_hook): Likewise.
22901 (grub_normal_get_char_counter): New proto.
22902 (grub_normal_reset_more): Likewise.
22903 (grub_xputs_normal): Likewise.
22904 * include/grub/powerpc/ieee1275/console.h: Removed.
22905 * include/grub/sparc64/ieee1275/console.h: Likewise.
22906 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22907 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22908 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22909 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22910 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22911 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22912 (grub_term_input): Pass reference to self. All users updated.
22913 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22914 Pass reference to self. New fields normal_color, highlight_color and
22915 data. All users updated.
22916 (grub_putchar): Removed.
22917 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22918 (grub_unicode_estimate_width): New function.
22919 (grub_term_getcharwidth): Add defaults.
22920 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22921 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22922 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22923 (grub_cls): Remove EXPORT_FUNC.
22924 (grub_setcolorstate): Inline.
22925 (grub_newline_hook): Removed.
22926 * include/grub/terminfo.h: Rewritten. All users updated.
22927 * include/grub/unicode.h: New file.
22928 * include/grub/video.h (grub_video_signed_rect): New type.
22929 * kern/emu/console.c (grub_console_highlight_color): Removed.
22930 (grub_console_normal_color): Likewise.
22931 (grub_console_standard_color): Made static.
22932 (grub_ncurses_putchar): Remove mapping.
22933 (grub_ncurses_getcharwidth): Removed.
22934 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22935 (grub_ncurses_setcolor): Removed.
22936 (grub_ncurses_getcolor): Likewise.
22937 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22938 (grub_console_putchar): ... this.
22939 (grub_console_putchar): Handle argument difference.
22940 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22941 console_init_early and console_init_lately.
22942 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22943 * kern/misc.c (grub_puts): Removed.
22944 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22945 (grub_vsnprintf_real): Remove str = NULL support.
22946 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22947 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22948 * kern/term.c (grub_putcode): Renamed to ...
22949 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22950 (grub_putchar): Removed.
22951 (grub_xputs_dumb): New function.
22952 (grub_xputs): New variable.
22953 * lib/charset.c: Move from here ...
22954 * normal/charset.c: ... to here.
22955 (grub_ucs4_to_utf8): New function.
22956 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22957 (join_types): New variable.
22958 (unpack_join): New function.
22959 (bidi_types): New variable.
22960 (unpack_bidi): New function.
22961 (get_bidi_type): Likewise.
22962 (get_join_type): Likewise.
22963 (is_mirrored): Likewise.
22964 (grub_unicode_get_comb_type): Likewise.
22965 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22966 (is_type_after): Likewise.
22967 (grub_unicode_aglomerate_comb): Likewise.
22968 (bidi_line_wrap): Likewise.
22969 (grub_bidi_line_logical_to_visual): Likewise.
22970 (grub_bidi_logical_to_visual): Likewise.
22971 (grub_unicode_mirror_code): Likewise.
22972 (grub_unicode_shape_code): Likewise.
22973 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22974 Don't use grub_putchar.
22975 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22976 (grub_normal_reader_init): Likewise.
22977 (grub_xputs_saved): New variable.
22978 (GRUB_MOD_INIT): Set grub_xputs.
22979 (GRUB_MOD_FINI): Restore grub_xputs.
22980 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22981 (menu_init): Avoid printing gfxmenu error.
22982 (show_menu): Use grub_normal_get_char_counter.
22983 * normal/menu_entry.c (update_screen): Fix out-of-array.
22984 (complete): Avoid NULL dereferencing.
22985 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22986 * normal/menu_text.c (print_spaces): Removed.
22987 (grub_print_ucs4): Likewise.
22988 (grub_print_message_indented): Use grub_print_ucs4.
22989 (print_message): Use grub_putcode.
22990 (print_entry): Hanlde diacritics.
22991 * normal/term.c (term_state): New type.
22992 (grub_more_lines): Removed.
22993 (term_states): New variable.
22994 (grub_normal_line_counter): Renamed to ..
22995 (grub_normal_char_counter): ...this. All users updated.
22996 (grub_normal_get_line_counter): Renamed to ...
22997 (grub_normal_get_char_counter): ... this.
22998 (grub_normal_reset_more): New function.
22999 (process_newline): Removed.
23000 (print_more): New function.
23001 (grub_install_newline_hook): Removed.
23002 (map_code): New function.
23003 (grub_puts_terminal): Use grub_print_ucs4.
23004 (putglyph): New function.
23005 (putcode_real): Likewise.
23006 (grub_putcode): Use putcode_real.
23007 (get_maxwidth): New function.
23008 (get_startwidth): Likewise.
23009 (print_ucs4_terminal): Likewise.
23010 (find_term_state): Likewise.
23011 (put_glyphs_terminal): Likewise.
23012 (print_backlog): Likewise.
23013 (print_ucs4_real): Likewise.
23014 (grub_print_ucs4): Likewise.
23015 (grub_xputs_normal): Likewise.
23016 * term/efi/console.c (grub_console_putchar): Output diacritics.
23017 (grub_console_getcharwidth): Removed.
23018 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23019 * term/gfxterm.c (clear_char): Free chars.
23020 (scroll_up): Avoid leaking memory.
23021 (grub_gfxterm_putchar): Support diacritics.
23022 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23023 * term/i386/pc/console.c (grub_console_term_output): Declare as
23024 GRUB_TERM_CODE_TYPE_VGA.
23025 * term/i386/pc/vga.c (grub_vga_term): Declare as
23026 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23027 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23028 GRUB_TERM_CODE_TYPE_VGA.
23029 * term/i386/vga_common.c (map_char): Removed.
23030 (grub_console_putchar): Likewise.
23031 (grub_console_getcharwidth): Likewise.
23032 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23033 (colors): Reordered to match terminfo.
23034 (grub_ofconsole_normal_color): Removed.
23035 (grub_ofconsole_writeesc): Likewise.
23036 (grub_ofconsole_highlight_color): Likewise.
23037 (grub_ofconsole_getcharwidth): Likewise.
23038 (grub_ofconsole_setcolorstate): Likewise.
23039 (grub_ofconsole_setcolor): Likewise.
23040 (grub_ofconsole_getcolor): Likewise.
23041 (grub_ofconsole_readkey): Renamed to ...
23042 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23043 key.
23044 (grub_ofconsole_checkkey): Removed.
23045 (grub_ofconsole_getkey): Likewise.
23046 (grub_ofconsole_getxy): Likewise.
23047 (grub_ofconsole_gotoxy): Likewise.
23048 (grub_ofconsole_cls): Likewise.
23049 (grub_ofconsole_refresh): Likewise.
23050 (grub_ofconsole_terminfo_input): New struct.
23051 (grub_ofconsole_terminfo_output): Likewise.
23052 (grub_ofconsole_term_input): Use terminfo.
23053 (grub_ofconsole_term_output): Likewise.
23054 (grub_console_init): Split into ...
23055 (grub_console_init_early): ...this and ...
23056 (grub_console_init_lately): ...this. Use terminfo.
23057 (grub_ofconsole_putchar): Renamed to ...
23058 (put): ... this. Remove mapping.
23059 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23060 * term/serial.c: Simplify using terminfo.
23061 (xpos): Removed.
23062 (ypos): Likewise.
23063 (keep_track): Likewise.
23064 (registered): Likewise.
23065 (input_buf): Likewise.
23066 (npending): Likewise.
23067 (serial_translate_key_sequence): Likewise.
23068 (fill_input_buf): Likewise.
23069 (grub_serial_checkkey): Likewise.
23070 (grub_serial_getkey): Likewise.
23071 (grub_serial_getxy): Likewise.
23072 (grub_serial_gotoxy): Likewise.
23073 (grub_serial_putchar): Likewise.
23074 (grub_serial_cls): Likewise.
23075 (grub_serial_setcolorstate): Likewise.
23076 (grub_serial_setcursor): Likewise.
23077 (serial_hw_init): Use serial_hw_fetch.
23078 (grub_serial_terminfo_input): New variable.
23079 (grub_serial_terminfo_output): Likewise.
23080 (grub_serial_term_input): Use terminfo.
23081 (grub_serial_term_output): Likewise.
23082 * term/terminfo.c (putstr): Use put.
23083 (grub_terminfo_all_free): New function
23084 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23085 (grub_terminfo_output_register): New function.
23086 (grub_terminfo_output_unregister): Likewise.
23087 (grub_terminfo_getxy): Likewise.
23088 (grub_terminfo_readkey): Likewise.
23089 (grub_terminfo_checkkey): Likewise.
23090 (grub_terminfo_getkey): Likewise.
23091 (grub_terminfo_input_init): Likewise.
23092 (print_terminfo): Likewise.
23093 (grub_cmd_terminfo): Handle encoding.
23094 (grub_terminfo_gotoxy): Track position.
23095 (grub_terminfo_cls): Likewise.
23096 (grub_terminfo_putchar): Likewise.
23097 (grub_terminfo_setcolorstate): Handle colors
23098 (grub_terminfo_cursor_on): This ...
23099 (grub_terminfo_cursor_off): ... and this merged into ...
23100 (grub_terminfo_setcursor): ... this.
23101 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23102 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23103 * unicode/BidiMirroring.txt: Likewise.
23104 * unicode/UnicodeData.txt: Likewise.
23105 * unicode/COPYING: Likewise.
23106 * util/grub-editenv.c (grub_putchar): Removed.
23107 (grub_xputs_real): New function.
23108 (grub_xputs): New variable.
23109 * util/grub-fstest.c (grub_putchar): Removed.
23110 (grub_xputs_real): New function.
23111 (grub_xputs): New variable.
23112 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23113 (grub_xputs_real): New function.
23114 (grub_xputs): New variable.
23115 * util/grub-probe.c (grub_putchar): Removed.
23116 (grub_xputs_real): New function.
23117 (grub_xputs): New variable.
23118 * util/grub-script-check.c (grub_putchar): Removed.
23119 (grub_xputs_real): New function.
23120 (grub_xputs): New variable.
23121 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23122 (grub_xputs_real): New function.
23123 (grub_xputs): New variable.
23124 * util/import_unicode.py: New file.
23125 * util/grub-mkfont.c (ft_errmsgs): New array.
23126 (grub_glyph_info): Make bitmap a pointer.
23127 (file_formats): New type WIDTH_SPEC.
23128 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23129 (options): Add width-spec.
23130 (help): Likewise.
23131 (add_char): Renamed to ...
23132 (add_glyph): ... this.
23133 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23134 (glyph_replace): New type.
23135 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23136 (add_char): New function.
23137 (add_subst): Likewise.
23138 (process_cursive): Likewise.
23139 (add_font): Handle GSUB.
23140 (write_font_width_spec): New function.
23141 (main): Sort glyphs.
23142 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23143 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23144 * kern/term.c (grub_cls): Moved from here...
23145 * normal/term.c (grub_cls): ... here.
23146
50f0bcda
CW
231472010-07-02 Colin Watson <cjwatson@ubuntu.com>
23148
23149 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23150 suitable for using within the format argument of printf when
23151 converting grub_size_t.
23152 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23153 "x" to convert grub_size_t arguments.
23154
40372103
VS
231552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23156
23157 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23158 too long captions.
23159 (list_get_minimal_size): Take selection box into account.
23160
942a10c7
VS
231612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23164 NULL font.
23165
2bdb2892
CW
231662010-07-02 Colin Watson <cjwatson@ubuntu.com>
23167
23168 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23169 devices when iterating over /dev/disk/by-id; they will be handled
23170 later if appropriate, which they aren't always (e.g. LVM).
23171
e03ed6c1
CW
231722010-07-02 Colin Watson <cjwatson@ubuntu.com>
23173
23174 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23175 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23176 fails.
23177 (grub_halt): Likewise.
23178 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23179 reset-all fails.
23180 (grub_halt): Don't return, even if all of shut-down, power-off, and
23181 poweroff fail.
23182
47695765
CW
231832010-07-02 Colin Watson <cjwatson@ubuntu.com>
23184
23185 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23186 arguments, not three.
23187
507736c8
CW
231882010-07-02 Colin Watson <cjwatson@ubuntu.com>
23189
23190 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23191 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23192 LVM-on-RAID is handled correctly.
23193
e3c8cd37
CW
231942010-07-02 Colin Watson <cjwatson@ubuntu.com>
23195
23196 * docs/grub.texi (Changes from GRUB Legacy): New section.
23197 (Future): Fix typo.
23198
8d4a2fec
CW
231992010-07-02 Colin Watson <cjwatson@ubuntu.com>
23200
23201 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23202 grub.d/README accidentally ends up executable for one reason or
23203 another. Ignore it.
23204
1c4827be
VS
232052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23206
23207 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23208 (gpt_partition_map_iterate): Support non-512B sectors.
23209
d9a0c941
VS
232102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23211
23212 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23213 Tested by: Seth Goldberg.
23214
48f27e87
VS
232152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23218 Properly align mbi.
23219 Reported by: Seth Goldberg.
23220
b0c4f956
VS
232212010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 * util/grub-mkrescue.in: Avoid module duplication.
23224
105a2e8c
SF
232252010-07-01 Sean Finney <seanius@seanius.net>
23226
23227 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23228
5944958c
SF
232292010-07-01 Sean Finney <seanius@seanius.net>
23230
23231 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23232
232332010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 * disk/lvm.c (grub_lvm_checkvalue): New function.
23236 (grub_lvm_check_flag): Likewise.
23237
b79889ba
RM
232382010-07-01 Robert Millan <rmh@gnu.org>
23239
23240 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23241 Support 'p' as partition separator on kernel of FreeBSD (used
23242 with GPT labels).
23243 (grub_util_biosdisk_get_grub_dev): Likewise.
23244
ec1d04f1
VS
232452010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23246
23247 Yeeloong firmware port.
23248
23249 * boot/mips/yeeloong/fwstart.S: New file.
23250 * bus/cs5536.c (gpiodump): New const.
23251 (set_io_space): New function.
23252 (set_iod): Likewise.
23253 (set_p2d): Likewise.
23254 (grub_cs5536_init_geode): Likewise.
23255 * commands/mips/yeeloong/lsspd.c: New file.
23256 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23257 (serial_mod_SOURCES): New variable.
23258 (serial_mod_CFLAGS): Likewise.
23259 (serial_mod_LDFLAGS): Likewise.
23260 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23261 term/terminfo.c and term/tparm.c.
23262 (pkglib_IMAGES): Add fwstart.img.
23263 (fwstart_img_SOURCES): New variable.
23264 (fwstart_img_CFLAGS): Likewise.
23265 (fwstart_img_ASFLAGS): Likewise.
23266 (fwstart_img_LDFLAGS): Likewise.
23267 (fwstart_img_FORMAT): Likewise.
23268 (pkglib_MODULES): Add lsspd.mod.
23269 (lsspd_mod_SOURCES): New variable.
23270 (lsspd_mod_CFLAGS): Likewise.
23271 (lsspd_mod_LDFLAGS): Likewise.
23272 (pkglib_MODULES): Add halt.mod.
23273 (halt_mod_SOURCES): New variable.
23274 (halt_mod_CFLAGS): Likewise.
23275 (halt_mod_LDFLAGS): Likewise.
23276 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23277 (serial_mod_SOURCES): Removed.
23278 (serial_mod_CFLAGS): Likewise.
23279 (serial_mod_LDFLAGS): Likewise.
23280 * disk/ata.c (check_device): New function.
23281 (grub_ata_device_initialize): Use check_device.
23282 (grub_ata_iterate): Recheck devices.
23283 (grub_ata_open): Likewise.
23284 (grub_atapi_iterate): Likewise.
23285 (grub_atapi_open): Likewise.
23286 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23287 (GRUB_ATA_CH1_PORT1): Likewise.
23288 (GRUB_ATA_CH0_PORT2): Likewise.
23289 (GRUB_ATA_CH1_PORT2): Likewise.
23290 * include/grub/mips/loongson.h: New file.
23291 * include/grub/mips/yeeloong/ec.h: Likewise.
23292 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23293 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23294 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23295 * include/grub/misc.h (grub_halt): Declare as noreturn.
23296 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23297 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23298 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23299 (UART_ENABLE_DTRRTS): Likewise.
23300 (UART_ENABLE_MODEM): Removed.
23301 (UART_ENABLE_OUT2): New const.
23302 * include/grub/term.h (grub_term_register_input_active): New function.
23303 (grub_term_register_output_active): Likewise.
23304 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23305 argument.
23306 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23307 (init_pci): New function.
23308 (grub_machine_init): Execute platform init when firmware. Init serial.
23309 (grub_halt): Implement.
23310 (grub_exit): Likewise.
23311 (grub_reboot): Likewise.
23312 * term/serial.c (serial_hw_init): Update macros.
23313 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23314 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23315 (image_targets): New target mipsel-yeeloong-flash.
23316 (generate_image): Support IMAGE_YEELOONG_FLASH.
23317 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23318 (grub_video_sm712_setup): Init card.
23319 (grub_video_sm712_set_palette): Removed.
23320 * video/sm712_init.c: New file.
23321
ff4a70d2
CW
233222010-06-30 Colin Watson <cjwatson@ubuntu.com>
23323
23324 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23325 PATH when running help2man and then run it on the unadorned
23326 executable names, rather than passing $(builddir)/* paths to
23327 help2man. This avoids the build directory ending up in generated
23328 manual pages.
23329
1246efeb
CW
233302010-06-29 Colin Watson <cjwatson@ubuntu.com>
23331
23332 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23333 to avoid accidents when debugging with 'sh -x'.
23334 * util/grub-mkrescue.in: Likewise.
23335 * util/grub.d/00_header.in: Likewise.
23336 * util/grub.d/10_hurd.in: Likewise.
23337 * util/grub.d/10_kfreebsd.in: Likewise.
23338 * util/grub.d/10_linux.in: Likewise.
23339 * util/grub.d/10_netbsd.in: Likewise.
23340 * util/grub.d/10_windows.in: Likewise.
23341 * util/grub.d/20_linux_xen.in: Likewise.
23342 * util/grub.d/30_os-prober.in: Likewise.
23343 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23344
1ba9b889
CW
233452010-06-29 Colin Watson <cjwatson@ubuntu.com>
23346
23347 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23348 last character in the buffer.
23349 Reported by: Vladimir Serbinenko.
23350
dccaf99d
RM
233512010-06-29 Robert Millan <rmh@gnu.org>
23352
23353 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23354 (Command-line and menu entry commands): Document `badram' command.
23355
d500ed12
RM
233562010-06-28 Robert Millan <rmh@gnu.org>
23357
23358 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23359 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23360 command using ${GRUB_BADRAM} as parameter.
23361
20bc84a6
CW
233622010-06-28 Colin Watson <cjwatson@ubuntu.com>
23363
23364 * docs/grub.texi (Device map): New section.
23365 (Themes): New section (stub).
23366 * Makefile.in (docs/grub.info): The info documentation now builds
23367 without errors. Make sure it stays that way.
23368
4045dee1
VS
233692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23370
23371 Use normal parser for menu entries.
23372 Reported by: Thomas Frauendorfer
23373
23374 * include/grub/parser.h (grub_parser_execute): Don't export.
23375 * normal/menu.c (grub_menu_execute_entry_real): New function.
23376 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23377
bca58c7b
CW
233782010-06-28 Colin Watson <cjwatson@ubuntu.com>
23379
23380 * docs/grub.texi (Embedded configuration): New section (replacing
23381 old "Preset Menu" stub).
23382 (Images): New section.
23383 (configfile): Note that any menu entries defined in `file' are shown
23384 immediately.
23385
dec53e63
JT
233862010-06-28 Josh Triplett <josh@joshtriplett.org>
23387
23388 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23389
c06e40f7
CW
233902010-06-28 Colin Watson <cjwatson@ubuntu.com>
23391
23392 * util/grub-install.in: Add --debug-image= option.
23393
cb88052b
CW
233942010-06-28 Colin Watson <cjwatson@ubuntu.com>
23395
23396 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23397 possible on Linux.
23398
23399 * util/deviceiter.c (check_device): Rename to ...
23400 (check_device_readable_unique): ... this. Update all callers.
23401 Maintain and check a list of which devices (by canonicalized name)
23402 have already been seen.
23403 (clear_seen_devices): New function.
23404 (compare_file_names) [__linux__]: New function.
23405 (grub_util_iterate_devices): Clear the list of seen devices on exit
23406 and (just in case) on entry.
23407 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23408 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23409 seen-devices list, superseded by general code in check_device.
23410
bbe34652
CW
234112010-06-28 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * commands/cat.c (options): New variable.
23414 (grub_cmd_cat): Parse options. If the --dos option is given, print
23415 DOS-style "\r\n" line endings as simple newlines (Debian bug
23416 #586358).
23417 (GRUB_MOD_INIT): Use extcmd.
23418 (GRUB_MOD_FINI): Likewise.
23419 * docs/grub.texi (cat): Document --dos.
23420
412e09f3
VS
234212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23422
23423 XEN with Linux grub-mkconfig support.
23424
23425 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23426 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23427 GRUB_CMDLINE_XEN_DEFAULT.
23428 * util/grub.d/20_linux_xen.in: New file.
23429
53f3ef38 234302010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23431
23432 Initialise VGA video on qemu ourselves.
23433
23434 * boot/i386/qemu/boot.S: Don't call 0xc000.
23435 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23436 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23437 (kernel_img_HEADERS): Add pci.h.
23438 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23439 * configure.ac: Force unifont on qemu and yeeloong.
23440 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23441 (grub_vga_palette_write): Use correct register.
23442 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23443 Call grub_qemu_init_cirrus.
23444 * kern/i386/qemu/init.c: New file.
23445 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23446
23447 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23448
c75be4fb
PR
234492010-06-26 Pavel Roskin <proski@gnu.org>
23450
23451 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23452 13.
23453
d8034603
CW
234542010-06-26 Colin Watson <cjwatson@ubuntu.com>
23455
23456 * docs/grub.texi (Simple configuration): Explain that
23457 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23458 set to `true' to disable their respective recovery entries, not
23459 merely set.
23460
3fa06487
CW
234612010-06-26 Colin Watson <cjwatson@ubuntu.com>
23462
23463 Make the `source' command slightly faster.
23464
23465 * normal/main.c (grub_normal_execute): Don't re-read list files when
23466 nested.
23467
e9b29642
CW
234682010-06-23 Colin Watson <cjwatson@ubuntu.com>
23469
23470 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23471 field position and mask size to red fields from mode_info, not
23472 green.
23473 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23474 Remove redundant tag->common.framebuffer_type assignment.
23475 Reported by: Seth Goldberg.
23476
e726542f
CW
234772010-06-23 Colin Watson <cjwatson@ubuntu.com>
23478
23479 Sync up other versions of the Linux loader with Robert Millan's
23480 change of 2010-01-09, "Make loader output a bit more user-friendly".
23481
23482 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23483 grub_dprintf().
23484 (grub_cmd_linux): Likewise.
23485 (grub_cmd_initrd): Likewise.
23486 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23487 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23488
d6e98a17
CW
234892010-06-21 Colin Watson <cjwatson@ubuntu.com>
23490
23491 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23492 larger than MEMORY_MAP_SIZE.
23493
14d3f08e
BC
234942010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23495
23496 Fix parallel build.
23497
23498 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23499 dependency.
23500 * script/parser.y: #include grub_script.tab.h header.
23501
4f9613a3
VS
235022010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23503
23504 Support >3GiB and <16MiB RAM in i386-qemu.
23505
23506 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23507 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23508 (grub_lower_mem): Removed.
23509 (grub_upper_mem): Likewise.
23510 (mem_size): Made static.
23511 (above_4g): New variable.
23512 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23513 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23514 support.
23515
05e51879
VS
235162010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 Cirrus 5446 and Bochs video cards support.
23519
23520 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23521 video_bochs.mod
23522 (video_cirrus_mod_SOURCES): New variable.
23523 (video_cirrus_mod_CFLAGS): Likewise.
23524 (video_cirrus_mod_LDFLAGS): Likewise.
23525 (video_bochs_mod_SOURCES): Likewise.
23526 (video_bochs_mod_CFLAGS): Likewise.
23527 (video_bochs_mod_LDFLAGS): Likewise.
23528 * include/grub/vga.h: New file.
23529 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23530 (grub_video_fb_set_page_t): New type.
23531 (grub_video_fb_setup): New prototype.
23532 (grub_video_fb_swap_buffers): Likewise.
23533 (grub_video_fb_get_info_and_fini): Likewise.
23534 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23535 (CRTC_DATA_PORT): Likewise.
23536 (CRTC_CURSOR): Likewise.
23537 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23538 (CRTC_CURSOR_ADDR_LOW): Likewise.
23539 (CRTC_CURSOR_DISABLE): Likewise.
23540 (update_cursor): Use grub_vga_cr_write.
23541 (grub_vga_text_setcursor): Likewise.
23542 * video/bochs.c: New file.
23543 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23544 (palette): Likewise.
23545 (palette_size): Likewise.
23546 (framebuffer): New variable.
23547 (grub_video_fb_init): Use 'framebuffer'.
23548 (grub_video_fb_fini): Likewise.
23549 (grub_video_fb_get_info): Likewise.
23550 (grub_video_fb_get_palette): Likewise.
23551 (grub_video_fb_set_palette): Likewise.
23552 (grub_video_fb_set_viewport): Likewise.
23553 (grub_video_fb_get_viewport): Likewise.
23554 (grub_video_fb_map_color): Likewise.
23555 (grub_video_fb_map_rgb): Likewise.
23556 (grub_video_fb_map_rgba): Likewise.
23557 (grub_video_fb_unmap_color): Likewise.
23558 (grub_video_fb_unmap_color_int): Likewise.
23559 (grub_video_fb_fill_rect): Likewise.
23560 (grub_video_fb_blit_bitmap): Likewise.
23561 (grub_video_fb_blit_render_target): Likewise.
23562 (grub_video_fb_scroll): Likewise.
23563 (grub_video_fb_create_render_target): Likewise.
23564 (grub_video_fb_doublebuf_blit_init): Likewise.
23565 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23566 (doublebuf_pageflipping_update_screen): New function.
23567 (doublebuf_pageflipping_init): Likewise.
23568 (grub_video_fb_setup): Likewise.
23569 (grub_video_fb_swap_buffers): Likewise.
23570 (grub_video_fb_get_info_and_fini): Likewise.
23571 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23572 All users updated.
23573 (doublebuf_pageflipping_commit): Restructured into ...
23574 (doublebuf_pageflipping_set_page): ... this.
23575 (doublebuf_pageflipping_update_screen): Removed.
23576 (doublebuf_pageflipping_init): Likewise.
23577 (double_buffering_init): Likewise.
23578 (grub_video_vbe_setup): Use grub_video_fb_setup.
23579 (grub_video_vbe_swap_buffers): Removed.
23580 (grub_video_vbe_set_active_render_target): Likewise.
23581 (grub_video_vbe_get_active_render_target): Likewise.
23582 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23583 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23584 grub_video_fb_set_active_render_target and
23585 grub_video_fb_get_active_render_target.
23586 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23587 (SEQUENCER_DATA_PORT): Likewise.
23588 (MAP_MASK_REGISTER): Likewise.
23589 (CRTC_ADDR_PORT): Likewise.
23590 (CRTC_DATA_PORT): Likewise.
23591 (START_ADDR_HIGH_REGISTER): Likewise.
23592 (START_ADDR_LOW_REGISTER): Likewise.
23593 (GRAPHICS_ADDR_PORT): Likewise.
23594 (GRAPHICS_DATA_PORT): Likewise.
23595 (READ_MAP_REGISTER): Likewise.
23596 (INPUT_STATUS1_REGISTER): Likewise.
23597 (INPUT_STATUS1_VERTR_BIT): Likewise.
23598 (get_map_mask): Use grub_vga_sr_read.
23599 (set_map_mask): Use grub_vga_sr_write.
23600 (set_read_map): Use grub_vga_gr_write.
23601 (set_start_address): Use grub_vga_cr_write.
23602 * video/sm712.c (framebuffer): Remove leftover fields.
23603
4321c64a
CW
236042010-06-20 Colin Watson <cjwatson@ubuntu.com>
23605
23606 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23607 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23608 instead. Replace the gfxterm backend check with a check that
23609 ${GRUB_PREFIX}/video.lst is non-empty.
23610 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23611 again.
23612 (load_video): New generated function. Call it before loading
23613 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23614 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23615 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23616 * docs/grub.texi (Simple configuration): Document
23617 GRUB_VIDEO_BACKEND.
23618
236192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 Use video functions in linux and xnu loaders.
23622
23623 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23624 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23625 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23626 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23627 loader/i386/pc/linux.c.
23628 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23629 (find_line_len): Removed.
23630 (find_framebuf): Likewise.
23631 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23632 * loader/i386/efi/xnu.c: Removed.
23633 * loader/i386/pc/xnu.c: Moved from here...
23634 * loader/i386/xnu.c: ...here.
23635
23636 Enable priorities in video drivers.
23637
23638 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23639 (grub_video_adapter): New field prio.
23640 (grub_video_register): Respect prio when inserting.
23641 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23642 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23643 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23644 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23645 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23646 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23647 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23648
23649 Fix SDL driver ID.
23650
23651 * include/grub/video.h (grub_video_driver_id_t): New value
23652 GRUB_VIDEO_DRIVER_SDL.
23653 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23654
7d24e434
CW
236552010-06-17 Colin Watson <cjwatson@ubuntu.com>
23656
23657 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23658 argument to printf.
23659 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23660
c88a83f6
CW
236612010-06-17 Colin Watson <cjwatson@ubuntu.com>
23662
23663 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23664 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23665
094dfb69
CW
236662010-06-17 Colin Watson <cjwatson@ubuntu.com>
23667
23668 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23669 directly, and recommend grub-install instead.
23670 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23671
2164da6b
CW
236722010-06-17 Colin Watson <cjwatson@ubuntu.com>
23673
23674 Fix i386-pc prefix handling with nested partitions (Debian bug
23675 #585068). Note that the case where the core image is booted using
23676 multiboot and relocated from its original location still requires
23677 more work.
23678
23679 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23680 with "(,", fill the boot drive in between those two characters, but
23681 expect that a full partition specification including partition map
23682 names will follow.
23683 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23684 specified, write a prefix without the drive name but including a
23685 full partition specification.
23686
044e2e60
CW
236872010-06-16 Colin Watson <cjwatson@ubuntu.com>
23688
23689 * util/grub-mkconfig.in: Ignore non-option arguments, for
23690 compatibility with older versions (before 2010-06-12) which did the
23691 same. In particular, this makes it easier to ship an update-grub
23692 wrapper which is compatible with that used with GRUB Legacy (Debian
23693 bug #586056).
23694
5591324f
GS
236952010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23696
23697 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23698 for manual page generation.
23699
662e24d5
GS
237002010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23701
23702 * po/POTFILES: Remove leftover commands/handler.c.
23703
8d70754e
CW
237042010-06-14 Colin Watson <cjwatson@ubuntu.com>
23705
23706 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23707 left this script non-functional.
23708
41160e2e
CW
237092010-06-14 Colin Watson <cjwatson@ubuntu.com>
23710
23711 * docs/man/grub-emu.h2m: New file.
23712
b5309cc1
CW
237132010-06-13 Colin Watson <cjwatson@ubuntu.com>
23714
23715 * docs/grub.texi (Commands): Document reduced command set in rescue
23716 mode.
23717 (cpuid): New section.
23718
fcb2d090
GS
237192010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23720
23721 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23722 new partition naming style.
23723 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23724
96e5c556
BC
237252010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23726
23727 Add "-o grub.iso" like cmdline options support.
23728
23729 * util/grub-install.in: Improve cmdline option parsing.
23730 * util/grub-mkconfig.in: Likewise.
23731 * util/grub-mkrescue.in: Likewise.
23732 * util/grub-reboot.in: Likewise.
23733 * util/grub-set-default.in: Likewise.
23734 * util/i386/efi/grub-install.in: Likewise.
23735 * util/ieee1275/grub-install.in: Likewise.
23736 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23737
c16be99b
CW
237382010-06-12 Colin Watson <cjwatson@ubuntu.com>
23739
23740 * .bzrignore: Ignore 41_custom.
23741
ce08a9fb
TS
237422010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23743
23744 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23745
7beac90c
CW
237462010-06-12 Colin Watson <cjwatson@ubuntu.com>
23747
23748 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23749 prototype declarations.
23750
23751 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23752 generating fs, partmap, and video lists.
23753 * include/grub/fs.h (grub_fs_register): Omit prototype if
23754 GRUB_LST_GENERATOR is defined.
23755 * include/grub/partition.h (grub_partition_map_register): Likewise.
23756 * include/grub/video.h (grub_video_register): Likewise.
23757
1c8f0f8d
JM
237582010-06-12 Javier Martín <lordhabbit@gmail.com>
23759
23760 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23761
a6085973
TS
237622010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23763
23764 * util/grub-mkrescue.in: Support --xorriso argument.
23765
25c56d29
VS
237662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23769 Suggested by: Thomas Schmitt.
23770
e03e4b24
VS
237712010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23774 Suggested by: Thomas Schmitt.
23775
57711df6
VS
237762010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 custom.cfg support.
23779
23780 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23781 * util/grub.d/41_custom.in: New file.
23782
ee62c427
CW
237832010-06-12 Colin Watson <cjwatson@ubuntu.com>
23784
23785 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23786 been merged back into normal.
23787
283af07a
CW
237882010-06-11 Colin Watson <cjwatson@ubuntu.com>
23789
23790 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23791 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23792
56a0d956
CW
237932010-06-11 Colin Watson <cjwatson@ubuntu.com>
23794
23795 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23796 when generating manual pages.
23797 * docs/man/grub-bin2h.h2m: New file.
23798 * docs/man/grub-editenv.h2m: New file.
23799 * docs/man/grub-fstest.h2m: New file.
23800 * docs/man/grub-install.h2m: New file.
23801 * docs/man/grub-macho2img.h2m: New file.
23802 * docs/man/grub-mkconfig.h2m: New file.
23803 * docs/man/grub-mkdevicemap.h2m: New file.
23804 * docs/man/grub-mkfont.h2m: New file.
23805 * docs/man/grub-mkimage.h2m: New file.
23806 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23807 * docs/man/grub-mkrelpath.h2m: New file.
23808 * docs/man/grub-mkrescue.h2m: New file.
23809 * docs/man/grub-ofpathname.h2m: New file.
23810 * docs/man/grub-pe2elf.h2m: New file.
23811 * docs/man/grub-probe.h2m: New file.
23812 * docs/man/grub-reboot.h2m: New file.
23813 * docs/man/grub-script-check.h2m: New file.
23814 * docs/man/grub-set-default.h2m: New file.
23815 * docs/man/grub-setup.h2m: New file.
23816
3a37e322
VS
238172010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 Use FOR_* macros instead of *_iterate whenever possible.
23820
23821 * commands/handler.c: Removed.
23822 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23823 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23824 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23825 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23826 (grub_probe_SOURCES): Remove kern/parser.c.
23827 (util/grub-script-check.c_DEPENDENCIES): Removed.
23828 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23829 and grub_script_check_init.c.
23830 (grub_script_check_init.lst): Removed.
23831 (grub_script_check_init.h): Likewise.
23832 (grub_script_check_init.c): Likewise.
23833 (pkglib_MODULES): Remove handler.mod and sh.mod.
23834 (handler_mod_SOURCES): Removed.
23835 (handler_mod_CFLAGS): Likewise.
23836 (handler_mod_LDFLAGS): Likewise.
23837 (normal_mod_SOURCES): Remove normal/handler.c.
23838 Add script/main.c, script/script.c, script/execute.c,
23839 script/function.c, script/lexer.c, grub_script.tab.c
23840 and grub_script.yy.c.
23841 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23842 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23843 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23844 (grub_setup_SOURCES): Remove kern/parser.c.
23845 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23846 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23847 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23848 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23849 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23850 (grub_setup_SOURCES): Remove kern/parser.c.
23851 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23852 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23853 * include/grub/command.h (grub_command_iterate): Removed.
23854 (FOR_COMMANDS): New macro.
23855 * include/grub/dl.h (grub_dl): New member next.
23856 (grub_dl_iterate): Removed.
23857 (grub_dl_head): New variable declaration.
23858 (FOR_DL_MODULES): New macro.
23859 * include/grub/fs.h: Include list.h.
23860 (grub_fs): Make next first element.
23861 (grub_fs_list): New variable declaration.
23862 (grub_fs_register): Make inline.
23863 (grub_fs_unregister): Likewise.
23864 (grub_fs_iterate): Removed.
23865 (FOR_FILESYSTEMS): New macro.
23866 * include/grub/handler.h: Removed.
23867 * include/grub/list.h (grub_list_hook_t): Removed.
23868 (grub_list_test_t): Likewise.
23869 (grub_list_pop): Likewise.
23870 (grub_list_iterate): Likewise.
23871 (grub_list_insert): Likewise.
23872 (FOR_LIST_ELEMENTS): New macro.
23873 * include/grub/parser.h (grub_parser_class): Removed.
23874 (grub_parser_register): Likewise.
23875 (grub_parser_unregister): Likewise.
23876 (grub_parser_get_current): Likewise.
23877 (grub_parser_set_current): Likewise.
23878 (grub_register_rescue_parser): Likewise.
23879 (grub_rescue_parse_line): New function.
23880 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23881 * include/grub/script_sh.h (grub_script_function_list): New variable
23882 declaration.
23883 (FOR_SCRIPT_FUNCTIONS): New macro.
23884 (grub_script_function_iterate): Removed.
23885 (grub_normal_parse_line): New prototype.
23886 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23887 (FOR_DISABLED_TERM_INPUTS): Likewise.
23888 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23889 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23890 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23891 element.
23892 (grub_video_register): Inline.
23893 (grub_video_unregister): Likewise.
23894 (grub_video_adapter_list): New variable declaration.
23895 (grub_video_iterate): Removed.
23896 (FOR_VIDEO_ADAPTERS): New macro.
23897 * kern/dl.c (grub_dl_list): Removed. All users updated.
23898 (grub_dl_iterate): Removed.
23899 * kern/fs.c (grub_fs_list): Make global.
23900 (grub_fs_register): Removed.
23901 (grub_fs_unregister): Likewise.
23902 (grub_fs_iterate): Likewise.
23903 * kern/handler.c: Removed.
23904 * kern/list.c (grub_list_pop): Removed.
23905 (grub_list_iterate): Likewise.
23906 (grub_list_insert): Likewise.
23907 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23908 (grub_prio_list_insert): Don't use grub_list_insert.
23909 * kern/main.c (grub_register_rescue_parser): Don't call
23910 grub_register_rescue_parser.
23911 * kern/parser.c (grub_parser_class): Removed.
23912 (grub_parser_execute): Use grub_rescue_parse_line.
23913 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23914 (grub_rescue_parser): Removed.
23915 (grub_register_rescue_parser): Likewise.
23916 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23917 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23918 (grub_auth_check_authentication): Likewise.
23919 * normal/completion.c (iterate_command): Removed.
23920 (grub_normal_do_completion): Use FOR_COMMANDS.
23921 * normal/handler.c: Removed.
23922 * normal/main.c (read_config_file): Remove parser changing.
23923 (grub_normal_execute): Don't call read_handler_list.
23924 (grub_normal_read_line_real): Statically allocate prompt.
23925 (grub_cmdline_run): Use grub_normal_parse_line.
23926 (GRUB_MOD_FINI): Don't call free_handler_list.
23927 * normal/menu_entry.c (run): Likewise.
23928 * script/function.c (grub_script_function_list): Make global.
23929 (grub_script_function_iterate): Removed.
23930 * script/main.c (grub_normal_parse_line): Make global.
23931 (grub_sh_parser): Removed.
23932 (GRUB_MOD_INIT): Likewise.
23933 (GRUB_MOD_FINI): Likewise.
23934 * tests/lib/functional_test.c (grub_functional_test): Use
23935 FOR_LIST_ELEMENTS.
23936 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23937 (grub_test_run): Use FOR_LIST_ELEMENTS.
23938 * tests/lib/unit_test.c (main): Likewise.
23939 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23940 grub_list_pop.
23941 * util/grub-fstest.c (grub_term_input_class): Removed.
23942 (grub_term_output_class): Likewise.
23943 * util/grub-probe.c: Likewise.
23944 * util/i386/pc/grub-setup.c: Likewise.
23945 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23946 * util/grub-script-check.c (main): Don't call grub_init_all and
23947 grub_fini_all.
23948 * video/video.c (grub_video_adapter_list): Make global.
23949 (grub_video_register): Removed.
23950 (grub_video_unregister): Likewise.
23951 (grub_video_iterate): Likewise.
23952
6289c3a7
VS
239532010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23954
23955 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23956 reported by Henrique Ferreiro.
23957
91460247
RM
239582010-06-09 Robert Millan <rmh@gnu.org>
23959
23960 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23961 ones, when both are available.
23962
0ea7c4f9
GS
239632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23964
23965 Make --version uniform and avoid hard-coded program name.
23966
23967 * util/grub-mkimage.c (main): Use `program_name' instead of
23968 hard-coded string.
23969 * util/i386/pc/grub-setup.c (main): Likewise.
23970 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23971 * util/grub-install.in: Save the basename of $0 in $self, and use the
23972 latter in informational messages. Use the same format for --version
23973 as the binary programs.
23974 * util/grub-mkconfig.in: Likewise.
23975 * util/grub-mkrescue.in: Likewise.
23976 * util/grub-reboot.in: Likewise.
23977 * util/grub-set-default.in: Likewise.
23978 * util/i386/efi/grub-install.in: Likewise.
23979 * util/ieee1275/grub-install.in: Likewise.
23980 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23981
e8a6f3b6
GS
239822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23983
23984 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23985 embedding area. Use <= instead of == when checking for non-emptiness.
23986
f4d095d7
GS
239872010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23988
23989 * configure.ac: Add `.' to the directories searched for unifont.
23990
50e532ca
CW
239912010-06-08 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23994 grub_script.yy.h.
23995
d39f3dec
CW
239962010-06-08 Colin Watson <cjwatson@ubuntu.com>
23997
23998 * docs/grub.texi (History): Expand to cover GRUB 2.
23999 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24000 commands, not `terminal'.
24001 (serial): Likewise.
24002 (terminal_input): New section.
24003 (terminal_output): New section.
24004 (uppermem): New section (stub).
24005 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24006
6ef0ddb4
CW
240072010-06-08 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * docs/grub.texi (Security): Menu entries are unrestricted by
24010 default, not restricted to superusers as I had previously thought.
24011 Reword to account for this.
24012
e0f4c438
CW
240132010-06-07 Colin Watson <cjwatson@ubuntu.com>
24014
24015 * kern/emu/misc.c (device_mapper_null_log): New function.
24016 (grub_device_mapper_supported): New function.
24017 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24018 prototype.
24019 * kern/emu/hostdisk.c (find_partition_start): Check whether
24020 device-mapper is supported before trying to use it.
24021 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24022
da908200
CW
240232010-06-07 Colin Watson <cjwatson@ubuntu.com>
24024
24025 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24026 (File name syntax): Likewise.
24027 (help): --all is no longer supported in GRUB 2. Be more precise
24028 about pattern matching.
24029
fb55c3ac
CW
240302010-06-07 Colin Watson <cjwatson@ubuntu.com>
24031
24032 * normal/completion.c (grub_normal_do_completion): When completing
24033 arguments to "set" and the current word contains an equals sign,
24034 skip to after the equals sign before starting completion.
24035
258c2573
CW
240362010-06-07 Colin Watson <cjwatson@ubuntu.com>
24037
24038 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24039
ee75515e
CW
240402010-06-07 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * docs/grub.texi (Network): New section.
24043 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24044 `(nd)' as in GRUB Legacy.
24045 (pxe_unload): New section.
24046
a6a700aa
CW
240472010-06-07 Colin Watson <cjwatson@ubuntu.com>
24048
24049 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24050 in the rescue shell, so recommend using `set' instead. Thanks,
24051 Jordan Uggla.
24052
4003dd38
CW
240532010-06-07 Colin Watson <cjwatson@ubuntu.com>
24054
24055 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24056 (password): New section.
24057 (password_pbkdf2): New section.
24058 (search): New section.
24059 (Security): New section.
24060 (Troubleshooting): New section, currently very incomplete.
24061 (Invoking grub-mkpasswd-pbkdf2): New section.
24062 (Internals): New section, currently very incomplete.
24063
e1cbcc40
CW
240642010-06-07 Colin Watson <cjwatson@ubuntu.com>
24065
24066 * util/grub.d/00_header.in: Add some more quoting (of
24067 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24068 work again.
24069 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24070
db8fa1ad
CW
240712010-06-07 Colin Watson <cjwatson@ubuntu.com>
24072
24073 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24074 to `count', fixing variable shadowing that broke the -c option.
24075
240762010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24077
24078 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24079 in case they contain spaces.
24080
f28a9212
CW
240812010-06-04 Colin Watson <cjwatson@ubuntu.com>
24082
24083 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24084 "part_" to partmap module names, in line with grub-install.
24085 Reported by: Jindřich Makovička (Debian bug #584426).
24086
9cdfe32f
CW
240872010-06-04 Colin Watson <cjwatson@ubuntu.com>
24088
24089 * util/grub-mkimage.c: Make target-related error messages slightly
24090 more helpful; -O talks about "format". Explicitly point to the use
24091 of -O if no target is specified.
24092 Reported by: Didier Raboud (Debian bug #584415).
24093
795b593a
CW
240942010-06-03 Colin Watson <cjwatson@ubuntu.com>
24095
24096 * INSTALL: Document several build requirements for optional features
24097 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24098
9d9b5833
GS
240992010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24100
24101 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24102 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24103 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24104
0819fec8
CW
241052010-06-02 Colin Watson <cjwatson@ubuntu.com>
24106
24107 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24108 Thanks to Jordan Uggla for spotting this.
24109
49396b4f
VS
241102010-06-02 Aleš Nesrsta <starous@volny.cz>
24111
24112 Finally make USB usable.
24113
24114 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24115 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24116 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24117 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24118 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24119 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24120 (GRUB_OHCI_FSMPS): Likewise.
24121 (GRUB_OHCI_PERIODIC_START): Likewise.
24122 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24123 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24124 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24125 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24126 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24127 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24128 (grub_ohci_transaction): Likewise.
24129 (grub_ohci_transfer): Improve condition detection algorithms.
24130 Handle toggle property. Program the transactions correctly.
24131 Improve error handling. Various important fixups.
24132 (grub_ohci_portstatus): Put register writes in right order.
24133 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24134 (grub_uhci_transfer): Don't show "failed" message on success.
24135 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24136 array.
24137 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24138 determine its size.
24139 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24140 before initialization is completed. Use IN direction for empty
24141 transfers. Use last_trans and compute toggle.
24142 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24143 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24144 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24145 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24146 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24147 (grub_usb_device): Increase toggle to 256.
24148 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24149 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24150 GRUB_USBMS_SUBCLASS_SFF8070.
24151 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24152 (grub_scsi_inquiry): New member page and alloc_length.
24153 (grub_scsi_request_sense): New structure.
24154 (grub_scsi_request_sense_data): Likewise.
24155 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24156 control.
24157 * disk/scsi.c (grub_scsi_request_sense): New function.
24158 (grub_scsi_test_unit_ready): Likewise.
24159 (grub_scsi_inquiry): Fill new fields.
24160 (grub_scsi_read_capacity): Likewise.
24161 (grub_scsi_read10): Add request sense at the end.
24162 (grub_scsi_read12): Likewise.
24163 (grub_scsi_write10): Likewise.
24164 (grub_scsi_write12): Likewise.
24165 (grub_scsi_open): Add Test Unit Ready.
24166 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24167 Support additional subclasses. Con't clear halt yet. Activate the
24168 proper config. Calculate LUNs correctly.
24169 (grub_usbms_transfer): Various important fixups.
24170
241712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24174 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24175 (grub_ohci_fini_hw): New function.
24176 (grub_ohci_restore_hw): Likewise.
24177 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24178 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24179 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24180
241812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 Dedicated DMA allocations.
24184
24185 * bus/pci.c (grub_memalign_dma32): New function
24186 (grub_dma_free): Likewise.
24187 (grub_dma_get_virt): Likewise.
24188 (grub_dma_get_phys): Likewise.
24189 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24190 (grub_ohci_pci_iter): Use dma32_alloc.
24191 (grub_ohci_transfer): Likewise.
24192 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24193 (grub_usb_bulk_readwrite): Likewise.
24194 * include/grub/pci.h: Add declarations.
24195
241962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24197
24198 CS5536 support.
24199
24200 * bus/cs5536.c: New file.
24201 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24202 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24203 (cs5536_mod_SOURCES): New variable.
24204 (cs5536_mod_CFLAGS): Likewise.
24205 (cs5536_mod_LDFLAGS): Likewise.
24206 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24207 machine/pci.h.
24208 (kernel_img_SOURCES): Add bus/cs5536.c.
24209 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24210 usb_keyboard.mod.
24211 (usb_mod_SOURCES): New variable.
24212 (usb_mod_CFLAGS): New variable.
24213 (usb_mod_LDFLAGS): New variable.
24214 (usbtest_mod_SOURCES): New variable.
24215 (usbtest_mod_CFLAGS): New variable.
24216 (usbtest_mod_LDFLAGS): New variable.
24217 (ohci_mod_SOURCES): New variable.
24218 (ohci_mod_CFLAGS): New variable.
24219 (ohci_mod_LDFLAGS): New variable.
24220 (usbms_mod_SOURCES): New variable.
24221 (usbms_mod_CFLAGS): New variable.
24222 (usbms_mod_LDFLAGS): New variable.
24223 (usb_keyboard_mod_SOURCES): New variable.
24224 (usb_keyboard_mod_CFLAGS): New variable.
24225 (usb_keyboard_mod_LDFLAGS): New variable.
24226 * include/grub/smbus.h: New file.
24227 * include/grub/cs5536.h: New file.
24228
0b35b2a9
CW
242292010-06-02 Colin Watson <cjwatson@ubuntu.com>
24230
24231 * util/grub.d/00_header.in: Add safety check to make sure that
24232 ${locale_dir} exists before trying to probe it.
24233
ca0afd5b
CW
242342010-06-02 Colin Watson <cjwatson@ubuntu.com>
24235
24236 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24237 per the GNU Coding Standards; this is now too obscure to be worth
24238 documenting.
24239 (QNX): Likewise.
24240 (chainloader): Remove cross-reference to `SCO UnixWare'.
24241
1c41aa78
CW
242422010-06-02 Colin Watson <cjwatson@ubuntu.com>
24243
24244 * docs/grub.texi (Chain-loading): New section.
24245 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24246 adjusted for GRUB 2.
24247 (SCO UnixWare): Likewise.
24248 (QNX): Likewise.
24249 (chainloader): Add reference to `Block list syntax'.
24250 (drivemap): New section.
24251 (parttool): New section.
24252
bb8ea0f5
CW
242532010-06-02 Colin Watson <cjwatson@ubuntu.com>
24254
24255 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24256 the grub shell'.
24257 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24258 (Installing GRUB using grub-install): Remove reference to the grub
24259 shell; mention `grub-mkimage' and `grub-setup' instead.
24260 (Invoking grub-install): Likewise.
24261 (Interface): Add reference to `Menu entry editor'.
24262 (serial): Remove `--device' option.
24263
288dd6ed
CW
242642010-06-02 Colin Watson <cjwatson@ubuntu.com>
24265
24266 * docs/grub.texi (Configuration): New section, documenting
24267 configuration file generation using grub-mkconfig. I've left a slot
24268 for documenting the full shell scripting format but have not yet
24269 started on writing that up.
24270 (Invoking grub-mkconfig): New section.
24271
34c9f0e9
CW
242722010-06-02 Colin Watson <cjwatson@ubuntu.com>
24273
24274 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24275 (GNU GRUB manual): Likewise.
24276 (General commands): Update description of `terminfo' for GRUB 2.
24277
9121567e
CW
242782010-06-02 Colin Watson <cjwatson@ubuntu.com>
24279
24280 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24281 (GRUB_MOD_INIT): Fix capitalisation.
24282 * docs/grub.texi (Command-line and menu entry commands): Document
24283 gettext and gptsync commands.
24284
ab631611
CW
242852010-06-02 Colin Watson <cjwatson@ubuntu.com>
24286
24287 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24288 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24289
bde4a9ac
CW
242902010-06-01 Colin Watson <cjwatson@ubuntu.com>
24291
24292 Add btrfs probing support, currently only in the single-device case.
24293
24294 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24295 function.
24296 (grub_guess_root_device): Call find_root_device_from_mountinfo
24297 before looking in /dev.
24298
b1d17e10
VS
242992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24300
24301 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24302 GRUB_DISK_SIZE_UNKNOWN.
24303 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24304
dfbfe004
JS
243052010-05-31 Jiro SEKIBA <jir@unicus.jp>
24306
24307 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24308 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24309 corrupted or not synced properly.
24310
c2ffc8e9
VS
243112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24314 Reported by: Seth Goldberg.
24315
56293166
VS
243162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24317
24318 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24319 addition of dest.
24320 Reported by: Seth Goldberg.
24321
7620e7de
VS
243222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24325 Reported by: Seth Goldberg.
24326
c837af3f
VS
243272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24330 64-bit address as signed on MIPS.
24331
c7c75cf4
CW
243322010-05-28 Colin Watson <cjwatson@ubuntu.com>
24333
24334 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24335 to the empty string.
24336
fa4b8490
BC
243372010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24338
24339 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24340
24341 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24342 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24343 * kern/misc.c (__enable_execute_stack): Disable on
24344 GRUB_MACHINE_EMU.
24345
a33075b9
CW
243462010-05-28 Colin Watson <cjwatson@ubuntu.com>
24347
24348 Make grub-probe work with symbolic links under /dev/mapper as well
24349 as with real block devices. The Linux world seems to be (at best)
24350 in transition here, and GRUB shouldn't get caught in the middle.
24351
24352 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24353 /dev/mapper.
24354
d8708134
CW
243552010-05-27 Colin Watson <cjwatson@ubuntu.com>
24356
24357 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24358 input files (in which case exit zero).
24359
db2102a0
CW
243602010-05-27 Colin Watson <cjwatson@ubuntu.com>
24361
24362 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24363 return NULL for various reasons even if it has a maximum-length
24364 buffer: for example, there might be a symlink loop, or the path
24365 might exceed PATH_MAX. If this happens, return NULL.
24366
5fdba519
RM
243672010-05-27 Robert Millan <rmh@gnu.org>
24368
24369 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24370 partmap module to handle cross-partmap setups.
24371 Reported by Orestes Mas. Gràcies!
24372
d1d368e4
CW
243732010-05-27 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * util/grub-mkrescue.in: Initialise override_dir rather than
24376 assuming that it's unset or empty in the environment.
24377
95ac3c73
GS
243782010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24379
24380 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24381 variable index into p_index to suppress a warning with -Wshadow.
24382
7d8c0213
BC
243832010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24384
24385 * INSTALL: Added flex >= 2.5.35 requirement.
24386
db4d5813
VS
243872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24388
24389 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24390
f24f4300
VS
243912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 cmostest support.
24394
24395 * commands/i386/cmostest.c: New file.
24396 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24397 (cmostest_mod_SOURCES): New variable.
24398 (cmostest_mod_CFLAGS): Likewise.
24399 (cmostest_mod_LDFLAGS): Likewise.
24400 * conf/i386-pc.rmk: Likewise.
24401 * docs/grub.texi (Vendor power-on keys): New section.
24402 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24403 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24404 and GRUB_BUTTON_CMOS_ADDRESS.
24405 * util/grub.d/00_header.in: Handle powering-on by separate button.
24406
ad603f61
VS
244072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24408
24409 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24410 Removed drawing_scrollbar argument. All users updated
24411 Fixes #29792.
24412 Reported by Jo Shields
24413
3ecb080a
VS
244142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24415
24416 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24417 buffer since gfxterm handles double repaint.
24418
5f2316c1
VS
244192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24422 * term/gfxterm.c (real_scroll): Likewise.
24423
9a25f885
VS
244242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24427 before calling BIOS.
24428
39fbb79a
VS
244292010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 * include/grub/i18n.h: Always enable grub_gettext.
24432
228cfa97
VS
244332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24434
24435 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24436 partition naming style.
24437
21717c8f
CW
244382010-05-21 Colin Watson <cjwatson@ubuntu.com>
24439
24440 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24441 not the first option.
24442
c0f48e65
CW
244432010-05-20 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24446
96779aec
CW
244472010-05-20 Colin Watson <cjwatson@ubuntu.com>
24448
24449 * util/misc.c: Move inclusion of <limits.h> to ...
24450 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24451
fa9d256e
GS
244522010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24453
24454 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24455 Fix merge error in NetBSD code.
24456 (find_partition_start) [__NetBSD__]: Likewise.
24457
123b7a85
BC
244582010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24459
24460 Fix grub-mkrescue usage unit testing.
24461
24462 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24463
74276c0d
CF
244642010-05-18 Christian Franke <franke@computer.org>
24465
24466 * util/grub.d/10_windows.in: Use path names instead of
24467 drive letters to prevent warning from Cygwin 1.7.
24468 Add drivemap command to menuentry if needed.
24469
c4f7b523
ST
244702010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24471
24472 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24473 gnumach and gnumach.gz.
24474
95b97950
VS
244752010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24476
24477 * include/grub/i18n.h (gettext): Inline instead of using #define.
24478 (grub_gettext): Likewise.
24479 (_): Likewise.
24480
01b8d2d7
VS
244812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24484 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24485 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24486 (main): Add a slash after pkglibdirroot.
24487
654e1d1e
VS
244882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 * util/grub-install.in: Add missing "in" keyword.
24491
26966aeb
VS
244922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24495 Reported by: Seth Goldberg.
24496
75006747
VS
244972010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24500
74cbf5bd
CW
245012010-05-18 Colin Watson <cjwatson@ubuntu.com>
24502
24503 * configure.ac: Check for Linux device-mapper support.
24504
24505 * util/hostdisk.c (device_is_mapped): New function.
24506 (find_partition_start): New function, partly broken out from
24507 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24508 device-mapper support added.
24509 (linux_find_partition): Use find_partition_start.
24510 (convert_system_partition_to_system_disk): Add `st' argument.
24511 Support Linux /dev/mapper/* devices if device-mapper support is
24512 available; only DM-RAID devices are understood at present.
24513 (find_system_device): Add `st' argument. Pass it to
24514 convert_system_partition_to_system_disk.
24515 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24516 find_system_device and convert_system_partition_to_system_disk. Use
24517 find_partition_start.
24518
24519 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24520 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24521 * util/deviceiter.c [__linux__]: Define MINOR.
24522 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24523 * util/mkdevicemap.c (grub_putchar): New function.
24524 (grub_getkey): New function.
24525 (grub_refresh): New function.
24526 (main): Set debug=all if -v -v is used.
24527
355b51e9
CW
245282010-05-18 Colin Watson <cjwatson@ubuntu.com>
24529
24530 Fix build with non-GNU libcs.
24531
24532 * util/misc.c (canonicalize_file_name): Move to ...
24533 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24534 grub_make_system_path_relative_to_its_root.
24535
7fb5c25f
CW
245362010-05-18 Colin Watson <cjwatson@ubuntu.com>
24537
24538 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24539 we handle finding grub-mkimage. Default to finding grub-mkimage in
24540 ${bindir} with program_transform_name applied, and provide a
24541 --grub-mkimage option to override this.
24542
1d3293d6
VS
245432010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 Remove grub-mkisofs.
24546
24547 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24548 (grub_mkisofs_SOURCES): Removed.
24549 (grub_mkisofs_CFLAGS): Removed.
24550 * util/mkisofs/defaults.h: Removed.
24551 * util/mkisofs/eltorito.c: Likewise.
24552 * util/mkisofs/exclude.h: Likewise.
24553 * util/mkisofs/hash.c: Likewise.
24554 * util/mkisofs/include/: Likewise.
24555 * util/mkisofs/include/fctldefs.h: Likewise.
24556 * util/mkisofs/include/mconfig.h: Likewise.
24557 * util/mkisofs/include/prototyp.h: Likewise.
24558 * util/mkisofs/include/statdefs.h: Likewise.
24559 * util/mkisofs/iso9660.h: Likewise.
24560 * util/mkisofs/joliet.c: Likewise.
24561 * util/mkisofs/match.c: Likewise.
24562 * util/mkisofs/match.h: Likewise.
24563 * util/mkisofs/mkisofs.c: Likewise.
24564 * util/mkisofs/mkisofs.h: Likewise.
24565 * util/mkisofs/msdos_partition.h: Likewise.
24566 * util/mkisofs/multi.c: Likewise.
24567 * util/mkisofs/name.c: Likewise.
24568 * util/mkisofs/rock.c: Likewise.
24569 * util/mkisofs/tree.c: Likewise.
24570 * util/mkisofs/write.c: Likewise.
24571
5dde9afe
VS
245722010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 Unify grub-mkimage accross platforms.
24575
24576 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24577 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24578 (grub_mkelfimage_SOURCES): Removed.
24579 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24580 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24581 (bin_UTILITIES): Add grub-mkimage.
24582 (grub_mkimage_SOURCES): New variable.
24583 (kernel_img_HEADERS): Remove machine/kernel.h.
24584 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24585 (pkglib_PROGRAMS): Add kernel.img.
24586 (kernel_img_HEADERS): Add machine/kernel.h.
24587 (kernel_img_FORMAT): Removed.
24588 (bin_UTILITIES): Remove grub-mkimage.
24589 (grub_mkimage_SOURCES): Removed.
24590 (grub_mkimage_CFLAGS): Likewise.
24591 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24592 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24593 (pkglib_PROGRAMS): Add kernel.img.
24594 (bin_UTILITIES): Remove grub-mkimage.
24595 (grub_mkimage_SOURCES): Removed.
24596 (grub_mkimage_CFLAGS): Likewise.
24597 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24598 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24599 (pkglib_PROGRAMS): Add kernel.img.
24600 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24601 (pkglib_PROGRAMS): Add kernel.img.
24602 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24603 (grub_mkimage_SOURCES): Removed.
24604 (grub_mkimage_CFLAGS): Likewise.
24605 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24606 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24607 (pkglib_PROGRAMS): Add kernel.img.
24608 (bin_UTILITIES): Remove grub-mkimage.
24609 (grub_mkimage_SOURCES): Removed.
24610 (grub_mkimage_CFLAGS): Likewise.
24611 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24612 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24613 (grub_mkimage_SOURCES): Removed.
24614 (grub_mkimage_CFLAGS): Likewise.
24615 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24616 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24617 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24618 (grub_pe32_optional_header): ... this.
24619 (grub_pe64_optional_header): ... and this. All users updated.
24620 (GRUB_PE32_PE32_MAGIC): Split into ..
24621 (GRUB_PE32_PE32_MAGIC): .. this.
24622 (GRUB_PE32_PE64_MAGIC): .. and this.
24623 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24624 * include/grub/elf.h (PT_GNU_STACK): New definition.
24625 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24626 * include/grub/i386/efi/kernel.h: Likewise.
24627 * include/grub/i386/kernel.h: Likewise.
24628 * include/grub/i386/pc/kernel.h: Likewise.
24629 * include/grub/i386/qemu/boot.h: Likewise.
24630 * include/grub/mips/kernel.h: Likewise.
24631 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24632 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24633 * include/grub/powerpc/kernel.h: Likewise.
24634 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24635 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24636 * include/grub/sparc64/kernel.h: Likewise.
24637 * include/grub/x86_64/efi/kernel.h: Likewise.
24638 * include/grub/x86_64/kernel.h: Likewise.
24639 * include/grub/offsets.h: New file.
24640 * include/grub/kernel.h (grub_module_info): Split into ...
24641 (grub_module_info32): ... this.
24642 (grub_module_info64): ... and this.
24643 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24644 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24645 (grub_boot_blocklist): Moved from here ...
24646 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24647 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24648 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24649 * include/grub/types.h (grub_target_to_host16): Removed.
24650 (grub_target_to_host32): Likewise.
24651 (grub_target_to_host64): Likewise.
24652 (grub_host_to_target16): Likewise.
24653 (grub_host_to_target32): Likewise.
24654 (grub_host_to_target64): Likewise.
24655 (grub_host_to_target_addr): Likewise.
24656
24657 Support grub-mkrescue for efi, coreboot and qemu.
24658
24659 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24660 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24661 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24662 * util/grub-mkrawimage.c: Moved from here ...
24663 * util/grub-mkimage.c: ... here. All users updated.
24664 (ALIGN_ADDR): Use image_target.
24665 (TARGET_NO_FIELD): New const.
24666 (image_target_desc): New type.
24667 (image_targets): New array.
24668 (grub_target_to_host64): Use image_target.
24669 (grub_target_to_host32): Likewise.
24670 (grub_target_to_host16): Likewise.
24671 (grub_host_to_target64): Likewise.
24672 (grub_host_to_target32): Likewise.
24673 (grub_host_to_target16): Likewise.
24674 (grub_host_to_target_addr): Likewise.
24675 (generate_image): Handle multiimage.
24676 (main): Require -O parameter. All users updated.
24677 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24678 util/efi/grub-mkimage.c
24679 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24680 New option --rom-directory.
24681 Use xorriso.
24682 * util/i386/efi/grub-mkimage.c: Removed.
24683 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24684 (grub_target_to_host32): Likewise.
24685 (grub_target_to_host64): Likewise.
24686 (grub_host_to_target16): Likewise.
24687 (grub_host_to_target32): Likewise.
24688 (grub_host_to_target64): Likewise.
24689 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24690 (grub_target_to_host32): Likewise.
24691 (grub_target_to_host64): Likewise.
24692 (grub_host_to_target16): Likewise.
24693 (grub_host_to_target32): Likewise.
24694 (grub_host_to_target64): Likewise.
24695
f4fc97d0
BC
246962010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24697
24698 Source tree is reorganized for emu build.
24699
24700 * include/grub/util/console.h: Move from here...
24701 * include/grub/emu/console.h: ...to here.
24702 * include/grub/util/getroot.h: Move from here...
24703 * include/grub/emu/getroot.h: ...to here.
24704 * include/grub/util/hostdisk.h: Move from here...
24705 * include/grub/emu/hostdisk.h: ...to here.
24706 * util/console.c: Move from here...
24707 * kern/emu/console.c: ...to here.
24708 * util/getroot.c: Move from here...
24709 * kern/emu/getroot.c: ...to here.
24710 * util/grub-emu.c: Move from here...
24711 * kern/emu/main.c: ...to here.
24712 * util/hostdisk.c: Move from here...
24713 * kern/emu/hostdisk.c: ...to here.
24714 * util/hostfs.c: Move from here...
24715 * kern/emu/hostfs.c: ...to here.
24716 * util/mm.c: Move from here...
24717 * kern/emu/mm.c: ...to here.
24718 * util/pci.c: Move from here...
24719 * bus/emu/pci.c: ...to here.
24720 * util/sdl.c: Move from here...
24721 * video/emu/sdl.c: ...to here.
24722 * util/time.c: Move from here...
24723 * kern/emu/time.c: ...to here.
24724 * util/usb.c: Move from here...
24725 * bus/usb/emu/usb.c: ...to here.
24726
24727 * include/grub/emu/misc.h: New header for grub-emu functions.
24728 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24729
24730 * conf/any-emu.rmk: Rule updates for above renames.
24731 * conf/common.rmk: Likewise.
24732 * conf/i386-pc.rmk: Likewise.
24733 * conf/i386-qemu.rmk: Likewise.
24734 * conf/mips.rmk: Likewise.
24735 * conf/sparc64-ieee1275.rmk: Likewise.
24736 * conf/x86-efi.rmk: Likewise.
24737
24738 * disk/lvm.h: #include updates for above renames.
24739 * util/grub-mkrelpath.c: Likewise.
24740 * util/grub-probe.c: Likewise.
24741 * util/i386/pc/grub-setup.c: Likewise.
24742 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24743 * kern/emu/console.c: Likewise.
24744 * kern/emu/getroot.c: Likewise.
24745 * kern/emu/hostdisk.c: Likewise.
24746 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24747
24748 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24749 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24750 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24751 * util/misc.c: Remove grub-emu functions.
24752
cced9145
VS
247532010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24754
24755 Fix gfxmenu crash.
24756 Reported by: Thorsten Grützmacher.
24757
24758 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24759 timeout hook.
24760 (circprog_set_property): Register and unregister timeout hook.
24761 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24762 (label_destroy): Free template. and unregister hook.
24763 (label_set_state): New function.
24764 (label_set_property): Handle templates and hooks.
24765 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24766 timeout hook.
24767 (progress_bar_set_property): Register and unregister timeout hook.
24768 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24769 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24770 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24771 (update_timeout_visit): Removed.
24772 (update_timeouts): New function.
24773 (redraw_timeouts): Likewise.
24774 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24775 (grub_gfxmenu_clear_timeout): Likewise.
24776 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24777 (grub_gfxmenu_timeout_notify): Likewise.
24778 (grub_gfxmenu_timeout_notifications): New external variable.
24779 (grub_gfxmenu_timeout_register): New function.
24780 (grub_gfxmenu_timeout_unregister): Likewise.
24781
c6e5caab
VS
247822010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24783
24784 Transform (broken) vga terminal into (working) vga video driver.
24785
24786 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24787 video/i386/pc/vga.c.
24788 * include/grub/video.h (grub_video_driver_id):
24789 Add GRUB_VIDEO_DRIVER_VGA.
24790 * term/i386/pc/vga.c: Renamed to ...
24791 * video/i386/pc/vga.c: ...this
24792 (DEBUG_VGA): Removed.
24793 (CHAR_WIDTH): Likewise.
24794 (CHAR_HEIGHT): Likewise.
24795 (TEXT_WIDTH): Likewise.
24796 (TEXT_HEIGHT): Likewise.
24797 (DEFAULT_FG_COLOR): Likewise.
24798 (DEFAULT_BG_COLOR): Likewise.
24799 (colored_char): Likewise.
24800 (xpos): Likewise.
24801 (ypos): Likewise.
24802 (cursor_state): Likewise.
24803 (fg_color): Likewise.
24804 (bg_color): Likewise.
24805 (text_buf): Likewise.
24806 (page): Likewise.
24807 (font): Likewise.
24808 (framebuffer): New variable.
24809 (set_read_map): Disabled.
24810 (setup): New variable.
24811 (is_target): Likewise.
24812 (grub_vga_mod_init): Likewise.
24813 (grub_vga_mod_fini): Likewise.
24814 (check_vga_mem): Likewise.
24815 (write_char): Likewise.
24816 (write_cursor): Likewise.
24817 (scroll_up): Likewise.
24818 (grub_vga_putchar): Likewise.
24819 (grub_vga_getcharwidth): Likewise.
24820 (grub_vga_getwh): Likewise.
24821 (grub_vga_getxy): Likewise.
24822 (grub_vga_gotoxy): Likewise.
24823 (grub_vga_cls): Likewise.
24824 (grub_vga_setcolorstate): Likewise.
24825 (grub_vga_setcursor): Likewise.
24826 (grub_video_vga_init): New function.
24827 (grub_video_vga_setup): Likewise.
24828 (grub_video_vga_fini): Likewise.
24829 (update_target): Likewise.
24830 (grub_video_vga_blit_bitmap): Likewise.
24831 (grub_video_vga_blit_render_target): Likewise.
24832 (grub_video_vga_set_active_render_target): Likewise.
24833 (grub_video_vga_get_active_render_target): Likewise.
24834 (grub_video_vga_swap_buffers): Likewise.
24835 (grub_video_vga_set_palette): Likewise.
24836 (grub_video_vga_get_info_and_fini): Likewise.
24837 (grub_vga_term): Removed.
24838 (grub_video_vga_adapter): New variable.
24839 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24840 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24841
2bf61a98
VS
248422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 * video/readers/jpeg.c: Indented.
24845
09ddcd11
VS
248462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24847
24848 Various jpeg cleanups.
24849
24850 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24851 (grub_jpeg_decode_quan_table): Use sizeof.
24852 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24853
e5507505
PH
248542010-05-05 Peter Hurley <No e-mail available> (tiny change)
24855
24856 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24857 tables. Ignore non-last ac bit.
24858 (grub_jpeg_decode_quan_table): Likewise.
24859
7e720a9b
VS
248602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24861
24862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24863 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24864 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24865 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24866 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24867 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24868
a7fc080b
VS
248692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24872 error.
24873
2bf6012d
VS
248742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24875
24876 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24877
265d68cd
VS
248782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24881 condition.
24882
248832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24884
24885 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24886 part.
24887
265d68cd 248882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24889
24890 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24891 pointers.
24892
265d68cd 248932010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24894
24895 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24896
d1b61374
CF
248972010-05-01 Christian Franke <franke@computer.org>
24898
24899 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24900 Remove broken Cygwin path conversion.
24901 * util/misc.c: [__CYGWIN__] Add include and define.
24902 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24903 for Cygwin 1.7.
24904 (make_system_path_relative_to_its_root): Simplify loop, replace early
24905 return by break.
24906 [__CYGWIN__] Add conversion to win32 path.
24907 Include "/" case in trailing slash removal.
24908
3558c6e9
VS
249092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24912 Reported by: Seth Goldberg
24913
f5f3ff93
VS
249142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * commands/help.c (grub_cmd_help): Fix a typo.
24917 Reported by: Seth Goldberg
24918
d8b5cd40
VS
249192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24922 name and add N_.
24923 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24924 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24925 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24926 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24927 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24928 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24929 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24930 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24931 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24932 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24933 * normal/context.c (GRUB_MOD_INIT): Likewise.
24934 * normal/main.c (GRUB_MOD_INIT): Likewise.
24935 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24936 * term/serial.c (GRUB_MOD_INIT): Likewise.
24937 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24938
88c14915
VS
249392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24940
24941 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24942 extra == 0.
24943
165134bc
VS
249442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * commands/iorw.c: New file.
24947 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24948 (iorw_mod_SOURCES): New variable.
24949 (iorw_mod_CFLAGS): Likewise.
24950 (iorw_mod_LDFLAGS): Likewise.
24951
c5ac9b32
VS
249522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 Hotkey support
24955
24956 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24957 * normal/main.c (hotkey_aliases): New variable.
24958 (grub_normal_add_menu_entry): Parse "--hotkey".
24959 * normal/menu_text.c (run_menu): Handle hotkeys.
24960
ce60689c
VS
249612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 * kern/i386/coreboot/init.c (grub_machine_init): Call
24964 grub_machine_mmap_init on qemu.
24965
0359d006
VS
249662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 * boot/i386/qemu/boot.S: Add a missing .code16.
24969
7819a456
VS
249702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 Use LBIO on coreboot.
24973
24974 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24975 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24976 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24977 New declaration.
24978 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24979 grub_machine_mmap_init on coreboot.
24980 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24981 GRUB_LINUXBIOS_MEMBER_LINK.
24982 (grub_machine_mmap_iterate): Fix declaration.
24983 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24984
7210dca9
VS
249852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 Split coreboot and multiboot ports.
24988
24989 * conf/i386-multiboot.rmk: New file.
24990 * configure.ac: Add multiboot port.
24991 * include/grub/i386/multiboot/boot.h: New file.
24992 * include/grub/i386/multiboot/console.h: Likewise.
24993 * include/grub/i386/multiboot/init.h: Likewise.
24994 * include/grub/i386/multiboot/kernel.h: Likewise.
24995 * include/grub/i386/multiboot/loader.h: Likewise.
24996 * include/grub/i386/multiboot/memory.h: Likewise.
24997 * include/grub/i386/multiboot/serial.h: Likewise.
24998 * include/grub/i386/multiboot/time.h: Likewise.
24999 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25000 * loader/multiboot.c: Likewise.
25001 * loader/multiboot_mbi2.c: Likewise.
25002 * util/grub-mkrescue.in: Generate multiboot rescue.
25003
6f8aaf68
VS
250042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25005
3080f7a7
VS
25006 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25007
250082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25009
25010 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25011
25012 * commands/terminal.c (abstract_terminal): New struct.
25013 (handle_command): New function. Based on grub_cmd_terminal_input.
25014 (grub_cmd_terminal_input): Use handle_command.
25015 (grub_cmd_terminal_output): Use handle_command.
25016
a8ebb841
BC
250172010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25018
25019 Fix comment handling.
25020
25021 * tests/grub_script_comments.in: New testcase.
25022 * conf/tests.rmk: Rules for new testcase.
25023 * script/yylex.l: Updated flex rules.
25024
bb06ba08
ST
250252010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25026
25027 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25028 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25029 if argc is 1.
bb06ba08 25030
cc9d2425
VS
250312010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25032
25033 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25034 autogen issues.
25035
460d8402
CF
250362010-04-26 Christian Franke <franke@computer.org>
25037
25038 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25039 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25040 (grub_get_prefix): Remove function.
25041 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25042 make_system_path_relative_to_its_root ().
25043 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25044
553c01f9
CF
250452010-04-24 Christian Franke <franke@computer.org>
25046
25047 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25048 (kernel_img_LDFLAGS): Remove -static-libgcc.
25049
2aec1692
CF
250502010-04-24 Christian Franke <franke@computer.org>
25051
25052 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25053 and CHECK_END_SYMBOL if grub-emu is built.
25054 Unset TARGET_OBJ2ELF if grub-emu is built
25055 without module support.
25056
f67dc308
JS
250572010-04-24 Jiro SEKIBA <jir@unicus.jp>
25058
25059 Nilfs2 support.
25060
25061 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25062 (grub_fstest_SOURCES): Likewise.
25063 (pkglib_MODULES): Add nilfs2.mod.
25064 (nilfs2_mod_SOURCES): New variable.
25065 (nilfs2_mod_CFLAGS): Likewise.
25066 (nilfs2_mod_LDFLAGS): Likewise.
25067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25068 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25069 * fs/nilfs2.c: New file.
25070
4ba8d354
VS
250712010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25074 is not supported.
25075
0d2c20c6
GS
250762010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25077
25078 Add grub-mkconfig support for NetBSD.
25079
25080 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25081 * util/grub-mkconfig.in: export new NetBSD specific variables.
25082 * po/POTFILES-shell: added 10_netbsd.in.
25083 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25084
bc4a2d83
BC
250852010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25086
25087 Fix emu build with grub-emu-pci and grub-emu-modules.
25088
25089 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25090 functions.
25091 * include/grub/libpciaccess.h: New file.
25092 * conf/any-emu.rmk: Update kernel headers for emu build.
25093
f48c87aa
VS
250942010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25095
25096 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25097
18959385
VS
250982010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25099
25100 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25101
0037de3f
VS
251022010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25105 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25106 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25107 util/ieee1275/ofpath.c.
25108 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25109 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25110 * include/grub/sparc64/ieee1275/boot.h
25111 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25112 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25113 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25114 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25115 const char *.
25116 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25117 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25118 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25119 install.
25120
38e55e90
GS
251212010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25122
25123 * util/grub-mkconfig.in: Corrected two == equality tests.
25124 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25125 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25126 expect a number appended to it.
25127 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25128 expects a number appended to it.
25129
a9e6ff28
VS
251302010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25131
25132 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25133
0b830b8f
VS
251342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 * util/hostdisk.c (make_device_name): Change to new partition naming.
25137
0973daeb
VS
251382010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25139
25140 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25141
460d8402 251422010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25143
25144 * Makefile.in: Add missing localedir setting.
25145
0b456309
CW
251462010-04-14 Colin Watson <cjwatson@ubuntu.com>
25147
25148 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25149 mistake in r2156. Noticed by Anthony Fok.
25150
25151 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25152 @localedir@.
25153 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25154
08f46d62
BC
251552010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25156
25157 Fix a spurious, uninitialized variable warning.
25158
25159 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25160 Initialize variable, shdr.
25161 (grub_freebsd_load_elfmodule): Likewise.
25162 (grub_freebsd_load_elf_meta): Likewise.
25163
8c4a72d4
BC
251642010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25165
25166 Fix for escaped dollar in double quoted strings.
25167
25168 * script/yylex.l: Updated flex rules.
25169 * conf/tests.rmk: Rule for new testcase.
25170 * tests/grub_script_dollar.in: New testcase.
25171
ce44826e
CPE
251722010-04-13 Carles Pina i Estany <carles@pina.cat>
251732010-04-13 Colin Watson <cjwatson@ubuntu.com>
25174
25175 Enclose all translated strings in grub.cfg in single quotes, and
25176 escape them appropriately (Ubuntu bug #552921).
25177
25178 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25179 * util/grub.d/10_hurd.in: Use it.
25180 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25181 * util/grub.d/10_linux.in (linux_entry): Likewise.
25182
4b0cd8f8
VS
251832010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25184
25185 Fix cygwin compilation.
25186
25187 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25188 * include/grub/misc.h (__register_frame_info)
25189 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25190 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25191 * kern/misc.c (__register_frame_info)
25192 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25193 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25194
01fcf061
VS
251952010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25198
5d04b11e
VS
251992010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 Unify libgcc processing.
25202
25203 * Makefile.in (kernel_img_LDFLAGS): New variable.
25204 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25205 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25206 overwriting.
25207 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25208 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25209 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25210 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25211 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25212 overwriting. Remove -lgcc and -static-libgcc
25213 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25214 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25215 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25216 (kernel_img_LDFLAGS): Append instead of overwriting.
25217 Remove -lgcc and -static-libgcc
25218 * conf/sparc64-ieee1275.rmk: Likewise.
25219 * include/grub/powerpc/libgcc.h: Move to ...
25220 * include/grub/libgcc.h: .. this.
25221 * include/grub/libgcc.h: Don't export most of the function on x86.
25222 (__bswapsi2): New export.
25223 (__bswapdi2): Likewise.
25224 * include/grub/mips/libgcc.h: Removed.
25225 * include/grub/sparc64/libgcc.h: Likewise.
25226
b7f3ac29
VS
252272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25230 disk_info_msg (conflicts with gettexting into languages with cases).
25231
2c7031b1
GS
252322010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25233
25234 Add grub-probe support for NetBSD.
25235
25236 * util/getroot.c (find_root_device): Convert block device to
25237 character device on NetBSD.
25238 * util/probe.c (probe): Require character device on NetBSD.
25239 * util/hostdisk.c: NetBSD specific headers.
25240 (configure_device_driver): new function to tune device driver
25241 parameters (currently only for NetBSD floppy driver).
25242 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25243 via disklabel ioctl).
25244 (open_device): call configure_device_driver on NetBSD.
25245 (convert_system_partition_to_system_disk): NetBSD specific code.
25246 (device_is_wholedisk): Likewise.
25247 (grub_util_biosdisk_get_grub_dev): Likewise.
25248 (make_device_name): Fixed a typo in bsd_part_str.
25249 * configure.ac: check for opendisk() and getrawpartition() on
25250 NetBSD and set LIBUTIL.
25251 * Makefile.in: add LIBUTIL to LIBS.
25252
f516290c
BC
252532010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25254
25255 Documentation fix.
25256
25257 * util/grub-script-check.c: Better help message.
25258
d8dcc0df
BC
252592010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25260
25261 Fix FreeBSD build.
25262
25263 * configure.ac: Flex version check.
25264 * conf/common.rmk: Add -Wno-error to sh.mod.
25265 * script/yylex.l: Remove all #pragma.
25266
6734334a
VS
252672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25268
25269 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25270 prototype.
25271 Reported by: Seth Goldberg.
25272
daea6abd
VS
252732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25274
25275 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25276 Rename "module" to "module2".
25277 Reported by: Seth Goldberg.
25278
f2fd9d2b
VS
252792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25280
25281 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25282 EXPORT_FUNC.
25283 Reported by: Seth Goldberg.
25284
be124579
VS
252852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25286
25287 * lib/posix_wrap/locale.h: Add missing file.
25288 Reported by: Seth Goldberg.
25289
ef5da797
VS
252902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25291
25292 grub-emu module load support.
25293
25294 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25295 NO_DYNAMIC_MODULES switched to this.
25296 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25297 (CFLAGS): Likewise.
25298 * conf/any-emu.rmk: Generate symlist.
25299 (kernel_img_HEADERS): Add util/datetime.h.
25300 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25301 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25302 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25303 kern/$(target_cpu)/cache.S.
25304 * configure.ac (grub-emu-modules): New option.
25305 * genmk.rb: Handle multiple source lists.
25306 * include/grub/sdl.h: New file.
25307 * include/grub/libusb.h: Likewise.
25308 * util/grub-emu.c (main): Hanle (host) root.
25309 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25310 GRUB_ERR_UNKNOWN_DEVICE.
25311 * util/misc.c: Move mm functions to ...
25312 * util/mm.c: ... here. All users updated.
25313
47822096
VS
253142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25317 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25318 missing files.
25319 (maintainer-clean): Remove libgcrypt-grub.
25320
5d7e7445
VS
253212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25324
25f4e252
EC
253252010-04-09 EFI Coder <eficoder@hotmail.com>
25326
25327 * normal/menu_text.c (print_message): Clean up the message and show
25328 the Fn information when on EFI
25329 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25330
027de555
VS
253312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25334 All users updated.
25335 * normal/crypto.c (read_crypto_list): Likewise.
25336 * normal/dyncmd.c (read_command_list): Likewise.
25337 * normal/term.c (read_terminal_list): Likewise.
25338 * normal/main.c (read_lists): Use explicit prefix.
25339 (read_lists_hook): Use read_lists.
25340 (grub_normal_execute): Likewise.
25341
47779711
VS
253422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25345 Reported by: Thomas Schmitt.
25346 Add -no-emul-boot to grub-mkisofs parameters.
25347
1118c32e
VS
253482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 * font/font.c: Indented.
25351
7d652447
BC
253522010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25353
25354 Elif support to GRUB script (by Deepak Vankadaru).
25355
25356 * tests/grub_script_if.in: New testcase.
25357 * conf/tests.rmk: Rule for new testcase.
25358 * script/parser.y: Grammar rules for elif.
25359
34bb22df
BC
253602010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25361
25362 While and until loops support to GRUB script.
25363
25364 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25365 (grub_script_create_cmdwhile): New function prototype.
25366 (grub_script_execute_cmdwhile): New function prototype.
25367 * script/execute.c (grub_script_execute_cmdwhile): New function.
25368 * script/parser.y (command): New commands.
25369 (whilecmd): New grammar rule.
25370 (untilcmd): New grammar rule.
25371 * script/script.c (grub_script_create_cmdwhile): New function.
25372 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25373 function.
25374
25375 * tests/grub_script_while1.in: New testcase.
25376 * conf/tests.rmk: Rule for new testcase.
25377
e215d8e0
VS
253782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25381 as *.jpg.
25382
d7c43ba1
MV
253832010-04-09 Mario Vazquez <mariovazq@gmail.com>
25384
25385 GRUB_BACKGROUND support.
25386
25387 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25388 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25389
d64795c0
VS
253902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25391
25392 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25393 Idea by: Mario Vazquez
d64795c0
VS
25394
25395 * util/grub.d/00_header.in: Load pf2 and image modules.
25396
f267f83a
VS
253972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25398
25399 grub-mkconfig multiple terminal support.
25400
25401 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25402 * util/grub.d/00_header.in: Likewise.
25403
b7841ceb
VS
254042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25405
25406 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25407 we use cd $(srcdir).
25408
df60998c
CW
254092010-04-08 Colin Watson <cjwatson@ubuntu.com>
25410
25411 * util/grub.d/10_linux.in: Only use the first word of
25412 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25413 spaces in GRUB_DISTRIBUTOR.
25414 * util/grub.d/10_kfreebsd.in: Likewise.
25415 * util/grub.d/10_hurd.in: Likewise.
25416
fa09c82e
BC
254172010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25418
14e18ae3 25419 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25420
25421 * tests/util/grub-shell.in: Remove -serial stdio option.
25422
daf892b3
BC
254232010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 POSIX header file wrappers.
25426
25427 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25428 equivalents.
25429 * lib/posix_wrap/ctype.h: Likewise.
25430 * lib/posix_wrap/errno.h: Likewise.
25431 * lib/posix_wrap/langinfo.h: Likewise.
25432 * lib/posix_wrap/limits.h: Likewise.
25433 * lib/posix_wrap/localcharset.h: Likewise.
25434 * lib/posix_wrap/stdint.h: Likewise.
25435 * lib/posix_wrap/stdio.h: Likewise.
25436 * lib/posix_wrap/stdlib.h: Likewise.
25437 * lib/posix_wrap/string.h: Likewise.
25438 * lib/posix_wrap/sys/types.h: Likewise.
25439 * lib/posix_wrap/unistd.h: Likewise.
25440 * lib/posix_wrap/wchar.h: Likewise.
25441 * lib/posix_wrap/wctype.h: Likewise.
25442 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25443 (grub_script.yy.h): Likewise.
25444 * script/yylex.l: Remove POSIX emulation #defines.
25445 * Makefile.in (POSIX_CFLAGS): New variable.
25446 (GNULIB_UTIL_CFLAGS): Likewise.
25447
25448 Regexp support.
25449
25450 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25451 (regexp_mod_SOURCES): New variable.
25452 (regexp_mod_CFLAGS): Likewise.
25453 (regexp_mod_LDFLAGS): Likewise.
25454 * commands/regexp.c: New file.
25455 * gnulib/regcomp.c: New file. Imported from gnulib.
25456 * gnulib/regex.c: Likewise.
25457 * gnulib/regex_internal.c: Likewise.
25458 * gnulib/regex_internal.h: Likewise.
25459 * gnulib/regexec.c: Likewise.
25460 * gnulib/regex.h: Likewise.
25461
974ac4f7
VS
254622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25465 unsupported video mode types.
25466
2622c3ff
VS
254672010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25470
064cb524
VS
254712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25474 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25475
a8c3b552
VS
254762010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Remove unused grub_vga_get_font.
25479
25480 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25481 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25482
187bbe3d
GS
254832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25484
25485 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25486 * include/grub/misc.h: Likewise.
25487
b9396631
GS
254882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25489
25490 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25491 for which failure is fatal.
25492
50479feb
GS
254932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25494
25495 * util/grub-install.in: Use mkdir -p to create grub directory.
25496 * util/i386/efi/grub-install.in: Likewise.
25497 * util/ieee1275/grub-install.in: Likewise.
25498
b1654fdf
GS
254992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25500
25501 * Makefile.in (LEX): new variable.
25502
bd5a6415
GS
255032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25504
25505 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25506 `=' and added double quotes on operands of this equality test.
25507
3db3a82b
VS
255082010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25509
25510 * Makefile.in (uninstall): Remove a leftover debug echo.
25511 Reported by: Grégoire Sutre
25512
38023412
VS
255132010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25514
25515 MIPS multiboot2 support.
25516
25517 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25518 (multiboot2_mod_SOURCES): New variable.
25519 (multiboot2_mod_CFLAGS): Likewise.
25520 (multiboot2_mod_LDFLAGS): Likewise.
25521 (multiboot2_mod_ASFLAGS): Likewise.
25522 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25523 definition.
25524 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25525 (MULTIBOOT_MBI_REGISTER): Likewise.
25526 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25527 (MULTIBOOT_ELF32_MACHINE): Likewise.
25528 (MULTIBOOT_ELF64_MACHINE): Likewise.
25529 * include/grub/mips/multiboot.h: New file.
25530 * include/grub/video.h (grub_video_driver_id): New type
25531 GRUB_VIDEO_DRIVER_SM712.
25532 (grub_video_get_info_and_fini): Export.
25533 (grub_video_get_palette): Likewise.
25534 (grub_video_get_driver_id): Likewise.
25535 * include/multiboot2.h: Resynced with spec.
25536 * loader/i386/multiboot.c: Moved from here ...
25537 * loader/multiboot.c: ... here. All users updated.
25538 (grub_multiboot_boot): Use platform-specific macros.
25539 * loader/i386/multiboot_elfxx.c: Moved from here ...
25540 * loader/multiboot_elfxx.c: ... here. All users updated.
25541 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25542 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25543 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25544
47674667
VS
255452010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25546
25547 Import gnulib argp module.
25548
25549 * gnulib/argp-ba.c: New file.
25550 * gnulib/argp-eexst.c: Likewise.
25551 * gnulib/argp-fmtstream.c: Likewise.
25552 * gnulib/argp-fmtstream.h: Likewise.
25553 * gnulib/argp-fs-xinl.c: Likewise.
25554 * gnulib/argp-help.c: Likewise.
25555 * gnulib/argp-namefrob.h: Likewise.
25556 * gnulib/argp-parse.c: Likewise.
25557 * gnulib/argp-pin.c: Likewise.
25558 * gnulib/argp-pv.c: Likewise.
25559 * gnulib/argp-pvh.c: Likewise.
25560 * gnulib/argp-version-etc.c: Likewise.
25561 * gnulib/argp-version-etc.h: Likewise.
25562 * gnulib/argp-xinl.c: Likewise.
25563 * gnulib/argp.h: Likewise.
25564
495442ed
VS
255652010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25566
25567 * kern/device.c (grub_device_iterate): Clear errors after failed
25568 opening device.
25569
f9fd65df
VS
255702010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25571
25572 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25573 returned by firmware.
25574
af09641e
VS
255752010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25578 compilation on coreboot and qemu
25579
016883a5
VS
255802010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * include/multiboot2.h: Resync with spec.
25583
f97e1f7d
VS
255842010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 Multiboot2 tag support
25587
25588 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25589 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25590 Remove loader/multiboot_loader.c.
25591 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25592 (grub_multiboot2_real_boot): Likewise.
25593 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25594 (grub_get_multiboot_mmap_count): New proto.
25595 (grub_fill_multiboot_mmap): Likewise.
25596 (grub_multiboot_set_video_mode): Likewise.
25597 (grub_multiboot_set_console): Likewise.
25598 (grub_multiboot_load): Likewise.
25599 (grub_multiboot_load_elf): Likewise.
25600 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25601 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25602 * include/multiboot.h: Resynced with specification.
25603 * include/multiboot2.h: Resynced with specification.
25604 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25605 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25606 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25607 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25608 users updated.
25609 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25610 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25611 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25612 Removed.
25613 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25614 Moved from here...
25615 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25616 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25617 Moved from here...
25618 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25619 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25620 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25621 All users updated.
25622 * loader/i386/multiboot_mbi2.c: New file.
25623
3506b90b
VS
256242010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25625
25626 Resync with gnulib.
25627
25628 * Makefile.in (GNULIB_CFLAGS): New variable.
25629 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25630 (grub_script_check_CFLAGS): New variable.
25631 * gnulib/alloca.h: Resync with gnulib.
25632 * gnulib/error.c: Likewise.
25633 * gnulib/error.h: Likewise.
25634 * gnulib/fnmatch.c: Likewise.
25635 * gnulib/fnmatch_loop.c: Likewise.
25636 * gnulib/getdelim.c: Likewise.
25637 * gnulib/getline.c: Likewise.
25638 * gnulib/getopt.c: Likewise.
25639 * gnulib/getopt1.c: Likewise.
25640 * gnulib/getopt_int.h: Likewise.
25641 * gnulib/gettext.h: Likewise.
25642 * gnulib/progname.c: Likewise.
25643 * gnulib/progname.h: Likewise.
25644
394a3120
GS
256452010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25646
25647 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25648 which is the case with --disabled-nls.
25649
25650 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25651 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25652 * util/misc.c: Likewise.
25653 * util/mkisofs/mkisofs.c: Likewise.
25654 * util/mkisofs/mkisofs.h: Likewise.
25655
969d1c78
VS
256562010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25657
25658 Simplify Apple CC support.
25659
25660 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25661 Add 0 byte at the end not to have a symbol with empty target.
25662 * mmap/i386/pc/mmap_helper.S: Likewise.
25663 * genmk.rb: Ignore errors 2030 and 2050.
25664 * kern/i386/pc/startup.S: Use LOCAL when possible.
25665
8d2977bb
BC
256662010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25667
25668 Testcase and the fix for final semicolon on cmdline.
25669
25670 * tests/grub_script_final_semicolon.in: New testcase.
25671 * conf/tests.rmk: Rules for the new testcase.
25672 * script/parser.y: Grammar fix.
25673
a7bd6915
BC
256742010-03-26 BVK Chaitanya <bvk@localhost>
25675
25676 Blank lines testcase for GRUB script.
25677
25678 * tests/grub_script_blanklines.in: New testcase.
25679 * conf/tests.rmk: Rules for the new testcase.
25680
e4ff6628
VS
256812010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 Don't use __FILE__.
25684
25685 * genmk.rb: Add -DGRUB_FILE to all C targets.
25686 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25687 * include/grub/list.h: Likewise.
25688 * include/grub/misc.h: Likewise.
25689 * include/grub/mm.h: Likewise.
25690 * include/grub/test.h: Likewise.
25691 * kern/mm.c: Likewise.
25692 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25693
6a5cf6b6
VS
256942010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25695
25696 Sunpc partitions support.
25697
25698 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25699 (grub_fstest_SOURCES): Likewise.
25700 (pkglib_MODULES): Add part_sunpc.mod.
25701 (part_sunpc_mod_SOURCES): New variable.
25702 (part_sunpc_mod_CFLAGS): Likewise.
25703 (part_sunpc_mod_LDFLAGS): Likewise.
25704 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25705 * partmap/sunpc.c: New file.
25706
746d9045
BC
257072010-03-26 BVK Chaitanya <bvk@localhost>
25708
25709 For loop support to GRUB script.
25710
25711 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25712 (grub_script_create_cmdfor): New function prototype.
25713 (grub_script_execute_cmdfor): New function prototype.
25714 * script/execute.c (grub_script_execute_cmdfor): New function.
25715 * script/parser.y (command): New for command.
25716 (forcmd): New grammar rule.
25717 * script/script.c (grub_script_create_cmdfor): New function.
25718 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25719 function.
25720 * tests/grub_script_for1.in: New testcase.
25721 * conf/tests.rmk: Rules for new testcase.
25722
18486b18
VS
257232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25724
25725 Nested partitions
25726
25727 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25728 'partition' is NULL, grub_partition_get_start already does that.
25729 * commands/loadenv.c (check_blocklists): Likewise.
25730 (write_blocklists): Likewise.
25731 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25732 (grub_fstest_SOURCES): Likewise.
25733 (pkglib_MODULES): Add part_bsd.mod.
25734 (part_bsd_mod_SOURCES): New variable.
25735 (part_bsd_mod_CFLAGS): Likewise.
25736 (part_bsd_mod_LDFLAGS): Likewise.
25737 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25738 (grub_emu_SOURCES): Likewise.
25739 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25740 * include/grub/bsdlabel.h: New file.
25741 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25742 'get_name'.
25743 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25744 (grub_partition_map_list): New variable.
25745 (grub_partition_map_register): Inline.
25746 (grub_partition_map_unregister): Likewise.
25747 (FOR_PARTITION_MAPS): New macro.
25748 (grub_partition_map_iterate): Removed.
25749 (grub_partition_get_start): Handle nested partitions.
25750 * include/grub/msdos_partition.h: Remove bsd-related entries.
25751 (grub_pc_partition): Remove.
25752 * kern/disk.c (grub_disk_close): Free partition data.
25753 (grub_disk_adjust_range): Handle nested partitions.
25754 * kern/partition.c (grub_partition_map_probe): New function.
25755 (grub_partition_probe): Parse name to number, handle subpartitions.
25756 (get_partmap): New function.
25757 (grub_partition_iterate): Handle subpartitions.
25758 (grub_partition_get_name): Likewise.
25759 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25760 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25761 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25762 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25763 Set 'number'.
25764 (acorn_partition_map_probe): Remove.
25765 (acorn_partition_map_get_name): Likewise.
25766 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25767 Set 'number'.
25768 Set 'index' to 0 since there can be only one partition entry per sector.
25769 (amiga_partition_map_probe): Remove.
25770 (amiga_partition_map_get_name): Likewise.
25771 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25772 Set 'number'.
25773 Set 'offset' and 'index' to real positions of partitions.
25774 (apple_partition_map_probe): Remove.
25775 (apple_partition_map_get_name): Likewise.
25776 * partmap/bsdlabel.c: New file.
25777 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25778 Set 'number'.
25779 Allocate 'data' so it can be correctly freed.
25780 Set 'index' to offset inside sector.
25781 (gpt_partition_map_probe): Remove.
25782 (gpt_partition_map_get_name): Likewise.
25783 * partmap/msdos.c (grub_partition_parse): Remove.
25784 (pc_partition_map_iterate): Don't force raw access.
25785 Set 'number'.
25786 Make 'ext_offset' a local variable.
25787 (pc_partition_map_probe): Remove.
25788 (pc_partition_map_get_name): Remove.
25789 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25790 Set 'number'.
25791 (sun_partition_map_probe): Remove.
25792 (sun_partition_map_get_name): Likewise.
25793 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25794 (grub_pcpart_type): Likewise.
25795 * util/hostdisk.c (open_device): Handle new numbering scheme.
25796 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25797 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25798 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25799 * util/grub-install.in: Insert all subpartition modules.
25800 * util/ieee1275/grub-install.in: Likewise.
25801
a3940f88
AG
258022010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25803
25804 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25805 grammar.
25806
21b99926 258072010-03-24 Colin Watson <cjwatson@ubuntu.com>
25808
25809 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25810
bed1d352
CW
258112010-03-21 Colin Watson <cjwatson@ubuntu.com>
25812
25813 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25814 match where 'make install' puts them.
25815 * util/i386/efi/grub-install.in: Likewise.
25816
c9f58427
CW
258172010-03-19 Colin Watson <cjwatson@ubuntu.com>
25818
25819 * .bzrignore: Add gentrigtables, grub-script-check,
25820 grub_script_check_init.c, grub_script_check_init.h, and
25821 trigtables.c.
25822
f84afb27
VS
258232010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25824
25825 * kern/parser.c: Indented.
25826
ed0e3d30
VS
258272010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25828
25829 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25830
0ea81d98
VS
258312010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25832
25833 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25834 alpha_mask_size == 0 case.
25835
0cdc2a09
BC
258362010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25837
25838 GRUB shell lexer and parser improvements.
25839
25840 * conf/any-emu.rmk: Build rule updates.
25841 * conf/common.rmk: Likewise.
25842 * conf/i386-coreboot.rmk: Likewise.
25843 * conf/i386-efi.rmk: Likewise.
25844 * conf/i386-ieee1275.rmk: Likewise.
25845 * conf/i386-pc.rmk: Likewise.
25846 * conf/powerpc-ieee1275.rmk: Likewise.
25847 * conf/x86_64-efi.rmk: Likewise.
25848
25849 * configure.ac: Configure check for flex.
25850
25851 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25852 types.
25853 (grub_lexer_param): Struct member updates.
25854 (grub_parser_param): Likewise.
25855 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25856 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25857 (grub_script_lexer_init): Prototype update.
25858 (grub_script_lexer_record_start): Likewise.
25859 (grub_script_lexer_record_stop): Likewise.
25860 (grub_script_lexer_yywrap): New function prototype.
25861 (grub_script_lexer_fini): Likewise.
25862 (grub_script_execute_argument_to_string): Removed by...
25863 (grub_script_execute_argument_to_argv): ...better version.
25864
25865 * script/execute.c (ROUND_UPTO): New macro.
25866 (grub_script_execute_cmdline): Out of memory fixes.
25867 (grub_script_execute_menuentry): Likewise.
25868 (grub_script_execute_argument_to_string): Removed. Update all
25869 users by...
25870 (grub_script_execute_argument_to_argv): ...better version.
25871 * script/function.c (grub_script_function_create): Use
25872 grub_script_execute_argument_to_argv instead of
25873 grub_script_execute_argument_to_string.
25874
25875 * script/lexer.c (check_varstate): Removed.
25876 (check_textstate): Removed.
25877 (grub_script_lexer_record_start): Likewise.
25878 (grub_script_lexer_record_stop): Likewise.
25879 (recordchar): Replaced with...
25880 (grub_script_lexer_record): ...new function.
25881 (nextchar): Removed.
25882 (grub_script_lexer_init): Rewritten.
25883 (grub_script_yylex): Rewritten.
25884 (append_newline): New function.
25885 (grub_script_lexer_yywrap): New function.
25886 (grub_script_lexer_fini): New function.
25887 (grub_script_yyerror): Sets error flag.
25888
25889 * script/yylex.l: New file.
25890 (grub_lexer_yyfree): Wrapper for flex yyffre.
25891 (grub_lexer_yyalloc): Likewise.
25892 (grub_lexer_yyrealloc): Likewise.
25893 * script/parser.y: Refactored.
25894
25895 * script/script.c (grub_script_arg_add): Out of memory fixes.
25896 (grub_script_add_arglist): Likewise.
25897 (grub_script_create_cmdline): Likewise.
25898 (grub_script_create_cmdmenu): Likewise.
25899 (grub_script_add_cmd): Likewise.
25900 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25901 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25902 unnecessary code.
25903
25904 * tests/grub_script_echo1.in: New testcase.
25905 * tests/grub_script_vars1.in: New testcase.
25906 * tests/grub_script_echo_keywords.in: New testcase.
25907
1d63a066
VS
259082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25909
25910 Remove some redundancy in build system.
25911
25912 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25913 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25914 (TARGET_LDFLAGS): Add -nostdlib.
25915 (TARGET_IMG_LDFLAGS): Likewise.
25916 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25917 anything since mmap isn't available.
25918 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25919 Add util/time.c.
25920 (pkglib_MODULES): Remove reboot.mod.
25921 (reboot_mod_SOURCES): Removed.
25922 (reboot_mod_CFLAGS): Likewise.
25923 (reboot_mod_LDFLAGS): Likewise.
25924 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25925 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25926 (DEFSYMFILES): Add kernel_syms.lst.
25927 (kernel_img_HEADERS): Add common headers.
25928 (symlist.c): New target.
25929 (kernel_syms.lst): Likewise.
25930 (pkglib_MODULES): Add memdisk.mod.
25931 (memdisk_mod_SOURCES): New variable.
25932 (memdisk_mod_CFLAGS): Likewise.
25933 (memdisk_mod_LDFLAGS): Likewise.
25934 (pkglib_MODULES): Add reboot.mod.
25935 (reboot_mod_SOURCES): New variable.
25936 (reboot_mod_CFLAGS): Likewise.
25937 (reboot_mod_LDFLAGS): Likewise.
25938 (pkglib_MODULES): Add date.mod.
25939 (date_mod_SOURCES): New variable.
25940 (date_mod_CFLAGS): Likewise.
25941 (date_mod_LDFLAGS): Likewise.
25942 (pkglib_MODULES): Add datehook.mod.
25943 (datehook_mod_SOURCES): New variable.
25944 (datehook_mod_CFLAGS): Likewise.
25945 (datehook_mod_LDFLAGS): Likewise.
25946 (pkglib_MODULES): Add lsmmap.mod.
25947 (lsmmap_mod_SOURCES): New variable.
25948 (lsmmap_mod_CFLAGS): Likewise.
25949 (lsmmap_mod_LDFLAGS): Likewise.
25950 (pkglib_MODULES): Add boot.mod.
25951 (boot_mod_SOURCES): New variable.
25952 (boot_mod_CFLAGS): Likewise.
25953 (boot_mod_LDFLAGS): Likewise.
25954 * conf/i386-coreboot.rmk: Removed redundant parts.
25955 * conf/i386-ieee1275.rmk: Likewise.
25956 * conf/i386-pc.rmk: Likewise.
25957 * conf/mips-yeeloong.rmk: Likewise.
25958 * conf/mips.rmk: Likewise.
25959 * conf/powerpc-ieee1275.rmk: Likewise.
25960 * conf/sparc64-ieee1275.rmk: Likewise.
25961 * conf/x86_64-efi.rmk: Likewise.
25962 * conf/i386-coreboot.rmk: Moved qemu parts ..
25963 * conf/i386-qemu.rmk: ... here
25964 * conf/i386-efi.rmk: Moved common parts to...
25965 * conf/x86-efi.rmk: ... here.
25966 * conf/i386.rmk: Added modules common to all x86 variants.
25967 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25968 * disk/memdisk.c: Remove grub/machine/kernel.h.
25969 * gensymlist.sh.in: Include symbol.h.
25970 * hook/datehook.c: Correct module name.
25971 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25972 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25973 * include/grub/i386/efi/serial.h: New file.
25974 * include/grub/x86_64/efi/serial.h: Likewise.
25975 * util/time.c: Likewise.
25976 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25977
463ac55f
CK
259782010-03-14 Colin King <colin.king@ubuntu.com>
259792010-03-14 Colin Watson <cjwatson@ubuntu.com>
25980
25981 Shrink the pre-partition-table part of boot.img by eight bytes.
25982
25983 * boot/i386/pc/boot.S (ERR): New macro.
25984 (chs_mode): Use ERR.
25985 (geometry_error): Likewise.
25986 (hd_probe_error): Remove. This is only used once, so we wrwite
25987 it inline instead.
25988 (read_error): Instead of printing read_error_string, just set up
25989 %si and fall through to ...
25990 (error_message): ... this new function, also used by ERR.
25991
08e46ede
CW
259922010-03-14 Colin Watson <cjwatson@ubuntu.com>
25993
25994 Speed up consecutive hostdisk operations on the same device.
25995
25996 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25997 (grub_util_biosdisk_open): Initialise disk->data.
25998 (struct linux_partition_cache): New structure.
25999 (linux_find_partition): Cache partition start positions; these are
26000 expensive to compute on every read and write.
26001 (open_device): Cache open file descriptor in disk->data, so that we
26002 don't have to reopen it and flush the buffer cache for consecutive
26003 operations on the same device.
26004 (grub_util_biosdisk_close): New function.
26005 (grub_util_biosdisk_dev): Set `close' member.
26006
26007 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26008 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26009 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26010 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26011 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26012
4a6d2d06
VS
260132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26014
26015 Compile parts of grub-emu as modules.
26016
26017 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26018 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26019 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26020 (all-local): Add $(GRUB_EMU).
26021 (install-local): Install $(GRUB_EMU).
26022 (uninstall): Uninstall $(GRUB_EMU).
26023 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26024 * kern/dl.c: Likewise.
26025 * commands/sleep.c: Not include machine/time.h.
26026 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26027 (COMMON_CFLAGS): Likewise.
26028 (sbin_UTILITIES): Remove grub-emu.
26029 (grub_emu_SOURCES): Removed.
26030 (kernel_img_RELOCATABLE): New variable.
26031 (pkglib_PROGRAMS): Add kernel.img.
26032 (kernel_img_SOURCES): New variable
26033 (kernel_img_CFLAGS): Likewise.
26034 (kernel_img_LDFLAGS): Likewise.
26035 (TARGET_NO_STRIP): Likewise.
26036 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26037 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26038 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26039 (grub-emu): New target.
26040 (GRUB_EMU): New variable.
26041 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26042 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26043 * loader/xnu.c: Likewise.
26044 * include/grub/pci.h: Likewise.
26045 * genemuinit.sh: New file.
26046 * genemuinitheader.sh: Likewise.
26047 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26048 Support TARGET_NO_DYNAMIC_MODULES.
26049 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26050 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26051 * disk/loopback.c: Likewise.
26052 * font/font_cmd.c: Likewise.
26053 * partmap/acorn.c: Likewise.
26054 * partmap/amiga.c: Likewise.
26055 * partmap/apple.c: Likewise.
26056 * partmap/gpt.c: Likewise.
26057 * partmap/msdos.c: Likewise.
26058 * partmap/sun.c: Likewise.
26059 * parttool/msdospart.c: Likewise.
26060 * term/gfxterm.c: Likewise.
26061 * video/bitmap.c: Likewise.
26062 * video/readers/jpeg.c: Likewise.
26063 * video/readers/png.c: Likewise.
26064 * video/readers/tga.c: Likewise.
26065 * video/video.c: Likewise.
26066 * util/grub-emu.c (read_command_list): Removed.
26067 (main): Don't call util_init_nls.
26068 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26069 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26070
91fdd2ed
VS
260712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26074 date.mod, datehook.mod.
26075 (datetime_mod_SOURCES): New variable.
26076 (datetime_mod_CFLAGS): Likewise.
26077 (datetime_mod_LDFLAGS): Likewise.
26078 (date_mod_SOURCES): Likewise.
26079 (date_mod_CFLAGS): Likewise.
26080 (date_mod_LDFLAGS): Likewise.
26081 (datehook_mod_SOURCES): Likewise.
26082 (datehook_mod_CFLAGS): Likewise.
26083 (datehook_mod_LDFLAGS): Likewise.
26084 * conf/sparc64-ieee1275.rmk: Likewise.
26085 * lib/ieee1275/datetime.c: New file.
26086
873ccae6
VS
260872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26090 (ieee1275_fb_mod_SOURCES): New variable.
26091 (ieee1275_fb_mod_CFLAGS): Likewise.
26092 (ieee1275_fb_mod_LDFLAGS): Likewise.
26093 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26094 New proto.
26095 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26096 (HEAP_MAX_ADDR): Likewise.
26097 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26098 type.
26099 Correct stop condition.
26100 (grub_ieee1275_devices_iterate): New function.
26101 * video/ieee1275.c: New file.
26102
601c97c0
VS
261032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26104
26105 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26106
26107 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26108 as scratch.
26109 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26110 SCRATCH_PAD_DISKBOOT as scratch.
26111 (bootit): Pass Openfirmware pointer in %o4.
26112 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26113 of 0x200000.
26114 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26115 with util/grub-mkrawimage.c.
26116 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26117 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26118 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26119 (grub_aout_load) [GRUB_UTIL]: Likewise.
26120 * include/grub/kernel.h (grub_modules_get_end): New proto.
26121 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26122 (SCRATCH_PAD_BOOT): New definition.
26123 (SCRATCH_PAD_DISKBOOT): Likewise.
26124 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26125 * include/grub/sparc64/ieee1275/ieee1275.h
26126 (grub_ieee1275_original_stack): New variable
26127 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26128 New definition
26129 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26130 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26131 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26132 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26133 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26134 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26135 (grub_platform_image_format_t): New type.
26136 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26137 * kern/main.c (grub_modules_get_end)
26138 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26139 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26140 (codestart): Switch stacks.
26141 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26142 variable.
26143 (grub_heap_init): Use grub_modules_get_end.
26144 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26145 stack.
26146 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26147 (main): Likewise.
26148 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26149
d68b491e
TG
261502010-03-14 Thorsten Glaser <tg@mirbsd.org>
26151
26152 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26153
4e02ed50
MK
261542010-03-08 Matt Kraai <kraai@ftbfs.org>
26155
26156 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26157 bug #559005).
26158
1f15fc1e
VS
261592010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26160
26161 * genmoddep.awk: Output all missing symbols and not only first.
26162
fce5d8ff
VS
261632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 * NEWS: Put the date of 1.98 release.
26166
d1e8a02f
VS
261672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26170 ft2build.h.
26171
696fd607
VS
261722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26173
26174 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26175 completition in the middle of string.
26176
33e2e6f3
VS
261772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26178
26179 * util/grub-mkrescue.in: Use mktemp with explicit template.
26180
b1f6d291
VS
261812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26184
2ac227c7
VS
261852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26186
26187 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26188 right pointer.
26189
8f9a632b
VS
261902010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26191
26192 Fix FreeBSD compilation.
26193
26194 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26195 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26196
60b03859
VS
261972010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26200
48a5a769
VS
262012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26204
3ab4bd77
VS
262052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26206
26207 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26208
d116e0d8
RM
262092010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 Support relative image path in theme file.
26212
26213 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26214 (image_set_property): Handle theme_dir and relative path.
26215
c7ef54aa
VS
262162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 * configure.ac: Alias amd64 to x86_64.
26219
fcee14ed
VS
262202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26221
26222 * NEWS: mention multiboot on EFI.
26223
d0780363
VS
262242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26225
26226 * kern/main.c (grub_load_modules): Handle errors from init functions of
26227 embeded modules.
26228
41168ea4
VS
262292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26230
26231 * normal/autofs.c (autoload_fs_module): Handle errors.
26232
b54d93ac
VS
262332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26234
26235 Disable linux.mod on qemu-mips since it's not functional and leads
26236 to compilation failure.
26237
26238 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26239 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26240 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26241 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26242 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26243 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26244 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26245 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26246 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26247 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26248 Reported by: BVK Chaitanya
26249
fc8345da
JU
262502010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26251
26252 * INSTALL: Add gettext as a dependency and add qemu to a new section
26253 "Prerequisites for make-check".
26254
4760f979
CF
262552010-03-04 Christian Franke <franke@computer.org>
26256
26257 * util/grub-pe2elf.c: Add missing include "progname.h".
26258
f209b5b2
VS
262592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26260
26261 * normal/crypto.c (read_crypto_list): Fix a typo.
26262 Reported by: Seth Goldberg.
26263
b4b7be98
VS
262642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26267 Reported by: Seth Goldberg.
b4b7be98 26268
c0ee0385
VS
262692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26272 ascii.bitmaps.
26273
a8efbf64
VS
262742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26275
26276 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26277 Reported by: Seth Goldberg.
a8efbf64 26278
08dcd913
VS
262792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 * util/i386/efi/grub-install.in: Copy gettext files.
26282
c4d0b332
VS
262832010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26286
c6f2fe52
VS
262872010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26288
26289 Wait for user entry basing on presence of output rather than on errors.
26290
26291 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26292 (grub_install_newline_hook): Likewise.
26293 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26294 * normal/menu.c (show_menu): Check line_counter to determine presence
26295 of output.
26296 * normal/term.c (grub_normal_line_counter): New variable.
26297 (grub_normal_get_line_counter): New function.
26298 (grub_install_newline_hook): Likewise.
26299
5382b1e4
VS
263002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26303
5519963b
VS
263042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * configure.ac: Update version to 1.98.
26307
72b28631
VS
263082010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26309
26310 * util/grub.d/10_linux.in (linux_entry): Don't default to
26311 gfxpayload=keep if Linux doesn't support video handover.
26312
c140a180
VS
263132010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 Don't compile video modules on yeeloong since video subsystem is part
26316 of kernel.
26317
26318 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26319 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26320 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26321 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26322 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26323 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26324 * include/grub/bitmap_scale.h: Likewise.
26325 * include/grub/bufio.h: Likewise.
26326 * include/grub/font.h: Likewise.
26327 * include/grub/gfxterm.h: Likewise.
26328 * include/grub/video.h: Likewise.
26329 * include/grub/vbe.h: Don't include video_fb.h.
26330 * video/i386/pc/vbe.c: Include video_fb.h.
26331 * commands/i386/pc/vbetest.c: Include video.h.
26332
a0ca21c2
CW
263332010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26334
26335 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26336 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26337 default entry if GRUB_SAVEDEFAULT=true. This allows using
26338 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26339 saving a new default on every boot.
26340
4a8a763c
VS
263412010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26342
26343 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26344 * normal/term.c (read_terminal_list): Likewise.
26345 * normal/main.c (grub_normal_init_page): Likewise.
26346 (grub_normal_read_line_real): Likewise.
26347
607ffde2
VS
263482010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26349
26350 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26351 memory leak.
26352 Reported by: Seth Goldberg.
26353
2b8fa975
CW
263542010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26355
26356 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26357 duplicate declaration of `start'.
26358
618307dd
VS
263592010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26360
26361 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26362 filename.
26363 Reported by: Georgy Buranov
26364
7dd05b96 263652010-02-20 Carles Pina i Estany <carles@pina.cat>
26366
26367 * util/grub-mkrawimage.c (usage): Change string formatting to
26368 improve gettext.
26369
d1484a42
MRA
263702010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26371
26372 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26373 backspace keys.
26374
42b1d186
VS
263752010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26376
26377 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26378 Reported by: Michael Suchanek.
26379
263802010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26381
26382 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26383 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26384
d9f31a41
VS
263852010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26386
26387 Remove any reference to non-free fonts.
26388
26389 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26390 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26391 uses non-free components.
26392 * font/font.c (grub_font_get_name): Remove example name.
26393 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26394 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26395 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26396 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26397
2793c71e
GB
263982010-02-16 Georgy Buranov <gburanov@gmail.com>
26399
26400 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26401
402e3779
VS
264022010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26405 Double divisor.
26406 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26407 features.
26408 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26409
0dd1e0dd
VS
264102010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26411
26412 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26413
6fa7cfce
ST
264142010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26415
26416 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26417 * docs/grub.texi (Command-line and menu entry commands): Document play
26418 command.
26419
37c8483b
ST
264202010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26421
26422 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26423 parse arguments as inline tempo and notes. Move code for playing notes
26424 to...
26425 (play): ... new function.
26426
14da0fb7
ST
264272010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26428
26429 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26430 grub_uint16_t instead of short.
26431 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26432 disk from little endian to cpu endianness.
26433
04459e70
ST
264342010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26435
26436 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26437 GRUB_TICKS_PER_SECOND instead of 120.
26438
a0876943
VS
264392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26440
26441 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26442 escape sequence after \e.
26443
e29f95dc
VS
264442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26447 non-ASCII characters.
26448
d27859b2
VS
264492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26450
26451 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26452 set root in single quotes to prevent \, from being unescaped.
26453
bc028f2f
VS
264542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26455
26456 Prevent unknown commands from stopping menuentry execution.
26457
26458 * script/execute.c (grub_script_execute_cmdline): Print error after
26459 unknown command.
26460
095f5f82
VS
264612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26462
26463 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26464 Reported by: Pavel Pisa.
26465
8c717950
VS
264662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26467
26468 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26469
904935c3
VS
264702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26471
26472 Merge grub_ieee1275_map_physical into grub_map and rename to
26473 grub_ieee1275_map
26474
26475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26476 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26477 Remove.
26478 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26479 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26480 necessary.
26481 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26482
5b59a4e3
VS
264832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26484
26485 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26486 opening and not after.
26487
69e137e8
VS
264882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26489
26490 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26491 constants.
26492
2c0fcc36
VS
264932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26494
26495 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26496 (alloc_phys): Use ALIGN_UP instead of align_addr.
26497
8c6052ce
VS
264982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26501
17cec782
VS
265022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26503
26504 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26505
e0128bbd
VS
265062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26507
26508 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26509 verbose dprintf.
26510
ca62070b
VS
265112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26512
26513 Fix over-4GiB seek on sparc64.
26514
26515 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26516 Replace pos_i and pos_lo with pos. All users updated.
26517 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26518 New constant.
26519 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26520 Likewise.
26521 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26522 and pos_lo.
26523
bdca2607
VS
265242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 * util/grub-mkrawimage.c (main): Call set_program_name.
26527
da278c4d
VS
265282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26529
26530 Properly align 64-bit targets.
26531
26532 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26533 (generate_image): Use ALIGN_ADDR.
26534
b274d734
VS
265352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26536
26537 Properly create cross-endian images.
26538
26539 * include/grub/types.h (grub_host_to_target_addr): New macro
26540 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26541
82da2062
VS
265422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26545
7cae4377
VS
265462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26547
26548 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26549
26550 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26551 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26552 (grub_linux_boot): Divide by 64K when on VESA.
26553
65a533e7
VS
265542010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26555
26556 Support GRUB_GFXPAYLOAD_LINUX.
26557
26558 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26559 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26560
dd01d397
VS
265612010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26562
26563 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26564 to show messages instead of discarding them.
26565 Process errors after executing command and not before. Keep old method
26566 too as precaution.
26567
660960d6
VS
265682010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * configure.ac: Check for ft2build.h.
26571
62509f04
VS
265722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26573
26574 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26575
473df63d
VS
265762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * genkernsyms.sh.in: Use TARGET_CC.
26579
c98d2a13
CW
265802010-02-07 Colin Watson <cjwatson@ubuntu.com>
26581
26582 * NEWS: Update.
26583
6e14234c
VS
265842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26587 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26588 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26589
b255e9cf
YB
265902010-02-07 Yves Blusseau <blusseau@zetam.org>
26591
6e14234c 26592 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26593
98e6959d
VS
265942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26595
26596 Fix warnings in grub-emu when compiling with maximum warning options.
26597
26598 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26599 (grub_arch_modules_addr): Return 0 and not NULL.
26600 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26601 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26602 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26603 of disk to dsk to avoid shadowing.
74e4934e
VS
26604 (find_free_slot): Fix prototype.
26605 * util/getroot.c (grub_util_is_dmraid): Make static.
26606 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26607 Add missing prototype.
26608 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26609
74e31b5c
VS
266102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26611
26612 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26613 appropriately.
26614
6b2ad14b
VS
266152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26618 code out.
26619
8f891adc
VS
266202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26623 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26624 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26625 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26626 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26627 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26628
74b45184
VS
266292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 * include/grub/err.h (grub_err_printf): Don't export.
26632
a4bced77
VS
266332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26636
007d0695
VS
266372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26638
26639 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26640 * kern/misc.c (grub_gettext_dummy): Make static.
26641
b6c0d9c2
VS
266422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26643
26644 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26645 by non-valid ones.
26646 * kern/term.c (grub_putchar): Likewise.
26647
f51a90d0
VS
266482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26651 buggy hook call and memory leak.
26652
6846cec5
VS
266532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26654
26655 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26656
468d69fe
VS
266572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26658
26659 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26660
51906b8c
VS
266612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26664 modevar.
26665 Return grub_errno on allocation error.
26666
09706ce5
VS
266672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26670
911df80c
YB
266712010-02-06 Yves Blusseau <blusseau@zetam.org>
26672
26673 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26674 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26675
3746a6bc
VS
266762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26677
26678 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26679 non-pxe disk.
26680 (grub_pxefs_open): Likewise.
26681
09706ce5
VS
266822010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26683
26684 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26685 * util/grub.d/10_kfreebsd.in: Likewise.
26686 * util/grub.d/10_linux.in: Likewise.
26687
7cc192d9
VS
266882010-02-06 Colin D Bennett <colin@gibibit.com>
26689
26690 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26691 (gfxmenu_mod_SOURCES): New variable.
26692 (gfxmenu_mod_CFLAGS): Likewise.
26693 (gfxmenu_mod_LDFLAGS): Likewise.
26694 * include/grub/term.h (grub_term_set_current_output): Declare
26695 argument as const.
26696 * docs/gfxmenu-theme-example.txt: New file.
26697 * gfxmenu/gfxmenu.c: Likewise.
26698 * gfxmenu/gui_box.c: Likewise.
26699 * gfxmenu/gui_canvas.c: Likewise.
26700 * gfxmenu/gui_circular_progress.c: Likewise.
26701 * gfxmenu/gui_image.c: Likewise.
26702 * gfxmenu/gui_label.c: Likewise.
26703 * gfxmenu/gui_list.c: Likewise.
26704 * gfxmenu/gui_progress_bar.c: Likewise.
26705 * gfxmenu/gui_string_util.c: Likewise.
26706 * gfxmenu/gui_util.c: Likewise.
26707 * gfxmenu/icon_manager.c: Likewise.
26708 * gfxmenu/model.c: Likewise.
26709 * gfxmenu/named_colors.c: Likewise.
26710 * gfxmenu/theme_loader.c: Likewise.
26711 * gfxmenu/view.c: Likewise.
26712 * gfxmenu/widget-box.c: Likewise.
26713 * include/grub/gfxmenu_model.h: Likewise.
26714 * include/grub/gfxmenu_view.h: Likewise.
26715 * include/grub/gfxwidgets.h: Likewise.
26716 * include/grub/gui.h: Likewise.
26717 * include/grub/gui_string_util.h: Likewise.
26718 * include/grub/icon_manager.h: Likewise.
26719
267202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26721
26722 Agglomerate scrolling in gfxterm.
26723
26724 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26725 (grub_virtual_screen_setup): Initialise 'total_screen'.
26726 (write_char): Split to ...
26727 (paint_char): ... this ...
26728 (write_char): ... and this.
26729 (paint_char): Handle delayed scrolling.
26730 (draw_cursor): Likewise.
26731 (scroll_up): Split to ...
26732 (real_scroll): ... this ...
26733 (scroll_up): ... and this.
26734 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26735 characters.
26736 (grub_gfxterm_refresh): Call real_scroll.
26737
267382010-02-06 Colin D Bennett <colin@gibibit.com>
26739
26740 * include/grub/misc.h (grub_iscntrl): New inline function.
26741 (grub_isalnum): Likewise.
26742 (grub_strtol): Likewise.
26743
267442010-02-06 Colin D Bennett <colin@gibibit.com>
26745
26746 * normal/menu_text.c (get_entry_number): Move from here ...
26747 * normal/menu.c (get_entry_number): ... moved here.
26748 * include/grub/menu.h (grub_menu_get_default_entry_index):
26749 New prototype.
26750 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26751 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26752 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26753 (grub_menu_viewer_should_return): Likewise.
26754 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26755 * normal/menu_text.c (run_menu): Enable menu switching.
26756 * normal/menu_viewer.c (should_return): New variable.
26757 (menu_viewer_changed): Likewise.
26758 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26759 (grub_menu_viewer_should_return): New function.
26760 (menuviewer_write_hook): Likewise.
26761 (grub_menu_viewer_init): Likewise.
26762
267632010-02-06 Colin D Bennet <colin@gibibit.com>
267642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26765
26766 Support for gfxterm in a window.
26767
26768 * include/grub/gfxterm.h: New file.
26769 * include/grub/video.h (struct grub_video_rect): New declaration.
26770 (grub_video_rect_t): Likewise.
26771 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26772 (refcount): New variable.
26773 (render_target): Likewise.
26774 (window): Likewise.
26775 (repaint_callback): Likewise.
26776 (grub_virtual_screen_setup): Use 'render_target'.
26777 (init_window): New function.
26778 (grub_gfxterm_init_window): Likewise.
26779 (grub_gfxterm_init): Check reference counter.
26780 Use init_window.
26781 (destroy_window): New function.
26782 (grub_gfxterm_destroy_window): Likewise.
26783 (grub_gfxterm_fini): Check reference counter.
26784 Use destroy_window.
26785 (redraw_screen_rect): Restore viewport.
26786 Use 'render_target' and 'window'.
26787 Call 'repaint_callback'.
26788 (write_char): Use 'render_target'.
26789 (draw_cursor): Likewise.
26790 (scroll_up): Restore viewport.
26791 Use 'render_target' and 'window'.
26792 Call 'repaint_callback'.
26793 (grub_gfxterm_cls): Likewise.
26794 (grub_gfxterm_refresh): Use 'window'.
26795 (grub_gfxterm_set_repaint_callback): New function.
26796 (grub_gfxterm_background_image_cmd): Use 'window'.
26797 (grub_gfxterm_get_term): New function.
26798 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26799
268002010-02-06 Colin D Bennett <colin@gibibit.com>
26801
26802 Bitmap scaling support.
26803
26804 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26805 (bitmap_scale_mod_SOURCES): New variable.
26806 (bitmap_scale_mod_CFLAGS): Likewise.
26807 (bitmap_scale_mod_LDFLAGS): Likewise.
26808 * include/grub/bitmap_scale.h: New file.
26809 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26810 (background_image_cmd_options): New variable.
26811 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26812 (cmd): Rename and change type to ...
26813 (background_image_cmd_handle): ... this. All users updated.
26814 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26815 * video/bitmap_scale.c: New file.
26816
268172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 SDL support.
26820
26821 * Makefile.in (LIBSDL): New variable.
26822 (enable_grub_emu_sdl): Likewise.
26823 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26824 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26825 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26826 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26827 * util/sdl.c: New file.
26828
268292010-02-06 Colin D Bennett <colin@gibibit.com>
268302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Double buffering support.
26833
26834 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26835 * include/grub/video.h: Update comment.
26836 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26837 New type.
26838 (grub_video_fb_doublebuf_blit_init): New prototype.
26839 * term/gfxterm.c (scroll_up): Support double buffering.
26840 (grub_gfxterm_refresh): Likewise.
26841 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26842 (grub_video_fb_doublebuf_blit_init): Likewise.
26843 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26844 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26845 'displayed_page', 'render_page' and 'update_screen'.
26846 (grub_video_vbe_fini): Free offscreen buffer.
26847 (doublebuf_pageflipping_commit): New function.
26848 (doublebuf_pageflipping_update_screen): Likewise.
26849 (doublebuf_pageflipping_init): Likewise.
26850 (double_buffering_init): Likewise.
26851 (grub_video_vbe_setup): Enable doublebuffering.
26852 (grub_video_vbe_swap_buffers): Implement.
26853 (grub_video_vbe_set_active_render_target): Handle double buffering.
26854 (grub_video_vbe_get_active_render_target): Likewise.
26855 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26856 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26857 (grub_video_vbe_enable_double_buffering): Likewise.
26858 (grub_video_vbe_swap_buffers): Use update_screen.
26859 (grub_video_set_mode): Use double buffering.
26860
268612010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * maintainance/gentrigtables.py: Remove.
26864 * lib/trig.c: Likewise.
26865
26866 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26867
26868 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26869 `trigtables.c'.
26870 (trigtables.c): New rule.
26871 (gentrigtables): Likewise.
26872 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26873
268742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26875
26876 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26877 integer constants.
26878
268792010-02-06 Colin D Bennet <colin@gibibit.com>
26880
26881 Trigonometry support.
26882
26883 * include/grub/trig.h: New file.
26884 * lib/trig.c: Likewise.
26885 * maintainance/gentrigtables.py: Likewise.
26886 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26887 (trig_mod_SOURCES): New variable.
26888 (trig_mod_CFLAGS): Likewise.
26889 (trig_mod_LDFLAGS): Likewise.
26890
5562834e
VS
268912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26892
26893 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26894 disk devices.
26895
4f8528fc
VS
268962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26897
26898 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26899 error.
26900
2b4068e9
VS
269012010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26902
26903 * util/hostdisk.c (open_device): Don't use partition device when reading
26904 before the partition.
26905 (grub_util_biosdisk_read): Don't read from partition and before the
26906 partition in single operation.
26907 (grub_util_biosdisk_write): Don't write to partition and before the
26908 partition in single operation.
26909
399f6e4d
TL
269102010-02-03 Torsten Landschoff <torsten@debian.org>
26911
26912 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26913 last sectors.
26914
996649b0
VS
269152010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26918 CDROM reads.
26919 (grub_biosdisk_write): Refuse to write to CDROM.
26920
3b205d4d
VS
269212010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26924
61e89d9d
VS
269252010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 * font/font.c (find_glyph): Check that bmp_idx is available before
26928 using it.
26929 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26930 with (font == NULL).
26931
bf7fcba2
CS
269322010-01-28 Christian Schmitt <chris@ilovelinux.de>
26933
26934 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26935
f45d2663
BC
269362010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26937
26938 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26939 * util/grub-script-check.c (getline): Fix empty lines case.
26940
ec1444e6
RM
269412010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26942
26943 * Makefile.in (check): Exit with fail status when one of the tests
26944 fails.
26945 * tests/example_functional_test.c (example_test): Fix reversed assert.
26946 * tests/example_unit_test.c (example_test): Likewise.
26947
2e1cb9bb
CW
269482010-01-28 Colin Watson <cjwatson@ubuntu.com>
26949
26950 * util/grub.d/10_linux.in: This script does not use any of the
26951 contents of gettext.sh, only the external command `gettext', so stop
26952 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26953 the same prefix as GRUB.)
26954 * util/grub.d/10_kfreebsd.in: Likewise.
26955
63533ab0
VS
269562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26959 of the line.
26960
989e1f93
VS
269612010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26962
26963 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26964 last sectors.
26965
e709ebe2
VS
269662010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26967
26968 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26969 having a 4KiB and not 32KiB buffer size.
26970
27dea7ed
RM
269712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26972
26973 * util/hostfs.c: Include `<errno.h>'.
26974 (grub_hostfs_read): Handle errors from fseeko() and fread().
26975
67667b9c
RM
269762010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26977
26978 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26979 loop when using read hooks on files whose size isn't sector-aligned.
26980
c294d9d8
RM
269812010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26982
26983 Remove unused parameter.
26984
26985 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26986 (grub_iso9660_open): Remove initialization of `data->length'.
26987
af75a9f1
RM
269882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26989
26990 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26991 memleak conditions.
26992
254e2ce5 269932010-01-27 Carles Pina i Estany <carles@pina.cat>
26994
26995 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26996 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26997
b510928c 269982010-01-26 Carles Pina i Estany <carles@pina.cat>
26999
27000 * util/bin2h.c (usage): Fix warning (space after backslash).
27001
aa2f9dd2 270022010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27003
27004 * font/font.c: Include `grub/fontformat.h.
27005 Remove font file format constants.
27006 (grub_font_load): Use the new macros.
27007 * include/grub/fontformat.h: New file.
27008 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27009 (write_font_pf2): Use the new macros.
27010
94e7e712
RM
270112010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27014 does.
27015
3973a59a
RM
270162010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27017
27018 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27019
27020 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27021 (_start): Macroify `0x7F'.
27022
27023 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27024 (make_install_device): Use "(pxe)" as fallback prefix when booting
27025 via PXE.
27026
42e0cba3
GS
270272010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 * configure.ac: Reset LIBS after check for libgcc symbols.
27030
847effd8
CW
270312010-01-25 Colin Watson <cjwatson@ubuntu.com>
27032
27033 * util/hostdisk.c (open_device): Add trailing newline to debug
27034 message.
27035
ea4a7e35
GS
270362010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27037
27038 * configure.ac: Check for `limits.h'.
27039 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27040
67951a53
RM
270412010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27042
27043 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27044 capitalize error strings.
27045
c273d4ce
ST
270462010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27047
27048 * util/grub.d/10_hurd.in: Add a recovery mode.
27049
69be5b74
VS
270502010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 * configure.ac: Check for libgcc symbols with -nostdlib.
27053
fc9e5810
BC
270542010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27055
27056 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27057
4b358c0a
VS
270582010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27059
27060 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27061 stack since heap may be unavailable at that point.
27062 (grub_ofconsole_gotoxy): Likewise.
27063
454fcd1c
VS
270642010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 * configure.ac: Check for _restgpr_14_x.
27067 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27068 and _savegpr_* prototypes.
27069
566863ca
RM
270702010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 Use generic grub_reboot() for i386-efi.
27073
27074 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27075 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27076 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27077
bf86e59a
VS
270782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27079
27080 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27081 presence of "prefix" variable as it breaks when normal.mod is
27082 embedded.
27083
d645e0f8
VS
270842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27087 stack since heap is unavailable at that point.
27088
f9ab2e25
VS
270892010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27092 (grub_freebsd_bootinfo): Rewritten.
27093 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27094
01fc7054
VS
270952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27096
27097 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27098
caab4fd6
RM
270992010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27100
27101 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27102 domain now.
27103
67eb1427
FZ
271042010-01-20 Felix Zielcke <fzielcke@z-51.de>
27105
27106 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27107 around for handling "/" to the correct fix. Fix a memory leak. Use
27108 xstrdup instead of strdup.
27109
a9ed4ff3
VS
271102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27111
27112 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27113
271142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27115
27116 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27117
27118 * font/font.c (struct grub_font): New member 'bmp_idx'.
27119 (font_init): Initialise 'bmp_idx'.
27120 (load_font_index): Fill 'bmp_idx'.
27121 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27122
48209f4f
VS
271232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27124
27125 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27126 unnecessary calls.
27127
9f0a4bb7
VS
271282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27129
27130 Move context handling out of the kernel.
27131
27132 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27133 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27134 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27135 * conf/i386-efi.rmk: Likewise.
27136 * conf/i386-ieee1275.rmk: Likewise.
27137 * conf/i386-pc.rmk: Likewise.
27138 * conf/powerpc-ieee1275.rmk: Likewise.
27139 * conf/sparc64-ieee1275.rmk: Likewise.
27140 * conf/x86_64-efi.rmk: Likewise.
27141 * include/grub/env.h: Include grub/menu.h.
27142 (grub_env_var_type): Removed.
27143 (grub_env_var): Replaced field 'type' with 'global'.
27144 (grub_env_find): New prototype.
27145 (grub_env_context_open): Remove EXPORT_FUNC.
27146 (grub_env_context_close): Likewise.
27147 (grub_env_export): Likewise.
27148 (grub_env_set_data_slot): Removed.
27149 (grub_env_get_data_slot): Likewise.
27150 (grub_env_unset_data_slot): Likewise.
27151 (grub_env_unset_menu): New prototype.
27152 (grub_env_set_menu): Likewise.
27153 (grub_env_get_menu): Likewise.
27154 * include/grub/env_private.h: New file.
27155 * include/grub/normal.h (grub_context_init): New prototype.
27156 (grub_context_fini): Likewise.
27157 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27158 * normal/context.c (grub_cmd_export): ... to here.
27159 * kern/env.c: Include env_private.h.
27160 (HASHSZ): Moved to include/grub/env_private.h.
27161 (grub_env_context): Likewise.
27162 (grub_env_sorted_var): Likewise.
27163 (current_context): Renamed from this ...
27164 (grub_current_context): ...to this. 'static' removed. All users updated.
27165 (grub_env_find): Removed 'static'.
27166 (grub_env_context_open): Moved to normal/context.c.
27167 (grub_env_context_close): Likewise.
27168 (grub_env_export): Likewise.
27169 (mangle_data_slot_name): Removed.
27170 (grub_env_set_data_slot): Likewise.
27171 (grub_env_get_data_slot): Likewise.
27172 (grub_env_unset_data_slot): Likewise.
27173 * kern/main.c (grub_set_root_dev): Don't export root.
27174 It will be done later.
27175 (grub_main): Don't export prefix.
27176 It will be done later.
27177 * normal/context.c: New file.
27178 * normal/main.c (free_menu): Use grub_env_unset_menu.
27179 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27180 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27181 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27182 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27183
8dd35b8c
VS
271842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27185
27186 setpci support.
27187
27188 * commands/setpci.c: New file.
27189 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27190 (setpci_mod_SOURCES): New variable.
27191 (setpci_mod_CFLAGS): Likewise.
27192 (setpci_mod_LDFLAGS): Likewise.
27193
449193d5
VS
271942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 Byte-addressable PCI configuration space.
27197
27198 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27199 dword address.
27200 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27201 GRUB_PCI_REG_CACHELINE.
27202 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27203 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27204 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27205 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27206 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27207 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27208 grub_pci_make_address.
27209 (lock_rom_area): Likewise.
27210 * commands/lspci.c (grub_lspci_iter): Use macroses
27211 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27212 of grub_pci_make_address.
27213 * disk/ata.c (grub_ata_pciinit): Likewise.
27214 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27215 (GRUB_PCI_REG_VENDOR): Likewise.
27216 (GRUB_PCI_REG_DEVICE): Likewise.
27217 (GRUB_PCI_REG_COMMAND): Likewise.
27218 (GRUB_PCI_REG_STATUS): Likewise.
27219 (GRUB_PCI_REG_REVISION): Likewise.
27220 (GRUB_PCI_REG_CLASS): Likewise.
27221 (GRUB_PCI_REG_CACHELINE): Likewise.
27222 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27223 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27224 (GRUB_PCI_REG_BIST): Likewise.
27225 (GRUB_PCI_REG_ADDRESSES): Likewise.
27226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27227 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27228 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27229 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27230 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27231 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27232 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27233 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27234 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27235 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27236 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27237 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27238 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27239 (GRUB_PCI_REG_MIN_GNT): Likewise.
27240 (GRUB_PCI_REG_MAX_LAT): Likewise.
27241 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27242 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27243 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27244 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27245 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27246 space.
27247
96d73208
RM
272482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27249
27250 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27251 can be reliably determined to be supported.
27252
d4484482
RM
272532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27256 that VESA is supported.
27257 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27258 supported.
27259
00308ecf
VS
272602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27263
f66924a4
RM
272642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27265
27266 * util/misc.c (make_system_path_relative_to_its_root): Work around
27267 special-casing of "/", as previous incarnation of this routine did.
27268
cbca0ada
VS
272692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27270
27271 Fix any-emu compilation.
27272
27273 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27274 * grub_bin2h_SOURCES: New variable.
27275
34a66d99
RM
272762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27277
27278 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27279
94fabf58
RM
272802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27281
27282 * util/grub.d/00_header.in: Fix handling of locale_dir.
27283
02cf98ca
VS
272842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27285
27286 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27287 as possible unifont location (Gentoo).
27288 Reported by: Alexander Brüning
27289
327dbcd7
VS
272902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 Don't try to generate lists for kernel.img.
27293
27294 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27295 (pkglib_MODULES): Remove kernel.img.
27296 (kernel_img_EXPORTS): Removed.
27297 (kernel_img_RELOCATABLE): New variable.
27298 * conf/x86_64-efi.rmk: Likewise.
27299 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27300
ca467290
VS
273012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27302
27303 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27304 grub_xasprintf or grub_snprintf.
27305 (grub_vsprintf): Likewise.
27306 (grub_snprintf): New proto.
27307 (grub_vsnprintf): Likewise.
27308 (grub_xasprintf): Likewise.
27309 (grub_xvasprintf): Likewise.
27310 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27311 (grub_sprintf): Removed.
27312 (grub_vsnprintf): New function.
27313 (grub_snprintf): Likewise.
27314 (grub_xvasprintf): Likewise.
27315 (grub_xasprintf): Likewise.
27316 (grub_vsprintf): Renamed to ...
27317 (grub_vsnprintf_real): ...this. New argument max_len.
27318
aca655fd
BC
273192010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27320
27321 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27322 fix grub-script-check warning.
27323
7ee92c32
VS
273242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 * include/grub/font.h (grub_font_load): Fix prototype.
27327
f80927ca
VS
273282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27331
119c50ea
VS
273322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 * include/grub/x86_64/at_keyboard.h: New file.
27335
47d5f3c1
VS
273362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27337
27338 * loader/mips/linux.c: Include missing grub/i18n.h.
27339
55ff5266
RM
273402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * normal/menu.c (notify_execution_failure): Clarify error message.
27343
c893cc87
RM
273442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27345
27346 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27347 return value (and revert all return statements). Update users.
27348
917dd370
CW
273492010-01-20 Dan Merillat <debian@dan.merillat.org>
27350
27351 * kern/device.c (grub_device_iterate): Allocate new part_ent
27352 structure based on sizeof (*p) rather than sizeof (p->next), to
27353 account for structure padding.
27354
27355 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27356 disk is NULL, which might happen for LVM physical volumes with no
27357 LVM signature.
27358
d4a4ee57
RM
273592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27360
27361 * loader/mips/linux.c (grub_cmd_initrd)
27362 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27363
273642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27365
27366 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27367 (grub_video_video_init, grub_video_bitmap_init)
27368 (grub_font_manager_init, grub_term_gfxterm_init)
27369 (grub_at_keyboard_init): New extern declarations.
27370 (grub_machine_init): Initialize gfxterm and at_keyboard.
27371
27372 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27373
27374 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27375 `gfxterm.mod' into core image.
27376
27377 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27378 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27379 (kernel_img_FORMAT): Copy to ...
27380
27381 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27382 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27383 (kernel_img_FORMAT): ... here, and ...
27384
27385 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27386 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27387 (kernel_img_FORMAT): ... here.
27388
27389 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27390 and input (at_keyboard) terminals in kernel.
27391 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27392
27393 (pkglib_MODULES): Remove `pci.mod'.
27394 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27395 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27396 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27397 (at_keyboard_mod_LDFLAGS): Remove variables.
27398
273992010-01-11 Felix Zielcke <fzielcke@z-51.de>
27400
27401 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27402
274032009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27404
27405 * include/grub/mips/libgcc.h: Only export symbols for functions
27406 that libgcc provides.
27407
274082009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 MIPS support.
27411
27412 * bus/bonito.c: New file.
27413 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27414 GRUB_PCI_NUM_DEVICES.
27415 * term/i386/pc/serial.c: Move to ...
27416 * term/serial.c: ... here. All users updated.
27417 * util/i386/pc/grub-mkimage.c: Move to ...
27418 * util/grub-mkrawimage.c: ... here. All users updated.
27419 * term/i386/pc/at_keyboard.c: Move to ...
27420 * term/at_keyboard.c: ... here. All users updated.
27421 * conf/mips-qemu-mips.rmk: New file.
27422 * conf/mips-yeeloong.rmk: Likewise.
27423 * conf/mips.rmk: Likewise.
27424 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27425 mipsel-qemu-mips.
27426 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27427 to port addresses.
27428 (grub_ata_pciinit): Support CS5536.
27429 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27430 * font/font_cmd.c (loadfont_command): Open file before passing it to
27431 grub_font_load.
27432 (pseudo_file_read): New function.
27433 (pseudo_file_close): Likewise.
27434 (pseudo_fs): New structure.
27435 (load_font_module): New function.
27436 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27437 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27438 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27439 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27440 * include/grub/i386/at_keyboard.h: Split into ...
27441 * include/grub/at_keyboard.h: ... this ...
27442 * include/grub/i386/at_keyboard.h: ... and this.
27443 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27444 New prototype.
27445 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27446 updated.
27447 (grub_elf64_size): Likewise.
27448 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27449 filename.
27450 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27451 * include/grub/i386/coreboot/serial.h: Rewritten.
27452 * include/grub/i386/ieee1275/serial.h: Include
27453 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27454 * include/grub/i386/pc/serial.h: Moved from here ...
27455 * include/grub/serial.h: ... to here. All users updated.
27456 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27457 (GRUB_PCI_NUM_BUS): Likewise.
27458 (GRUB_PCI_NUM_DEVICES): Likewise.
27459 (grub_pci_device_map_range): Add missing volatile keyword.
27460 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27461 * include/grub/mips/at_keyboard.h: New file.
27462 * include/grub/mips/cache.h: Likewise.
27463 * include/grub/mips/io.h: Likewise.
27464 * include/grub/mips/kernel.h: Likewise.
27465 * include/grub/mips/libgcc.h: Likewise.
27466 * include/grub/mips/pci.h: Likewise.
27467 * include/grub/mips/qemu-mips/boot.h: Likewise.
27468 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27469 * include/grub/mips/qemu-mips/loader.h: Likewise.
27470 * include/grub/mips/qemu-mips/memory.h: Likewise.
27471 * include/grub/mips/qemu-mips/serial.h: Likewise.
27472 * include/grub/mips/qemu-mips/time.h: Likewise.
27473 * include/grub/mips/relocator.h: Likewise.
27474 * include/grub/mips/time.h: Likewise.
27475 * include/grub/mips/types.h: Likewise.
27476 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27477 * include/grub/mips/yeeloong/boot.h: Likewise.
27478 * include/grub/mips/yeeloong/kernel.h: Likewise.
27479 * include/grub/mips/yeeloong/loader.h: Likewise.
27480 * include/grub/mips/yeeloong/memory.h: Likewise.
27481 * include/grub/mips/yeeloong/pci.h: Likewise.
27482 * include/grub/mips/yeeloong/serial.h: Likewise.
27483 * include/grub/mips/yeeloong/time.h: Likewise.
27484 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27485 * kern/elf.c (grub_elf32_size): New parameter. All users
27486 updated.
27487 (grub_elf64_size): Likewise.
27488 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27489 Load modules before saying "Welcome to GRUB!".
27490 Call grub_refresh after saying "Welcome to GRUB!".
27491 * kern/mips/cache.S: New file.
27492 * kern/mips/cache_flush.S: Likewise.
27493 * kern/mips/dl.c: Likewise.
27494 * kern/mips/init.c: Likewise.
27495 * kern/mips/qemu-mips/init.c: Likewise.
27496 * kern/mips/startup.S: Likewise.
27497 * kern/mips/yeeloong/init.c: Likewise.
27498 * kern/term.c (grub_putcode): Handle NULL terminal.
27499 (grub_getcharwidth): Likewise.
27500 (grub_getkey): Likewise.
27501 (grub_checkkey): Likewise.
27502 (grub_getkeystatus): Likewise.
27503 (grub_getxy): Likewise.
27504 (grub_getwh): Likewise.
27505 (grub_gotoxy): Likewise.
27506 (grub_cls): Likewise.
27507 (grub_setcolorstate): Likewise.
27508 (grub_setcolor): Likewise.
27509 (grub_getcolor): Likewise.
27510 (grub_refresh): Likewise.
27511 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27512 (write_jump): Add hatch nop.
27513 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27514 * lib/mips/setjmp.S: New file.
27515 * loader/mips/linux.c: Likewise.
27516 * term/i386/pc/at_keyboard.c: Move from here ...
27517 * term/at_keyboard.c: ... to here.
27518 * term/i386/pc/serial.c: Moved from here ...
27519 * term/serial.c: ... to here. All users updated.
27520 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27521 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27522 (serial_translate_key_sequence): Avoid deadlock.
27523 (grub_serial_getkey): Handle backspace.
27524 (grub_serial_putchar): Fix newline handling.
27525 * util/i386/pc/grub-mkimage.c: Move from here ...
27526 * util/grub-mkrawimage.c: ... to here. All users updated.
27527 (generate_image): New parameters 'font_path' and 'format'.
27528 Support embedding font.
27529 Use grub_host_to_target* instead of grub_cpu_to_le*.
27530 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27531 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27532 (options): New option "--font".
27533 (usage): Likewise.
27534 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27535 (main): Handle "--font".
27536 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27537 (grub_virtual_screen_setup): Set bg_color_display.
27538 (redraw_screen_rect): Use bg_color_display instead of incorrect
27539 bg_color.
27540 (grub_gfxterm_cls): Likewise.
27541 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27542 Support embedding config file.
27543 (add_segments): Likewise.
27544 (options): New option "--config".
27545 (main): Handle "--config".
27546 * video/sm712.c: New file.
27547
25c2b5b3
RM
275482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27549
27550 Fix parallel builds.
27551
27552 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27553 font.c depend on ascii.h).
27554
275552010-01-12 Carles Pina i Estany <carles@pina.cat>
27556
27557 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27558
275592010-01-11 Carles Pina i Estany <carles@pina.cat>
27560
27561 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27562 By default: disabled.
27563 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27564 parameter.
27565
275662010-01-10 Carles Pina i Estany <carles@pina.cat>
27567
27568 * font/font.c: Update copyright years.
27569 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27570
275712010-01-10 Carles Pina i Estany <carles@pina.cat>
27572
27573 * font/font.c: Include `ascii.h'.
27574 (ASCII_BITMAP_SIZE): New macro.
27575 (ascii_font_glyph): Define.
27576 (ascii_glyph_lookup): New function.
27577 (grub_font_get_string_width): Change comment. If glyph not found, use
27578 ascii_glyph_lookup.
27579 (grub_font_get_glyph_with_fallback): If glyph not available returns
27580 ascii_glyph_lookup.
27581 * util/grub-mkfont.c (file_formats): New enum.
27582 (options): Add `ascii-bitmaps' new option.
27583 (usage): Add `asii-bitmaps' new option.
27584 (write_font_ascii_bitmap): New function.
27585 (write_font): Rename to ...
27586 (write_font_p2): ... this. Remove print_glyphs call.
27587 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27588 used. Call print_glyphs.
27589 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27590
275912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27592
27593 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27594 (grub_bin2h_SOURCES): New variable.
27595 * util/bin2h.c: New file.
27596
915fc1b8
VS
275972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27598
27599 * include/multiboot.h: Resynced with spec.
27600 * include/multiboot2.h: Likewise.
27601 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27602 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27603
9444b678
RM
276042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27605
27606 * include/grub/term.h (grub_term_register_input,
27607 grub_term_register_output): Check return of terminal init()
27608 routines, and abort if errors are raised.
27609
27610 * commands/terminal.c: Update copyright year.
27611
cba98e8d
RM
276122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27613
27614 * commands/terminal.c (grub_cmd_terminal_input)
27615 (grub_cmd_terminal_output): Check return of terminal init()
27616 routines, and abort if errors are raised.
27617
6f7db5d6
VS
276182010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 * include/grub/i386/bsd.h: Fix include pathes.
27621
262bff8d
VS
276222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 Add missing *BSD copyright headers.
27625
27626 * include/grub/aout.h: Add BSD licence.
27627 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27628 * include/grub/i386/freebsd_linker.h: ... here,
27629 * include/grub/i386/freebsd_reboot.h: ... here,
27630 * include/grub/i386/netbsd_bootinfo.h: ... here,
27631 * include/grub/i386/netbsd_reboot.h: ... here,
27632 * include/grub/i386/openbsd_bootarg.h: ... here,
27633 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27634 licence to each file.
27635
b2cab848
RM
276362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 * acinclude.m4: Remove `nop' assembly instruction; it's not
27639 implemented by all architectures.
27640
2cb6be4b
RM
276412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27642
27643 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27644 ELILO. This is no longer necessary.
27645
a2eaee15
BC
276462010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27647
27648 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27649
27650 * util/grub-script-check.c: grub-script-check tool.
27651 * conf/common.rmk: Make rules for grub-script-check.
27652
88d17012
RM
276532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27654
27655 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27656 spotting it back in 2008. Shame on me for forgetting he did.
27657
27658 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27659
8040619d
RM
276602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27661
27662 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27663 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27664 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27665 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27666 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27667 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27668
a0c2a0f6
RM
276692010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * include/grub/test.h: Add license header.
27672 * tests/example_functional_test.c: Likewise.
27673 * tests/example_unit_test.c: Likewise.
27674 * tests/lib/functional_test.c: Likewise.
27675 * tests/lib/test.c: Likewise.
27676 * tests/lib/unit_test.c: Likewise.
27677
b0b13907
VS
276782010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27679
27680 Use flag-based instead of hook-based video mode selection and "auto"
27681 keyword.
27682
27683 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27684 (grub_video_set_mode): Changed prototype. All users updated.
27685 (grub_video_check_mode_flag): New inline function.
27686 * video/video.c (parse_modespec): New function.
27687 (grub_video_set_mode): Parse flags and keywords.
27688
ea379330 276892010-01-17 Carles Pina i Estany <carles@pina.cat>
27690
27691 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27692 fprintf call.
27693
e15c215e
FZ
276942010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27695
27696 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27697
409ae1c9 276982010-01-16 Carles Pina i Estany <carles@pina.cat>
27699
27700 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27701 string.
27702 * util/grub-emu.c (usage): Likewise.
27703 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27704 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27705 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27706 * util/i386/pc/grub-setup.c (usage): Likewise.
27707
70a14d3d 277082010-01-16 Carles Pina i Estany <carles@pina.cat>
27709
27710 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27711 the message.
27712 (grub_util_info): Likewise.
27713 (grub_util_error): Likewise.
27714 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27715 and/or new lines in `grub_util_warna', `grub_util_info',
27716 `grub_util_error' calls.
27717 * util/getroot.c: Likewise.
27718 * util/grub-editenv.c: Likewise.
27719 * util/grub-emu.c: Likewise.
27720 * util/grub-fstest.c: Likewise.
27721 * util/grub-mkdevicemap.c: Likewise.
27722 * util/grub-mkfont.c: Likewise.
27723 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27724 * util/grub-mkrelpath.c: Likewise.
27725 * util/grub-pe2elf.c: Likewise.
27726 * util/grub-probe.c: Likewise.
27727 * util/hostdisk.c: Likewise.
27728 * util/i386/efi/grub-mkimage.c: Likewise.
27729 * util/i386/pc/grub-mkimage.c: Likewise.
27730 * util/i386/pc/grub-setup.c: Likewise.
27731 * util/ieee1275/ofpath.c: Likewise.
27732 * util/mkisofs/eltorito.c: Likewise.
27733 * util/mkisofs/rock.c: Likewise.
27734 * util/mkisofs/write.c: Likewise.
27735 * util/raid.c: Likewise.
27736 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27737 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27738
a0b766fc
VS
277392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27740
27741 Enable multiboot on non-pc.
27742
27743 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27744 multiboot.mod and multiboot2.mod to ...
27745 * conf/i386.rmk (pkglib_MODULES): ... here.
27746 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27747 Moved to ...
27748 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27749 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27750 Moved to ...
27751 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27752 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27753 Moved to ...
27754 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27755 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27756 Moved to ...
27757 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27758 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27759 relocator.mod.
27760 (ata_mod_SOURCES): Removed.
27761 (ata_mod_CFLAGS): Likewise.
27762 (ata_mod_LDFLAGS): Likewise.
27763 (relocator_mod_SOURCES): Removed.
27764 (relocator_mod_CFLAGS): Likewise.
27765 (relocator_mod_ASFLAGS): Likewise.
27766 (relocator_mod_LDFLAGS): Likewise.
27767 Include i386.mk.
27768 * include/grub/x86_64/multiboot.h: New file.
27769 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27770 Terminate EFI.
27771
884ade56
VS
277722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 Video multiboot support.
27775
27776 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27777 New prototype.
27778 * include/multiboot.h: Resynced with multiboot specification.
27779 * include/multiboot2.h: Likewise.
27780 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27781 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27782 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27783 (HAS_VGA_TEXT): Likewise.
27784 (accepts_video): New variable.
27785 (grub_multiboot_set_accepts_video): New function.
27786 (grub_multiboot_get_mbi_size): Account for video structures.
27787 (set_video_mode): New function.
27788 (retrieve_video_parameters): Likewise.
27789 (grub_multiboot_make_mbi): Fill video fields.
27790
0d90e8a6
VS
277912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27792
27793 Video driver ids.
27794
27795 * include/grub/video.h (grub_video_driver_id): New type.
27796 (grub_video_adapter): New member 'id'. All users updated.
27797 (grub_video_get_driver_id): New proto.
27798 * video/video.c (grub_video_get_driver_id): New function.
27799
5c71db1b 278002010-01-14 Carles Pina i Estany <carles@pina.cat>
27801
27802 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27803 `var=val'.
27804
cca15b52 278052010-01-14 Carles Pina i Estany <carles@pina.cat>
27806
27807 * normal/cmdline.c (print_completion): Gettextizze.
27808
c586fbb2 278092001-01-14 Carles Pina i Estany <carles@pina.cat>
27810
27811 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27812
ba2f6848 278132010-01-14 Carles Pina i Estany <carles@pina.cat>
27814
27815 * gettext/gettext.c (grub_gettext_translate): Push and pop
27816 grub_errno.
27817 (grub_gettext_delete_list): Change comment style.
27818 * kern/err.c (grub_error): Gettextizze.
27819 (grub_fatal): Gettextizze.
27820
0a46429a
RM
278212010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27822
27823 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27824 (grub_linux16_real_boot): ... this.
27825 * kern/i386/loader.S: Likewise.
27826 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27827 (grub_linux16_boot): New function. Switches to text mode and calls
27828 grub_linux16_real_boot().
27829
27830 * loader/i386/bsd.c: Include `<grub/video.h>'.
27831 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27832 text mode before calling grub_unix_real_boot().
27833
27834 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27835 (grub_multiboot_boot): Switch to text mode before calling
27836 grub_relocator32_boot().
27837
27838 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27839 (grub_chainloader_boot): Switch to text mode before calling
27840 grub_chainloader_real_boot().
27841
d6f93a66
RM
278422010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278432010-01-05 Colin Watson <cjwatson@ubuntu.com>
27844
27845 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27846 non-empty value.
27847
278482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278492010-01-05 Colin Watson <cjwatson@ubuntu.com>
27850
27851 * util/grub.d/00_header.in: Define a "savedefault" function for use
27852 in menu entries.
27853 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27854
278552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278562010-01-05 Colin Watson <cjwatson@ubuntu.com>
27857
27858 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27859 saved_entry if boot_once is unset.
27860 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27861 previous saved entry (i.e. grub-reboot).
27862
278632009-12-08 Colin Watson <cjwatson@ubuntu.com>
27864
27865 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27866
278672009-12-08 Colin Watson <cjwatson@ubuntu.com>
27868
27869 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27870 `var=val'.
27871 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27872
278732009-12-08 Colin Watson <cjwatson@ubuntu.com>
27874
27875 * util/grub-reboot.in: Fix --version output.
27876 * util/grub-set-default.in: Likewise.
27877
278782009-12-08 Colin Watson <cjwatson@ubuntu.com>
27879
27880 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27881 blocks.
27882
278832009-12-08 Colin Watson <cjwatson@ubuntu.com>
27884
27885 * util/grub.d/00_header.in: Quote the value assigned to `default',
27886 in case it contains spaces.
27887
278882009-12-08 Colin Watson <cjwatson@ubuntu.com>
27889
27890 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27891 `save_default_entry' call from the macosx case to the linux case.
27892
278932009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
278942009-10-25 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27897 in `chosen' environment variable.
27898 * normal/menu_text.c (get_entry_number): Check if the variable
27899 matches the title of a menu entry.
27900 (run_menu): Pass menu to get_entry_number.
27901
27902 * util/grub-reboot.in: New file.
27903 * util/grub-set-default.in: New file.
27904 * conf/common.rmk (grub-reboot): New utility.
27905 (grub-set-default): New utility.
27906
27907 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27908 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27909 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27910 move it to `saved_entry' for the next boot. Load environment on
27911 initialisation.
27912 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27913 * util/grub.d/10_hurd.in: Likewise.
27914 * util/grub.d/10_linux.in (linux_entry): Likewise.
27915 * util/grub.d/10_windows.in: Likewise.
27916 * util/grub.d/30_os-prober.in: Likewise.
27917
27918 * util/grub-install.in: Create environment block.
27919 * util/i386/efi/grub-install.in: Likewise.
27920 * util/ieee1275/grub-install.in: Likewise.
27921 * util/sparc64/ieee1275/grub-install.in: Likewise.
27922
0934d184
BC
279232010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27924
27925 Unit testing framework for GRUB.
27926
27927 * Makefile.in: Test framework build rules for 'make check'.
27928 * conf/tests.rmk: Build rules for individual tests and framework.
27929
27930 * include/grub/test.h: Header file for whitebox tests.
27931 * tests/lib/functional_test.c: Framework support for whitebox
27932 functional tests.
27933 * tests/lib/test.c: Common whitebox testing code for unit and
27934 functional tests.
27935 * tests/lib/unit_test.c: Framework support for whitebox unit
27936 tests.
27937
27938 * tests/util/grub-shell-tester.in: Support utility for grub-script
27939 tests.
27940 * tests/util/grub-shell.in: Utility to execute grub-script
27941 commands in a Qemu instance.
27942
27943 * tests/example_functional_test.c: Example whitebox functional
27944 test.
27945 * tests/example_grub_script_test.in: Example grub-script test.
27946 * tests/example_scripted_test.in: Example scripted test.
27947 * tests/example_unit_test.c: Example whitebox unit test.
27948
9c4ffeeb
VS
279492010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27952 Add loader/i386/multiboot_mbi.c.
27953 (multiboot2_mod_SOURCES): Likewise.
27954 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27955 (multiboot2_mod_SOURCES): Likewise.
27956 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27957 (grub_multiboot_make_mbi): Likewise.
27958 (grub_multiboot_free_mbi): Likewise.
27959 (grub_multiboot_init_mbi): Likewise.
27960 (grub_multiboot_add_module): Likewise.
27961 (grub_multiboot_set_bootdev): Likewise.
27962 * loader/i386/multiboot.c (mbi): Removed.
27963 (mbi_dest): Likewise.
27964 (alloc_mbi): New variable.
27965 (grub_multiboot_payload_size): Removed. All users updated.
27966 (grub_multiboot_pure_size): New variable.
27967 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27968 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27969 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27970 (grub_fill_multiboot_mmap): Likewise.
27971 (grub_multiboot_get_bootdev): Likewise.
27972 (grub_multiboot): Use multiboot_mbi functions.
27973 * loader/i386/multiboot_mbi.c: New file.
27974
17383dfe
VS
279752010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27978 it would result in module crash.
27979
c1f28820
VS
279802010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27983 (grub_ofconsole_getwh): Split to ...
27984 (grub_ofconsole_getwh): ... this.
27985 (grub_ofconsole_dimensions): ...and this.
27986 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27987
58655a16
RM
279882010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27989
27990 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27991
10891398
VS
279922010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 * loader/i386/pc/multiboot2.c: Removed stalled file.
27995
0b8a223c
VS
279962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27997
27998 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27999 Reported by: Grégoire Sutre
28000
92ab12b0
RM
280012010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28002
28003 * util/misc.c (canonicalize_file_name): New function.
28004 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28005 instead of realpath().
28006
a788afb6
CW
280072010-01-11 Colin Watson <cjwatson@ubuntu.com>
28008
28009 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28010 and make it clearer that it's optional. Based on confusion
28011 witnessed on IRC.
28012
ffa8e3d2
VS
280132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28014
28015 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28016 in premature implicit newline.
28017
e9060a9d
VS
280182010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28021 which resulted in garbled command line at the end of screen.
28022
f0d0c0b7
RM
280232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28024
28025 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28026 initialization with similar approach as with other Linux loaders.
28027
0e60bae7
RM
280282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28029
28030 Fix i386-ieee1275 build.
28031
28032 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28033 and grub_term_height() for video_{width,height} initialization.
28034
280352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28036
28037 Fix grub-emu build.
28038
28039 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28040
cdb3f378
RM
280412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
280422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28043
28044 Support for multiple terminals.
28045
28046 * Makefile.in (pkglib_DATA): terminal.lst.
28047 (terminal.lst): New target.
28048 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28049 (GRUB_MOD_INIT(handler)): Likewise.
28050 (GRUB_MOD_FINI(handler)): Likewise.
28051 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28052 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28053 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28054 (grub_cmd_sleep): Use grub_term_save_pos.
28055 * commands/terminal.c: New file.
28056 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28057 commands/terminal.c and lib/charset.c.
28058 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28059 (pkglib_MODULES): Add terminal.mod.
28060 (terminal_mod_SOURCES): New variable.
28061 (terminal_mod_CFLAGS): Likewise.
28062 (terminal_mod_LDFLAGS): Likewise.
28063 * genhandlerlist.sh: Don't handle terminals.
28064 * genmk.rb: Generate terminal-*.lst.
28065 * genterminallist.sh: New file.
28066 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28067 (grub_is_valid_utf8): Likewise.
28068 (grub_utf8_to_ucs4_alloc): Likewise.
28069 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28070 (grub_menu_register_viewer): Changed argument.
28071 (grub_menu_try_text): New proto.
28072 (grub_gfxmenu_try_hook): New declaration.
28073 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28074 (grub_menu_init_page): Additional argument term.
28075 (grub_normal_init_page): Likewise.
28076 (grub_cmdline_get): Arguments simplified.
28077 (grub_utf8_to_ucs4_alloc): Removed.
28078 (grub_print_ucs4): Additional argument term.
28079 (grub_getstringwidth): Likewise.
28080 (grub_print_message_indented): Likewise.
28081 (grub_menu_text_register_instances): New proto.
28082 (grub_show_menu): Likewise.
28083 (read_terminal_list): Likewise.
28084 (grub_set_more): Likewise.
28085 * include/grub/parser.h: Include handler.h.
28086 * include/grub/reader.h: Rewritten.
28087 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28088 (GRUB_TERM_WIDTH): Changed to function.
28089 (GRUB_TERM_HEIGHT): Likewise.
28090 (GRUB_TERM_BORDER_WIDTH): Likewise.
28091 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28092 (GRUB_TERM_NUM_ENTRIES): Likewise.
28093 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28094 (GRUB_TERM_CURSOR_X): Likewise.
28095 (grub_term_input_class): Likewise.
28096 (grub_term_output_class): Likewise.
28097 (grub_term_outputs_disabled): New declaration.
28098 (grub_term_inputs_disabled): Likewise.
28099 (grub_term_outputs): Likewise.
28100 (grub_term_inputs): Likewise.
28101 (grub_term_register_input): Rewritten.
28102 (grub_term_register_output): Likewise.
28103 (grub_term_unregister_input): Likewise.
28104 (grub_term_unregister_output): Likewise.
28105 (FOR_ACTIVE_TERM_INPUTS): New macro.
28106 (FOR_DISABLED_TERM_INPUTS): Likewise.
28107 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28108 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28109 * include/grub/terminfo.h: Add oterm argument to all protypes.
28110 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28111 Use grub_rescue_run.
28112 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28113 All users updated.
28114 * kern/reader.c: Removed. All users updated.
28115 * kern/rescue_reader.c (grub_rescue_init): Removed.
28116 (grub_rescue_reader): Likewise.
28117 (grub_register_rescue_reader): Likewise.
28118 (grub_rescue_run): New function based on kern/reader.c.
28119 * kern/term.c: Adapted for multiterm.
28120 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28121 (grub_is_valid_utf8): Likewise.
28122 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28123 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28124 right terminal.
28125 * loader/i386/linux.c (grub_linux_boot): Likewise.
28126 * normal/auth.c (grub_username_get): New function.
28127 (grub_auth_check_authentication): Use grub_username_get.
28128 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28129 * normal/color.c: Adapt for multiterm.
28130 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28131 (grub_normal_init_page): Additional argument term.
28132 (read_lists): Call read_terminal_lists.
28133 (grub_enter_normal_mode): Call grub_cmdline_run.
28134 Handle grub_normal_exit_level.
28135 (grub_cmd_normal): Make reentrant.
28136 (grub_cmd_normal_exit): New function.
28137 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28138 * normal/menu.c: Adapt for multiterm.
28139 * normal/menu_entry.c: Likewise.
28140 * normal/menu_text.c: Likewise.
28141 * normal/menu_viewer.c: Removed. All users updated.
28142 * normal/term.c: New file.
28143 * util/console.c: Change order of includes to workaround a bug in
28144 ncurses headers.
28145 * term/terminfo.c: New argument oterm on all exported functions.
28146 All users updated.
28147 * util/grub-editenv.c (grub_term_input_class): Removed.
28148 (grub_term_output_class): Likewise.
28149
1a064917
RM
281502010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28151
28152 Make loader output a bit more user-friendly.
28153
28154 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28155 is being loaded. Likewise for the Hurd.
28156
28157 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28158 that kernel of FreeBSD ${version} is being loaded.
28159
28160 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28161 grub_dprintf().
28162 (grub_cmd_initrd): Likewise.
28163 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28164 that Linux ${version} is being loaded. Likewise for initrd.
28165
5ce0a83a 281662010-01-09 Carles Pina i Estany <carles@pina.cat>
28167
28168 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28169
809bbfeb 281702010-01-08 Carles Pina i Estany <carles@pina.cat>
28171
28172 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28173 (GRUB_MOD_INIT): Gettextizze.
28174 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28175 (GRUB_MOD_INIT): Gettextizze.
28176 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28177 (grub_cmd_linux): Capitalise Linux.
28178 (GRUB_MOD_INIT): Gettextizze.
28179 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28180 (grub_cmd_linux): Capitalise Linux.
28181 (GRUB_MOD_INIT): Gettextizze.
28182 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28183 (grub_cmd_linux): Capitalise Linux.
28184 (GRUB_MOD_INIT): Gettextizze.
28185 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28186 (GRUB_MOD_INIT): Gettextizze.
28187 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28188 (grub_cmd_linux): Capitalise Linux.
28189 (GRUB_MOD_INIT): Gettextizze.
28190 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28191 (grub_cpu_xnu_init): Gettextizze.
28192 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28193 (GRUB_MOD_INIT): Gettextizze.
28194 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28195 (GRUB_MOD_INIT): Gettextizze.
28196 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28197 (grub_linux_load64): Capitalise Linux.
28198 (GRUB_MOD_INIT): Gettextizze.
28199 * loader/xnu.c: Include `<grub/i18n.h>'.
28200 (GRUB_MOD_INIT): Gettextizze.
28201 * po/POTFILES: Add `loader/efi/appleloader.c',
28202 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28203 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28204 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28205 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28206 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28207 and `loader/xnu.c'.
28208
b394b2ca
RM
282092010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28210
28211 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28212
282132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28214
28215 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28216 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28217 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28218
bc8b32b3
RM
282192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28220
28221 Reset Multiboot 2 support. New loader implements the draft in
28222 /branches/multiboot2 and shares as much code as possible with the
28223 production Multiboot 1 implementation.
28224
28225 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28226 * loader/multiboot2.c: Likewise.
28227 * loader/i386/multiboot_helper.S: Likewise.
28228 * include/multiboot2.h: Replace with latest version from the draft
28229 in /branches/multiboot2.
28230
28231 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28232 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28233 and `loader/multiboot2.c'.
28234 (pkglib_MODULES): Add `multiboot2.mod'.
28235 (multiboot2_mod_SOURCES): New variable.
28236 (multiboot2_mod_LDFLAGS): Likewise.
28237 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28238
28239 * conf/i386-pc.rmk: Likewise.
28240
28241 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28242 (multiboot_mod_SOURCES): Remove variable.
28243 (multiboot_mod_LDFLAGS): Likewise.
28244 (multiboot_mod_CFLAGS): Likewise.
28245
28246 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28247 `<multiboot2.h>' instead of `<multiboot.h>'.
28248 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28249 (MULTIBOOT_HEADER_MAGIC): New macros.
28250
28251 * loader/multiboot_loader.c (module_version_status): Remove variable.
28252 (find_multi_boot2_header): Remove function.
28253 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28254 logic. Always check for the Multiboot version we're compiling for.
28255 (grub_cmd_module_loader): Likewise.
28256 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28257 command instead of `multiboot'.
28258
5d2c52b8
RM
282592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28260
28261 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28262 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28263 all users.
28264
53108d92
RM
282652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
282662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28267
28268 Fix breakage introduced with previous commit.
28269
28270 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28271 commands.
28272 * normal/handler.c (read_handler_list): Revert part of previous commit
28273 affecting this file.
28274 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28275 (grub_normal_execute): ... here.
28276
e2e936b2
RM
282772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28278
28279 Merge prefix-redefinition-fix branch.
28280
28281 * normal/autofs.c (read_fs_list): Make function capable of being
28282 run multiple times, gracefuly replacing the previous data
28283 structures.
28284 * normal/dyncmd.c (read_command_list): Likewise.
28285 * normal/handler.c (read_handler_list): Likewise.
28286 * normal/main.c (read_lists): New function. Calls all the
28287 list reading functions.
28288 (grub_normal_execute): Use read_lists() instead of calling all
28289 list reading functions explicitly. Register read_lists() as a
28290 variable hook attached to ${prefix}.
28291
607a3701
VS
282922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 Merge crypto branch.
28295
28296 * Makefile.in (pkglib_DATA): Add crypto.lst.
28297 (crypto.lst): New target.
28298 * commands/hashsum.c: New file.
28299 * commands/password.c (check_password): Use grub_crypto_memcmp.
28300 * commands/password_pbkdf2.c: New file.
28301 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28302 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28303 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28304 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28305 -I$(srcdir)/lib/libgcrypt_wrap.
28306 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28307 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28308 password_pbkdf2.mod.
28309 (crypto_mod_SOURCES): New variable.
28310 (crypto_mod_CFLAGS): Likewise.
28311 (crypto_mod_LDFLAGS): Likewise.
28312 (hashsum_mod_SOURCES): New variable.
28313 (hashsum_mod_CFLAGS): Likewise.
28314 (hashsum_mod_LDFLAGS): Likewise.
28315 (pbkdf2_mod_SOURCES): New variable.
28316 (pbkdf2_mod_CFLAGS): Likewise.
28317 (pbkdf2_mod_LDFLAGS): Likewise.
28318 (password_pbkdf2_mod_SOURCES): New variable.
28319 (password_pbkdf2_mod_CFLAGS): Likewise.
28320 (password_pbkdf2_mod_LDFLAGS): Likewise.
28321 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28322 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28323 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28324 Include conf/gcry.rmk.
28325 * include/grub/auth.h: Rewritten.
28326 * include/grub/crypto.h: New file.
28327 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28328 * include/grub/normal.h (read_crypto_list): New prototype.
28329 * lib/crypto.c: New file.
28330 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28331 * lib/pbkdf2.c: Likewise.
28332 * normal/auth.c (grub_auth_strcmp): Removed.
28333 (grub_iswordseparator): Likewise.
28334 (grub_auth_strword): Likewise.
28335 (is_authenticated): Use grub_strword.
28336 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28337 and grub_strword. Pass entered password to authentication callback.
28338 * normal/crypto.c: New file.
28339 * normal/main.c: Call read_crypto_list.
28340 * util/grub-mkpasswd-pbkdf2.c: New file.
28341 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28342
42841caa
VS
283432010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 Fix descent and ascent calculation.
28346
28347 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28348 (options): New option "asce".
28349 (usage): Likewise.
28350 (add_char): Ignore invalid glyphs for descent calculation.
28351 Calculate ascent from actual content.
28352 (print_glyphs): Use 'asce'.
28353 (write_font): Likewise. Allow ascent override.
28354 (main): Handle "asce" option.
28355
e7730de7 283562010-01-06 Carles Pina i Estany <carles@pina.cat>
28357
28358 * kern/err.c: Include `<grub/i18n.h>'.
28359 (grub_print_error): Add full stop. Gettextizze.
28360 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28361 (grub_bsd_load_elf): Capitalise ELF.
28362 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28363 (grub_cmd_freebsd_module): Likewise.
28364 (grub_cmd_freebsd_module_elf): Likewise.
28365 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28366
40e3a41f 283672010-01-06 Carles Pina i Estany <carles@pina.cat>
28368
28369 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28370 * commands/search_file.c (HELP_MESSAGE): New macro.
28371 * commands/search_label.c (HELP_MESSAGE): Likewise.
28372 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28373 * po/POTFILES: Add `commands/search_file.c',
28374 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28375 `commands/search.c'.
28376
83507e68
RM
283772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28378
28379 * config.rpath: Update from Gnulib.
28380
465c787b
YB
283812010-01-05 Yves Blusseau <blusseau@zetam.org>
28382
28383 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28384
6581dd3a
YB
283852010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28386
28387 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28388
3bff18c5
CW
283892010-01-05 Colin Watson <cjwatson@ubuntu.com>
28390
28391 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28392 arguments to fread so that we get a return value in bytes, rather
28393 than something that will normally be rounded down to 0.
28394 Adjust error handling to avoid producing garbage when size_t is not
28395 the same size as long long.
28396
a1368118
CW
283972010-01-05 Colin Watson <cjwatson@ubuntu.com>
28398
28399 * util/mkisofs/write.c (padblock_write): Check return value of
28400 fread.
28401
7c302978
RM
284022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28403
28404 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28405 floppy images now.
28406
28407 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28408
e33ace06
RM
284092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28410
28411 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28412 instead of manual alignment.
28413 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28414 verbose). Avoid attempts to read past end of the device
28415 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28416 but GRUB_DISK_CACHE_SIZE may exceed that).
28417
4b856776
RM
284182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28419
28420 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28421 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28422 it to upper layer.
28423
52c2d97f
VS
284242010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28425
28426 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28427 New constant.
28428 (grub_efi_piwg_device_path): New structure
28429 (grub_efi_piwg_device_path_t): New type.
28430 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28431 (devpath_1): Transform to a structure. All users updated.
28432 (devpath_2): Likewise.
28433 (devpath_3): Likewise.
28434 (devpath_4): Likewise.
28435 (devpath_5): Likewise.
28436
98ff6a54
VS
284372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 * loader/efi/appleloader.c: Restored. Update all users.
28440
3a73dcb6
RM
284412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28442
28443 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28444
28445 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28446 (struct boot_blocklist): Move from here ...
28447 * include/grub/i386/pc/boot.h [ASM_FILE]
28448 (struct grub_boot_blocklist): ... to here. Update all users.
28449 (setup): Only initialize `start' member of `first_block'
28450 structure. Add assert() calls to verify the other members.
28451
28452 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28453 (generate_image): Fix broken blocklist length initialization.
28454 Add assert() call to verify blocklist `segment' field.
28455
ab0eeb0c
RM
284562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28457
28458 * loader/efi/appleloader.c: Remove. Update all users.
28459
58bc8bd5
RM
284602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28461
28462 * boot/i386/pc/boot.S: Update copyright year.
28463 * boot/i386/pc/cdboot.S: Likewise.
28464 * boot/i386/pc/diskboot.S: Likewise.
28465 * boot/i386/pc/lnxboot.S: Likewise.
28466 * boot/i386/pc/pxeboot.S: Likewise.
28467 * bus/pci.c: Likewise.
28468 * commands/cmp.c: Likewise.
28469 * commands/help.c: Likewise.
28470 * commands/hexdump.c: Likewise.
28471 * commands/i386/pc/halt.c: Likewise.
28472 * commands/i386/pc/play.c: Likewise.
28473 * commands/i386/pc/vbeinfo.c: Likewise.
28474 * commands/ls.c: Likewise.
28475 * commands/test.c: Likewise.
28476 * disk/dmraid_nvidia.c: Likewise.
28477 * disk/i386/pc/biosdisk.c: Likewise.
28478 * disk/ieee1275/nand.c: Likewise.
28479 * disk/ieee1275/ofdisk.c: Likewise.
28480 * disk/lvm.c: Likewise.
28481 * disk/raid.c: Likewise.
28482 * disk/raid6_recover.c: Likewise.
28483 * disk/scsi.c: Likewise.
28484 * fs/affs.c: Likewise.
28485 * fs/cpio.c: Likewise.
28486 * fs/ext2.c: Likewise.
28487 * fs/hfs.c: Likewise.
28488 * fs/iso9660.c: Likewise.
28489 * fs/ntfs.c: Likewise.
28490 * fs/sfs.c: Likewise.
28491 * fs/udf.c: Likewise.
28492 * fs/ufs.c: Likewise.
28493 * fs/xfs.c: Likewise.
28494 * gencmdlist.sh: Likewise.
28495 * genmk.rb: Likewise.
28496 * include/grub/disk.h: Likewise.
28497 * include/grub/efi/api.h: Likewise.
28498 * include/grub/efi/efi.h: Likewise.
28499 * include/grub/efi/pe32.h: Likewise.
28500 * include/grub/elf.h: Likewise.
28501 * include/grub/fs.h: Likewise.
28502 * include/grub/i386/at_keyboard.h: Likewise.
28503 * include/grub/i386/pc/memory.h: Likewise.
28504 * include/grub/i386/pc/vbe.h: Likewise.
28505 * include/grub/i386/pci.h: Likewise.
28506 * include/grub/i386/tsc.h: Likewise.
28507 * include/grub/ieee1275/ieee1275.h: Likewise.
28508 * include/grub/ntfs.h: Likewise.
28509 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28510 * include/grub/sparc64/libgcc.h: Likewise.
28511 * include/grub/symbol.h: Likewise.
28512 * include/grub/types.h: Likewise.
28513 * include/multiboot2.h: Likewise.
28514 * io/gzio.c: Likewise.
28515 * kern/device.c: Likewise.
28516 * kern/disk.c: Likewise.
28517 * kern/efi/efi.c: Likewise.
28518 * kern/efi/mm.c: Likewise.
28519 * kern/elf.c: Likewise.
28520 * kern/file.c: Likewise.
28521 * kern/i386/dl.c: Likewise.
28522 * kern/i386/pc/init.c: Likewise.
28523 * kern/i386/pc/startup.S: Likewise.
28524 * kern/ieee1275/ieee1275.c: Likewise.
28525 * kern/ieee1275/init.c: Likewise.
28526 * kern/main.c: Likewise.
28527 * kern/mm.c: Likewise.
28528 * kern/powerpc/dl.c: Likewise.
28529 * kern/sparc64/dl.c: Likewise.
28530 * kern/x86_64/dl.c: Likewise.
28531 * lib/hexdump.c: Likewise.
28532 * loader/efi/appleloader.c: Likewise.
28533 * loader/i386/ieee1275/linux.c: Likewise.
28534 * loader/i386/pc/chainloader.c: Likewise.
28535 * loader/i386/pc/linux.c: Likewise.
28536 * loader/i386/pc/multiboot2.c: Likewise.
28537 * loader/ieee1275/multiboot2.c: Likewise.
28538 * loader/multiboot2.c: Likewise.
28539 * loader/multiboot_loader.c: Likewise.
28540 * loader/powerpc/ieee1275/linux.c: Likewise.
28541 * normal/completion.c: Likewise.
28542 * normal/menu_entry.c: Likewise.
28543 * partmap/apple.c: Likewise.
28544 * util/grub.d/10_hurd.in: Likewise.
28545 * util/hostfs.c: Likewise.
28546 * video/readers/png.c: Likewise.
28547
e2d70b5c
CW
285482010-01-03 Colin Watson <cjwatson@ubuntu.com>
28549
28550 * include/grub/misc.h (GNUC_PREREQ): New macro.
28551 (ATTRIBUTE_ERROR): New macro.
28552 * include/grub/list.h (grub_bad_type_cast_real): Use
28553 ATTRIBUTE_ERROR.
28554
a173283f 285552010-01-03 Carles Pina i Estany <carles@pina.cat>
28556
28557 * normal/menu_text.c (print_message): Change messages.
28558
7fa7ff74 285592010-01-03 Carles Pina i Estany <carles@pina.cat>
28560
28561 * normal/menu_entry.c (store_completion): Gettextizze.
28562
136d24f6 285632010-01-03 Carles Pina i Estany <carles@pina.cat>
28564
28565 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28566
f936862e 285672010-01-03 Carles Pina i Estany <carles@pina.cat>
28568
28569 * po/POTFILES: Sort correctly.
28570
29c44ad1 285712010-01-03 Carles Pina i Estany <carles@pina.cat>
28572
28573 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28574 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28575 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28576 full stop.
28577 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28578 summary. Gettextizze the strings.
28579 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28580 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28581 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28582 full stop.
28583 (GRUB_MOD_INIT): Remove command name from summary.
28584 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28585 summary.
28586 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28587 * term/i386/pc/serial.c (options): Add full stops.
28588 (GRUB_MOD_INIT): Remove command name from the summary.
28589
77a79592 285902010-01-03 Carles Pina i Estany <carles@pina.cat>
28591
28592 * commands/acpi.c: Gettextizze help strings and/or options. Include
28593 `grub/i18n.h' if needed.
28594 * commands/blocklist.c: Likewise.
28595 * commands/boot.c: Likewise.
28596 * commands/cat.c: Likewise.
28597 * commands/cmp.c: Likewise.
28598 * commands/configfile.c: Likewise.
28599 * commands/crc.c: Likewise.
28600 * commands/date.c: Likewise.
28601 * commands/echo.c: Likewise.
28602 * commands/efi/fixvideo.c: Likewise.
28603 * commands/efi/loadbios.c: Likewise.
28604 * commands/gptsync.c: Likewise.
28605 * commands/halt.c: Likewise.
28606 * commands/handler.c: Likewise.
28607 * commands/hdparm.c: Likewise.
28608 * commands/hexdump.c: Likewise.
28609 * commands/i386/cpuid.c: Likewise.
28610 * commands/i386/pc/drivemap.c: Likewise.
28611 * commands/i386/pc/halt.c: Likewise.
28612 * commands/i386/pc/pxecmd.c: Likewise.
28613 * commands/i386/pc/vbeinfo.c: Likewise.
28614 * commands/i386/pc/vbetest.c: Likewise.
28615 * commands/ieee1275/suspend.c: Likewise.
28616 * commands/keystatus.c: Likewise.
28617 * commands/loadenv.c: Likewise.
28618 * commands/ls.c: Likewise.
28619 * commands/lsmmap.c: Likewise.
28620 * commands/lspci.c: Likewise.
28621 * commands/memrw.c: Likewise.
28622 * commands/minicmd.c: Likewise.
28623 * commands/parttool.c: Likewise.
28624 * commands/password.c: Likewise.
28625 * commands/probe.c: Likewise.
28626 * commands/read.c: Likewise.
28627 * commands/reboot.c: Likewise.
28628 * commands/search.c: Likewise.
28629 * commands/sleep.c: Likewise.
28630 * commands/test.c: Likewise.
28631 * commands/true.c: Likewise.
28632 * commands/usbtest.c: Likewise.
28633 * commands/videotest.c: Likewise.
28634 * commands/xnu_uuid.c: Likewise.
28635 * disk/loopback.c: Likewise.
28636 * hello/hello.c: Likewise.
28637 * loader/i386/bsd.c: Likewise.
28638 * term/i386/pc/serial.c: Likewise.
28639 * po/POTFILES: Add new files.
28640
da8d5c53
CW
286412010-01-02 Colin Watson <cjwatson@ubuntu.com>
28642
28643 * term/i386/pc/at_keyboard.c
28644 (keyboard_controller_wait_untill_ready): Rename to ...
28645 (keyboard_controller_wait_until_ready): ... this. Update all users.
28646
33937904 286472010-01-01 Carles Pina i Estany <carles@pina.cat>
28648
28649 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28650 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28651 string using string width.
28652 * normal/menu_text.c (grub_print_message_indented): Use
28653 grub_print_spaces and not print_spaces.
28654 (print_timeout): Likewise.
28655 (print_spaces): Move to...
28656 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28657
3fd3b8d8
RM
286582010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28659
28660 Import from Gnulib.
28661
28662 * gnulib/getdelim.c: New file.
28663 * gnulib/getline.c: Likewise.
28664
33433555
VS
286652009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28666
28667 * include/grub/list.h (grub_assert_fail): Removed.
28668 (grub_bad_type_cast_real): New function.
28669 (grub_bad_type_cast): New macro.
28670 (GRUB_AS_LIST): Use grub_bad_type_cast.
28671 (GRUB_AS_LIST_P): Likewise.
e44721e8 28672 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28673 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28674 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28675 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28676 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28677
f5a51306
VS
286782009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28679
28680 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28681 Fix syntax error.
28682
90d1e879
RM
286832009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28684
28685 * configure.ac: Check for TARGET_CFLAGS initialization before we
28686 initialize it ourselves (sigh).
28687 Move a few modifications to TARGET_CFLAGS to be unconditional
28688 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28689 eh_frame)
28690
28691 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28692 * term/i386/pc/at_keyboard.c
28693 (keyboard_controller_wait_untill_ready): Likewise.
28694 (keyboard_controller_led): Rename `led_status' paramter to avoid
28695 name conflict.
28696
465b5a81 286972009-12-28 Carles Pina i Estany <carles@pina.cat>
28698
28699 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28700 quotes.
28701
c181849b
VS
287022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28703
28704 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28705
9c8739a4
VS
287062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 * normal/menu_text.c (grub_print_message_indented): Prevent
28709 past-the-end-of-array dereference.
28710
3e74249c
VS
287112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28712
28713 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28714 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28715
64fd18ed 287162009-12-27 Carles Pina i Estany <carles@pina.cat>
28717
28718 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28719 * normal/main.c (grub_normal_read_line): Remove a space from the
28720 default prompt.
28721
714af9b9 287222009-12-27 Carles Pina i Estany <carles@pina.cat>
28723
28724 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28725 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28726 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28727 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28728 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28729 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28730 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28731
82f3e412 287322009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28733
28734 * video/readers/jpeg.c (cmd): Declare.
28735 (grub_cmd_jpegtest): Use `grub_command_t' type.
28736 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28737 Assign to `cmd'.
28738 (GRUB_MOD_FINI): Use `cmd' to unregister.
28739 * video/readers/png.c (cmd): Declare.
28740 (grub_cmd_pngtest): Use `grub_command_t' type.
28741 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28742 Assign to `cmd'.
28743 (GRUB_MOD_FINI): Use `cmd' to unregister.
28744 * video/readers/tga.c (cmd): Declare.
28745 (grub_cmd_tgatest): Use `grub_command_t' type.
28746 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28747 Assign to `cmd'.
28748 (GRUB_MOD_FINI): Use `cmd' to unregister.
28749
82f3e412 287502009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28751
28752 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28753 stops.
28754 * kern/corecmd.c (grub_register_core_commands): Likewise.
28755 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28756 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28757 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28758 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28759 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28760 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28761 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28762 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28763 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28764 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28765 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28766 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28767 * normal/handler.c (insert_handler): Likewise.
28768 * normal/main.c (GRUB_MOD_INIT): Likewise.
28769 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28770
fdcdbb66 287712009-12-26 Carles Pina i Estany <carles@pina.cat>
28772
28773 * commands/help.c (grub_cmd_help): Print the command name before the
28774 summary.
28775 (GRUB_MOD_INIT): Remove command name from the summary.
28776 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28777 string as summary.
fdcdbb66 28778 * lib/arg.c (find_long): Print the command name before the summary.
28779 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28780 summary.
28781 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28782 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28783 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28784 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28785 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28786 * commands/date.c (GRUB_MOD_INIT): Likewise.
28787 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28788 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28789 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28790 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28791 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28792 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28793 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28794 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28795 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28796 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28797 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28798 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28799 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28800 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28801 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28802 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28803 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28804 * commands/password.c (GRUB_MOD_INIT): Likewise.
28805 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28806 * commands/read.c (GRUB_MOD_INIT): Likewise.
28807 * commands/search.c (GRUB_MOD_INIT): Likewise.
28808 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28809 * commands/test.c (GRUB_MOD_INIT): Likewise.
28810 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28811 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28812 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28813 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28814 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28815 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28816 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28817 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28818 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28819 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28820 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28821 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28822 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28823 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28824
9c288be2
VS
288252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28826
28827 Use search command for preliminar UUID search.
28828
28829 * commands/search.c: Split into ...
28830 * commands/search_wrap.c: ...this
28831 * commands/search.c: ...and this.
28832 * commands/search_file.c: New file.
28833 * commands/search_label.c: New file.
28834 * commands/search_uuid.c: New file.
28835 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28836 Add commands/search_wrap.c, commands/search_file.c,
28837 commands/search_label.c and commands/search_uuid.c.
28838 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28839 (search_mod_SOURCES): Set to commands/search_wrap.c.
28840 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28841 search_label.mod.
28842 (search_fs_file_mod_SOURCES): New variable.
28843 (search_fs_file_mod_CFLAGS): Likewise.
28844 (search_fs_file_mod_LDFLAGS): Likewise.
28845 (search_label_mod_SOURCES): Likewise.
28846 (search_label_mod_CFLAGS): Likewise.
28847 (search_label_mod_LDFLAGS): Likewise.
28848 (search_fs_uuid_mod_SOURCES): New variable.
28849 (search_fs_uuid_mod_CFLAGS): Likewise.
28850 (search_fs_uuid_mod_LDFLAGS): Likewise.
28851 (fs_file_mod_SOURCES): Removed.
28852 (fs_file_mod_CFLAGS): Likewise.
28853 (fs_file_mod_LDFLAGS): Likewise.
28854 (fs_uuid_mod_SOURCES): Removed.
28855 (fs_uuid_mod_CFLAGS): Likewise.
28856 (fs_uuid_mod_LDFLAGS): Likewise.
28857 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28858 Set to util/grub-install.in.
28859 * disk/fs_file.c: Removed.
28860 * disk/fs_uuid.c: Likewise.
28861 * include/grub/search.h: New file.
28862 * util/grub-install.in: Handle sparc64.
28863 Create and use load.cfg.
28864 * util/sparc64/ieee1275/grub-install.in: Removed.
28865
db943399
VS
288662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28867
28868 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28869 Ignore return status if CF is cleared.
28870 (grub_biosdisk_get_diskinfo_standard): Likewise.
28871
3fdae612
RM
288722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28873
28874 * term/i386/pc/at_keyboard.c
28875 (keyboard_controller_wait_untill_ready): New function.
28876 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28877 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28878 for keyboard polling, rather than duplicate the same loop. This
28879 saves a few bytes in code size.
28880
7ebaa2b4
VS
288812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28882
28883 Support for (pxe[:server[:gateway]]) syntax and
28884 use environment variable for PXE.
28885
28886 * commands/i386/pc/pxecmd.c (options): Removed.
28887 (print_ip): Removed.
28888 (grub_cmd_pxe): Removed
28889 (grub_cmd_pxe_unload): New function.
28890 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28891 (grub_pxe_your_ip): Made static.
28892 (grub_pxe_default_server_ip): Likewise.
28893 (grub_pxe_default_gateway_ip): Likewise.
28894 (grub_pxe_blksize): Likewise.
28895 (parse_ip): New function.
28896 (grub_pxe_open): Support server and gateway specification.
28897 (grub_pxe_close): Free disk->data.
28898 (grub_pxefs_open): Use disk->data.
28899 (grub_pxefs_read): Likewise.
28900 (grub_env_write_readonly): New function.
28901 (set_mac_env): Likewise.
28902 (set_env_limn_ro): Likewise.
28903 (parse_dhcp_vendor): Likewise.
28904 (grub_pxe_detect): Set the environment variables.
28905 (set_ip_env): New function.
28906 (write_ip_env): Likewise.
28907 (grub_env_write_pxe_default_server): Likewise.
28908 (grub_env_write_pxe_default_gateway): Likewise.
28909 (grub_env_write_pxe_blocksize): Likewise.
28910 (GRUB_MOD_INIT(pxe)): Set environment variables.
28911 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28912 (grub_pxe_mac_addr_t): ... this. All users updated.
28913 (grub_pxe_your_ip): Removed.
28914 (grub_pxe_server_ip): Likewise.
28915 (grub_pxe_gateway_ip): Likewise.
28916 (grub_pxe_blksize): Likewise.
28917
ec5f98ab 289182009-12-25 Carles Pina i Estany <carles@pina.cat>
28919
28920 * commands/help.c: Include `<grub/i18n.h>'.
28921 (grub_cmd_help): Gettextizze.
28922 (GRUB_MOD_INIT): Likewise.
28923 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28924 (GRUB_MOD_INIT): Gettextizze.
28925 * commands/search.c: Include `<grub/i18n.h>'.
28926 (options): Gettextizze.
28927 (GRUB_MOD_INIT): Gettextizze.
28928 * lib/arg.c: Include `<grub/i18n.h>'.
28929 (help_options): Gettextizze.
28930 (find_long): Likewise.
28931 (grub_arg_show_help): Likewise.
28932 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28933 (read_command_list): Gettextizze.
28934 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28935 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28936
22815526
RM
289372009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28938
28939 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28940 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28941 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28942 (led_status): New variable.
28943 (keyboard_controller_led): New function.
28944 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28945 update led status for caps lock, num lock and scroll lock.
28946
0ad46fd7
FZ
289472009-12-25 Felix Zielcke <fzielcke@z-51.de>
28948
28949 * util/hostdisk.c (open_device): Fix a comment.
28950
d0e158c2
RM
289512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * util/grub-install.in (host_os): New variable.
28954 * util/i386/efi/grub-install.in (host_os): Likewise.
28955
401c0ad6
RM
289562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28957
28958 * util/mkisofs/write.c (padblock_write): Abort when given an
28959 excedingly large embed image, instead of silently truncating it.
28960
d14d3370
RM
289612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28962
28963 * include/multiboot.h: Indentation fixes.
28964
eeed10b4
RM
289652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28966
28967 * include/multiboot.h (struct multiboot_aout_symbol_table)
28968 (struct multiboot_elf_section_header_table): New structure
28969 declarations (stolen from GRUB Legacy).
28970 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28971 table information.
28972
28973 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28974 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28975 type aliases.
28976
681c70ab
RM
289772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28978
28979 * include/multiboot.h: Make comments src2texi-friendly.
28980
e4d47d8d
RM
289812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28982
28983 For consistency with [multiboot]/docs/boot.S.
28984
28985 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28986 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28987 (MULTIBOOT_MAGIC2): Rename from this ...
28988 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28989
a0b70bda
RM
289902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28991
28992 * include/multiboot.h: Remove `<grub/types.h>'.
28993 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28994 types. Update all users.
28995
61ba42be 289962009-12-25 Carles Pina i Estany <carles@pina.cat>
28997
28998 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28999 `couldn't' and `can not' by `cannot'.
29000 * commands/i386/pc/drivemap.c: Likewise.
29001 * disk/ata.c: Likewise.
29002 * disk/ieee1275/nand.c: Likewise.
29003 * fs/affs.c: Likewise.
29004 * fs/fat.c: Likewise.
29005 * fs/hfs.c: Likewise.
29006 * fs/hfsplus.c: Likewise.
29007 * fs/iso9660.c: Likewise.
29008 * fs/jfs.c: Likewise.
29009 * fs/minix.c: Likewise.
29010 * fs/reiserfs.c: Likewise.
29011 * fs/sfs.c: Likewise.
29012 * fs/udf.c: Likewise.
29013 * fs/ufs.c: Likewise.
29014 * fs/xfs.c: Likewise.
29015 * loader/powerpc/ieee1275/linux.c: Likewise.
29016 * loader/sparc64/ieee1275/linux.c: Likewise.
29017 * util/grub-probe.c: Likewise.
29018 * util/misc.c: Likewise.
29019
7fd0baee 290202009-12-24 Carles Pina i Estany <carles@pina.cat>
29021
29022 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29023 grub_errno calls.
29024 * commands/acpi.c: Likewise.
29025 * commands/blocklist.c: Likewise.
29026 * commands/efi/loadbios.c: Likewise.
29027 * commands/i386/pc/drivemap.c: Likewise.
29028 * commands/loadenv.c: Likewise.
29029 * commands/memrw.c: Likewise.
29030 * commands/password.c: Likewise.
29031 * commands/videotest.c: Likewise.
29032 * disk/ata.c: Likewise.
29033 * disk/ata_pthru.c: Likewise.
29034 * disk/dmraid_nvidia.c: Likewise.
29035 * disk/ieee1275/nand.c: Likewise.
29036 * disk/ieee1275/ofdisk.c: Likewise.
29037 * disk/loopback.c: Likewise.
29038 * disk/lvm.c: Likewise.
29039 * disk/mdraid_linux.c: Likewise.
29040 * disk/raid.c: Likewise.
29041 * disk/raid6_recover.c: Likewise.
29042 * disk/scsi.c: Likewise.
29043 * efiemu/main.c: Likewise.
29044 * efiemu/mm.c: Likewise.
29045 * efiemu/pnvram.c: Likewise.
29046 * efiemu/symbols.c: Likewise.
29047 * font/font.c: Likewise.
29048 * fs/cpio.c: Likewise.
29049 * fs/hfsplus.c: Likewise.
29050 * fs/iso9660.c: Likewise.
29051 * fs/jfs.c: Likewise.
29052 * fs/minix.c: Likewise.
29053 * fs/ntfs.c: Likewise.
29054 * fs/ntfscomp.c: Likewise.
29055 * fs/reiserfs.c: Likewise.
29056 * fs/ufs.c: Likewise.
29057 * fs/xfs.c: Likewise.
29058 * gettext/gettext.c: Likewise.
29059 * include/grub/auth.h: Likewise.
29060 * kern/elf.c: Likewise.
29061 * kern/file.c: Likewise.
29062 * kern/ieee1275/init.c: Likewise.
29063 * kern/ieee1275/mmap.c: Likewise.
29064 * kern/ieee1275/openfw.c: Likewise.
29065 * kern/powerpc/dl.c: Likewise.
29066 * kern/sparc64/dl.c: Likewise.
29067 * lib/arg.c: Likewise.
29068 * loader/i386/bsd.c: Likewise.
29069 * loader/i386/bsdXX.c: Likewise.
29070 * loader/i386/efi/linux.c: Likewise.
29071 * loader/i386/efi/xnu.c: Likewise.
29072 * loader/i386/ieee1275/linux.c: Likewise.
29073 * loader/i386/linux.c: Likewise.
29074 * loader/i386/multiboot.c: Likewise.
29075 * loader/i386/pc/linux.c: Likewise.
29076 * loader/i386/pc/multiboot2.c: Likewise.
29077 * loader/i386/xnu.c: Likewise.
29078 * loader/ieee1275/multiboot2.c: Likewise.
29079 * loader/macho.c: Likewise.
29080 * loader/machoXX.c: Likewise.
29081 * loader/multiboot2.c: Likewise.
29082 * loader/multiboot_loader.c: Likewise.
29083 * loader/powerpc/ieee1275/linux.c: Likewise.
29084 * loader/sparc64/ieee1275/linux.c: Likewise.
29085 * loader/xnu.c: Likewise.
29086 * loader/xnu_resume.c: Likewise.
29087 * mmap/i386/pc/mmap.c: Likewise.
29088 * normal/menu_viewer.c: Likewise.
29089 * partmap/acorn.c: Likewise.
29090 * partmap/amiga.c: Likewise.
29091 * partmap/apple.c: Likewise.
29092 * script/lexer.c: Likewise.
29093 * term/gfxterm.c: Likewise.
29094 * term/i386/pc/serial.c: Likewise.
29095 * term/i386/pc/vga.c: Likewise.
29096 * term/ieee1275/ofconsole.c: Likewise.
29097 * term/terminfo.c: Likewise.
29098 * video/bitmap.c: Likewise.
29099 * video/efi_gop.c: Likewise.
29100 * video/efi_uga.c: Likewise.
29101 * video/fb/video_fb.c: Likewise.
29102 * video/i386/pc/vbe.c: Likewise.
29103 * video/readers/tga.c: Likewise.
29104 * video/video.c: Likewise.
29105
0ad46fd7 291062009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29107
29108 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29109 * commands/lspci.c: Likewise.
29110 * commands/probe.c: Likewise.
29111 * commands/xnu_uuid.c: Likewise.
29112 * conf/i386-coreboot.rmk: Likewise.
29113 * conf/i386-efi.rmk: Likewise.
29114 * conf/i386-ieee1275.rmk: Likewise.
29115 * conf/i386-pc.rmk: Likewise.
29116 * conf/powerpc-ieee1275.rmk: Likewise.
29117 * conf/sparc64-ieee1275.rmk: Likewise.
29118 * conf/x86_64-efi.rmk: Likewise.
29119 * fs/i386/pc/pxe.c: Likewise.
29120 * gettext/gettext.c: Likewise.
29121 * include/grub/efi/graphics_output.h: Likewise.
29122 * include/grub/i386/pc/memory.h: Likewise.
29123 * kern/env.c: Likewise.
29124 * kern/i386/qemu/startup.S: Likewise.
29125 * lib/i386/pc/biosnum.c: Likewise.
29126 * lib/i386/relocator.c: Likewise.
29127 * lib/i386/relocator_asm.S: Likewise.
29128 * lib/relocator.c: Likewise.
29129 * loader/i386/bsd.c: Likewise.
29130 * loader/i386/multiboot.c: Likewise.
29131 * loader/i386/pc/chainloader.c: Likewise.
29132 * loader/i386/xnu.c: Likewise.
29133 * loader/xnu.c: Likewise.
29134 * normal/main.c: Likewise.
29135 * normal/menu_text.c: Likewise.
29136 * util/getroot.c: Likewise.
29137 * util/grub-mkconfig_lib.in: Likewise.
29138 * util/grub.d/00_header.in: Likewise.
29139 * util/i386/pc/grub-mkimage.c: Likewise.
29140 * util/mkisofs/eltorito.c: Likewise.
29141 * util/mkisofs/exclude.h: Likewise.
29142 * util/mkisofs/hash.c: Likewise.
29143 * util/mkisofs/iso9660.h: Likewise.
29144 * util/mkisofs/joliet.c: Likewise.
29145 * util/mkisofs/mkisofs.c: Likewise.
29146 * util/mkisofs/mkisofs.h: Likewise.
29147 * util/mkisofs/multi.c: Likewise.
29148 * util/mkisofs/name.c: Likewise.
29149 * util/mkisofs/rock.c: Likewise.
29150 * util/mkisofs/tree.c: Likewise.
29151 * util/mkisofs/write.c: Likewise.
29152 * video/efi_gop.c: Likewise.
29153
009ec743
VS
291542009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29155
29156 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29157 size counting.
29158
0ad46fd7 291592009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29160
29161 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29162 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29163
d3d30ea0
VS
291642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29165
29166 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29167 (GRUB_MOD_INIT(memrw)): Update help line.
29168
a34f5c70
VS
291692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29172 Use grub_extcmd_t. All users updated.
29173 (options): New variable.
29174 (grub_cmd_read): Restructure for readability. Support "-v" option.
29175 (grub_cmd_write): Restructure for readability.
29176
0ad46fd7 291772009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29178
29179 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29180
0ad46fd7 291812009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29182
29183 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29184 with the actual contents of the correspondending make variable.
29185 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29186 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29187 specifying `*.lst' and `efiemu??.o'
29188
0ad46fd7 291892009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29190
29191 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29192 after function name.
29193 Noticed by Rene Engelhard <rene@debian.org>.
29194
dc77a799
VS
291952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29196
29197 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29198 (options): New variable.
29199 (iospace): Likewise.
29200 (grub_lspci_iter): List IO spaces if "-i" was given.
29201 (grub_cmd_lspci): Parse options.
29202 (GRUB_MOD_INIT(lspci)): Use extcmd.
29203 (GRUB_MOD_FINI(lspci)): Likewise.
29204
0ad46fd7 292052009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29206
29207 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29208 `function' keyword.
29209 Patch by Tony Mancill <tmancill@debian.org>.
29210
b5d5993b
VS
292112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29212
29213 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29214 (grub_uhci_portstatus): Likewise.
29215 (grub_uhci_portstatus): Add necessary delay.
11d18281 29216 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29217
941903f2 292182009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29219
941903f2 29220 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29221 (GRUB_MOD_INIT): Likewise.
29222 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29223 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29224 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29225 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29226 (enable_rom_area): Likewise.
29227 (GRUB_MOD_INIT): Likewise.
29228 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29229 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29230 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29231 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29232 * commands/hexdump.c (options): Likewise.
29233 * commands/i386/cpuid.c (options): Likewise.
29234 (GRUB_MOD_INIT): Likewise.
29235 * commands/i386/pc/drivemap.c (options): Likewise.
29236 (GRUB_MOD_INIT): Likewise.
29237 * commands/i386/pc/halt (options): Likewise.
29238 (GRUB_MOD_INIT): Likewise.
29239 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29240 * commands/i386/pc/pxecmd.c (options): Likewise.
29241 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29242 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29243 * commands/keystatus.c (options): Likewise.
29244 (GRUB_MOD_INIT): Likewise.
29245 * commands/loadenv.c (options): Likewise.
29246 * commands/ls.c (options): Likewise.
29247 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29248 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29249 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29250 * commands/parttool.c (helpmsg): Likewise.
29251 * commands/probe.c (options): Likewise.
29252 * commands/read.c (GRUB_MOD_INIT): Likewise.
29253 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29254 * commands/search.c (options): Likewise.
29255 * commands/sleep.c (options): Likewise.
29256 * commands/test.c (GRUB_MOD_INIT): Likewise.
29257 * commands/true.c (GRUB_MOD_INIT): Likewise.
29258 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29259 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29260 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29261 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29262 `$(XGETTEXT)'.
98a50553 29263 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29264
0ad46fd7 292652009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29266
ef3c2c3a 29267 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29268 instead of specifying them explicit.
29269
7922f68b
RM
292702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29271
29272 * NEWS: Add grub-probe support for GNU/Hurd.
29273
537ce47f
RM
292742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29275
29276 * NEWS: gettext was added after 1.97.
29277
9b214e3a
RM
292782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29279
29280 * util/mkisofs/msdos_partition.h: New file (based on
29281 include/grub/msdos_partition.h).
29282 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29283 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29284 (ld_options, main): Recognize --protective-msdos-label.
29285 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29286 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29287 (padblock_write): If `use_protective_msdos_label' is set, patch a
29288 protective DOS-style label in the output image.
29289
29290 * util/grub-mkrescue.in: Use --protective-msdos-label.
29291
e9309813
RM
292922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29293
29294 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29295 boot.
29296
0ae56929
RM
292972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29298
29299 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29300 variables.
29301 (ld_options, main): Recognize `--embedded-boot'.
29302 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29303 declarations.
29304 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29305 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29306 (padblock_write): Likewise. Rewrite to support embedded boot image.
29307
29308 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29309 for BIOS-based disk boot instead of only ElTorito.
29310
b15937b1
RM
293112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29312
29313 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29314 build (not needed for bootstrap).
29315
52cc3ce0
RM
293162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29317
29318 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29319 from i386-pc build (not needed for bootstrap).
29320 Rewrite a pair of strings.
29321
36f5ff04
RM
293222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29323
29324 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29325
973c6c85 293262009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29327
29328 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29329
05d21547
AB
293302009-12-21 Andreas Born <futur.andy@googlemail.com>
29331
29332 * kern/env.c (grub_env_context_open): Mark exported variable for
29333 reexport.
29334
0175d51f
AB
293352009-12-21 Andreas Born <futur.andy@googlemail.com>
29336
29337 * kern/env.c (grub_env_export): Create nonexistent variables before
29338 exporting.
29339
7f39d92f 293402009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29341
7f39d92f 29342 * include/grub/auth.h: Include `<grub/i18n.h>'.
29343 (GRUB_GET_PASSWORD): Gettextizze string.
29344 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29345 menu_text.c.
29346 (grub_utf8_to_ucs4_alloc): Fix indentation.
29347 (grub_print_ucs4): Likewise.
29348 (grub_getstringwidth): Likewise.
29349 (print_message_indented): New declaration.
29350 * normal/auth.c: Include `<grub/i18n.h>'.
29351 (grub_auth_check_authentication): Gettexttize string.
29352 * normal/cmdline.c: Include `<grub/i18n.h>'.
29353 (grub_cmdline_get): Gettextizze.
29354 * normal/color.c: Include `<grub/i18n.h>'.
29355 (grub_parse_color_name_pair): Gettexttize strings.
29356 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29357 string (use `print_message_indented').
29358 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29359 `include/grub/normal.h'.
29360 (print_message_indented): Renamed to ...
29361 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29362 used in normal/main.c).
29363 (print_message): Use `grub_print_message_indented' instead of
29364 `print_message_indented'.
29365 (print_timeout): Likewise.
29366 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29367 (grub_normal_print_device_info): Gettexttize strings.
29368 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29369
3041d898
VS
293702009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29371
29372 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29373 of arguments. Return number of tokens and not arguments. All users
29374 updated.
29375
de15bf8e
VS
293762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29377
29378 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29379 non-MSDOS paritions.
29380
e0a6ca52
VS
293812009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29382
29383 * include/grub/types.h (UNUSED): Removed since it conflicts with
29384 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29385 Reported by Grégoire Sutre.
29386
b99518d1 293872009-12-19 Carles Pina i Estany <carles@pina.cat>
29388
29389 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29390 (grub_print_ucs4_alloc): Likewise.
29391 (grub_getstringwidth): Likewise.
29392 * normal/main.c (grub_normal_init_page): Gettextize version string.
29393 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29394 (getstringwidth): Renamed to ...
29395 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29396 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29397 (grub_print_ucs4): Remove `static' qualifer (now used in
29398 normal/main.c).
29399 * po/POTFILES: Add normal/main.c.
29400
bfd5e52b 294012009-12-19 Carles Pina i Estany <carles@pina.cat>
29402
29403 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29404 (print_message_indented): Add `margin_left' and `margin_right'
29405 parameters.
29406 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29407 strings.
29408 (print_timeout): Use `print_message_indented' to print the message.
29409 Deletes `second_stage' parameter.
29410 (run_menu): Update `print_timeout' calls.
29411
5a1ad2b9
VS
294122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 Fix console palette on OpenFirmware.
29415
29416 * term/ieee1275/ofconsole.c (MAX): Removed.
29417 (colors): Redone based on VGA palette.
29418 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29419 colors are supported.
29420 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29421
b045f00a
VS
294222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29423
29424 Fix potential EfiEmu double prepare.
29425
29426 * efiemu/main.c (prepared): New variable
29427 (grub_efiemu_unload): Set prepare to '0'.
29428 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29429
29430 set_virtual_address_map support.
29431
29432 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29433 prototype.
29434 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29435 prototype.
29436 (grub_efiemu_crc32): Likewise.
29437 (grub_efiemu_crc64): Likewise.
29438 (grub_efiemu_set_virtual_address_map): Likewise.
29439 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29440 New definition.
29441 (grub_autoefi_set_virtual_address_map): Likewise.
29442 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29443 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29444 Restructure flow to accomodate it.
29445 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29446 (grub_efiemu_crc): Recompute CRC32.
29447 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29448 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29449 * efiemu/symbols.c (relocated_handle): New variable.
29450 (grub_efiemu_free_syms): Free relocated_handle.
29451 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29452 (grub_efiemu_write_sym_markers): New function.
29453 (grub_efiemu_set_virtual_address_map): Likewise.
29454
29455 Newer XNU parameters.
29456
29457 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29458 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29459 (grub_xnu_fill_devicetree): New prototype.
29460 (grub_xnu_heap_real_start): New variable.
29461 * loader/xnu.c (get_name_ptr): New function.
29462 (grub_xnu_load_driver): Fill namelen and name.
29463
29464 64-bit xnu support.
29465
29466 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29467 and 'loader/macho64.c'.
29468 * conf/i386-pc.rmk: Likewise.
29469 * conf/x86_64-efi.rmk: Likewise.
29470 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29471 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29472 * include/grub/macho.h (grub_macho_segment64): New structure.
29473 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29474 (grub_macho_size32): ... to this.
29475 (grub_macho32_get_entry_point): Renamed from ...
29476 (grub_macho_get_entry_point32): ... to this.
29477 (grub_macho_contains_macho64): New prototype.
29478 (grub_macho_size64): Likewise.
29479 (grub_macho_get_entry_point64): Likewise.
29480 (grub_macho32_load): Renamed from ...
29481 (grub_macho_load32): ... to this.
29482 (grub_macho32_filesize): Renamed from ...
29483 (grub_macho_filesize32): ... to this.
29484 (grub_macho32_readfile): Renamed from ...
29485 (grub_macho_readfile32): ... to this.
29486 (grub_macho_filesize64): New prototype.
29487 (grub_macho_readfile64): Likewise.
29488 (grub_macho_parse32): Likewise.
29489 (grub_macho_parse64): Likewise.
29490 * loader/macho.c: Split into ...
29491 * loader/machoXX.c: ... and this. Replace 32 with XX.
29492 * loader/macho32.c: New file.
29493 * loader/macho64.c: Likewise.
29494 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29495 (grub_cmd_xnu_kernel): Make 32-bit only.
29496 (grub_cmd_xnu_kernel64): New function.
29497 (grub_xnu_load_driver): Support Mach-O 64.
29498 (grub_cmd_xnu_mkext): Likewise.
29499 * util/grub.d/30_os-prober.in (osx_entry): New function.
29500 Generate entries for 64-bit boot too.
29501
29502 Eliminate ad-hoc tree format in XNU and EfiEmu.
29503
29504 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29505 * efiemu/pnvram.c: Rewritten to use environment variables.
29506 All users updated.
29507
29508 Inline utf16_to_utf8.
29509
29510 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29511 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29512 All users updated.
29513 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29514
29515 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29516 * commands/usbtest.c (grub_usb_get_string): ... move here.
29517 (usb_print_str): Fix error handling.
29518 * include/grub/usb.h (grub_usb_get_string): Remove.
29519
29520 UTF-8 to UTF-16 transformation.
29521
29522 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29523 (charset_mod_SOURCES): New variable.
29524 (charset_mod_CFLAGS): Likewise.
29525 (charset_mod_LDFLAGS): Likewise.
29526 * include/grub/utf.h: New file.
29527 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29528
29529 Support for device properties.
29530
29531 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29532 (grub_xnu_devprop_device_header): Likewise.
29533 (grub_xnu_devprop_device_descriptor): Likewise.
29534 (grub_xnu_devprop_add_device): New prototype.
29535 (grub_xnu_devprop_remove_device): Likewise.
29536 (grub_xnu_devprop_remove_property): Likewise.
29537 (grub_xnu_devprop_add_property_utf8): Likewise.
29538 (grub_xnu_devprop_add_property_utf16): Likewise.
29539 (grub_cpu_xnu_init): Likewise.
29540 (grub_cpu_xnu_fini): Likewise.
29541 (grub_cpu_xnu_unload): Likewise.
29542 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29543 (property_descriptor): Likewise.
29544 (devices): New variable.
29545 (grub_xnu_devprop_remove_property): New function.
29546 (grub_xnu_devprop_add_device): Likewise.
29547 (grub_xnu_devprop_remove_device): Likewise.
29548 (grub_xnu_devprop_add_property): Likewise.
29549 (grub_xnu_devprop_add_property_utf8): Likewise.
29550 (grub_xnu_devprop_add_property_utf16): Likewise.
29551 (hextoval): Likewise.
29552 (grub_cpu_xnu_fill_devprop): Likewise.
29553 (grub_cmd_devprop_load): Likewise.
29554 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29555 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29556 (cmd_devprop_load): New variable.
29557 (grub_cpu_xnu_init): New function.
29558 (grub_cpu_xnu_fini): Likewise.
29559 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29560 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29561 (grub_cmd_xnu_devtree): Likewise.
29562 (hextoval): New function.
29563 (unescape): Likewise.
29564 (grub_xnu_fill_devicetree): Likewise.
29565
29566 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29567 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29568
0945f181
VS
295692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29570
29571 Workaround for broken ATI VBE.
29572
29573 * video/i386/pc/vbe.c (last_set_mode): New variable.
29574 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29575 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29576 (grub_video_vbe_setup): Don't check for reserved flag.
29577
0ad46fd7 295782009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29579
29580 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29581 the `find' command.
29582
c179ebe4
VS
295832009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29584
29585 UUID support for HFS.
29586
29587 * fs/hfs.c (grub_hfs_uuid): New function.
29588 (grub_hfs_fs): New value .uuid.
29589 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29590
0ad46fd7 295912009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29592
29593 Fix a segfault with parsing unknown long options.
29594
29595 * util/grub-mkrelpath.c (options): Zero terminate it.
29596
c4a3e41a
CPE
295972009-12-13 Carles Pina i Estany <carles@pina.cat>
29598
29599 * include/grub/misc.h (grub_puts): New declaration.
29600 (grub_puts_): Likewise.
a22008a6 29601 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29602 (grub_puts_): Likewise.
29603
2e8a7602
RM
296042009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * util/grub-probe.c (probe): Improve error message.
29607
b50b77b9
RM
296082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29609
29610 * loader/i386/multiboot_elfxx.c
29611 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29612 initialization.
29613
296142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29615
29616 Relocator framework
29617
29618 * loader/i386/xnu_helper.S: Removed. All users updated.
29619 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29620 (relocator_mod_SOURCES): New variable.
29621 (relocator_mod_CFLAGS): Likewise.
29622 (relocator_mod_LDFLAGS): Likewise.
29623 (relocator_mod_ASFLAGS): Likewise.
29624 * conf/x86_64.rmk: Likewise.
29625 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29626 (grub_multiboot_payload_entry_offset): Likewise.
29627 (grub_multiboot_forward_relocator): Likewise.
29628 (grub_multiboot_forward_relocator_end): Likewise.
29629 (grub_multiboot_backward_relocator): Likewise.
29630 (grub_multiboot_backward_relocator_end): Likewise.
29631 (grub_multiboot_payload_eip): New variable.
29632 (grub_multiboot_payload_orig): Likewise.
29633 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29634 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29635 * include/grub/i386/memory.h
29636 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29637 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29638 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29639 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29640 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29641 * include/grub/i386/relocator.h: New file.
29642 * include/grub/x86_64/relocator.h: Likewise.
29643 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29644 (XNU_RELOCATOR): New macro.
29645 (grub_xnu_launcher_start): Remove.
29646 (grub_xnu_launcher_end): Likewise.
29647 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29648 (grub_xnu_heap_real_start): Remove.
29649 (grub_xnu_heap_start): Change to void *. All users updated.
29650 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29651 * lib/i386/relocator.c: New file.
29652 * lib/i386/relocator_asm.S: Likewise.
29653 * lib/i386/relocator_backward.S: Likewise.
29654 * lib/mips/relocator.c: Likewise.
29655 * lib/mips/relocator_asm.S: Likewise.
29656 * lib/relocator.c: Likewise.
29657 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29658 (entry): Removed.
29659 (playground): Likewise.
29660 (grub_multiboot_payload_orig): New variable.
29661 (grub_multiboot_payload_dest): Likewise.
29662 (grub_multiboot_payload_size): Likewise.
29663 (grub_multiboot_payload_eip): Likewise.
29664 (grub_multiboot_payload_esp): Likewise.
29665 (grub_multiboot_boot): Use grub_relocator32_boot.
29666 (grub_multiboot_unload): Free relocators.
29667 (grub_multiboot): Setup stack. Use relocators.
29668 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29669 (grub_multiboot_load_elfXX): Use relocators.
29670 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29671 (grub_multiboot_payload_size): Likewise.
29672 (grub_multiboot_payload_dest): Likewise.
29673 (grub_multiboot_payload_entry_offset): Likewise.
29674 (grub_multiboot_forward_relocator): Likewise.
29675 (grub_multiboot_backward_relocator): Likewise.
29676 (grub_multiboot_real_boot): Likewise.
29677 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29678 (grub_xnu_entry_point): Likewise.
29679 (grub_xnu_arg1): Likewise.
29680 (grub_xnu_stack): Likewise.
29681 (grub_xnu_launch): Removed.
29682 (grub_xnu_boot_resume): New function.
29683 (grub_xnu_boot): Use relocators.
29684 * loader/i386/xnu_helper.S: Removed.
29685 * loader/xnu.c (grub_xnu_heap_start): New variable.
29686 (grub_xnu_heap_size): Likewise.
29687 (grub_xnu_heap_malloc): Use relocators.
29688 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29689
29eb90c6
VS
296902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29691
29692 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29693 anything.
29694
31027430
CPE
296952009-12-13 Carles Pina i Estany <carles@pina.cat>
29696
29697 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29698 GRUB_ERR_NONE before calling grub_env_set.
29699
dc0c71d9
RM
297002009-12-12 Robert Millan <rmh@aybabtu.com>
29701
29702 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29703 * genmk.rb (video): New variable.
29704 (CLEANFILES, VIDEOFILES): Add #{video}.
29705 (#{video}): New target rule.
29706 * genvideolist.sh: New file.
29707 * Makefile.in (pkglib_DATA): Add video.lst.
29708 (video.lst): New target rule.
29709 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29710 `video.lst'.
29711 * util/grub.d/30_os-prober.in: Replace `vbe' with
29712 ${GRUB_VIDEO_BACKEND}.
29713
2a4bfcf0
RM
297142009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 * THANKS: Add David Miller.
29717
2a3aa4d5
RM
297182009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 libpciaccess support.
29721
29722 * Makefile.in (LIBPCIACCESS): New variable.
29723 (enable_grub_emu_pci): Likewise.
29724 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29725 util/pci.c and commands/lspci.c.
29726 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29727 * configure.ac (grub-emu-pci): New option.
29728 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29729 (grub_pci_device_unmap_range): Likewise.
29730 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29731 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29732 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29733 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29734 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29735 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29736 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29737 * include/grub/pciutils.h: New file.
29738 * util/pci.c: Likewise.
29739
0ad46fd7 297402009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29741
29742 * util/misc.c: Don't include <errno.h> twice.
29743
0ad46fd7 297442009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29745
29746 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29747 name in an error message.
29748 (grub_biosdisk_rw): Likewise.
29749
2e59983c
VS
297502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29751
29752 Eliminate NTFS 4Gib barrier.
29753
29754 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29755 (read_run_data): Likewise.
29756 (grub_ntfs_read_run_list): Likewise.
29757 (grub_ntfs_read_block): Likewise.
29758 (grub_ntfs_iterate_dir): Likewise.
29759 (read_mft): Likewise.
29760 (read_data): Likewise.
29761 Use COM_LOG_LEN.
29762 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29763 to avoid 64-bit division
29764 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29765 (grub_ntfs_rlst): Use grub_disk_addr_t.
29766
71ee178a
VS
297672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29768
29769 Eliminate grub-fstest 4Gib barrier.
29770
29771 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29772 (read_file): Fix error reporting.
29773
2520d4b8
VS
297742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29775
29776 Eliminate hexdump 4Gib barrier.
29777
29778 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29779 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29780
e1f27065
VS
297812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29782
29783 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29784 Fixes amarsh bug.
29785
1a0f7f45
RM
297862009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29787
29788 Remove miscellaneous files in distclean target.
29789
29790 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29791
c631d9fb
CW
297922009-12-09 Colin Watson <cjwatson@ubuntu.com>
29793
29794 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29795 if they're already set. This resolves the conflict between my
29796 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29797 fixing the --grub-probe option again.
29798 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29799 change on 2009-10-06, so that we now once again source
29800 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29801
7c7b6106
RM
298022009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29803
29804 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29805 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29806 `util/devicemap.c'.
29807
e3069ec1
CPE
298082009-12-08 Carles Pina i Estany <carles@pina.cat>
29809
29810 * include/grub/misc.h (grub_printf_): New declaration.
29811 * kern/misc.c (grub_printf_): New definition.
29812 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29813 instead of `grub_printf' and `_'.
29814 * normal/menu_entry.c (store_completion): Likewise.
29815 (run): Likewise.
29816 (grub_menu_entry_run): Likewise.
29817 * normal/menu_text.c (grub_wait_after_message): Likewise.
29818 (notify_booting): Likewise.
29819 (notify_fallback): Likewise.
29820 (notify_execution_failure): Likewise.
29821
d6ceebf1
CW
298222009-12-07 Colin Watson <cjwatson@ubuntu.com>
29823
29824 * configure.ac: Check for vasprintf.
29825 * util/misc.c (asprintf): Move allocation from here ...
29826 (vasprintf): ... to here. New function.
29827 (xasprintf): New function.
29828 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29829 prototypes.
29830 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29831 * util/grub-mkfont.c (write_font): Likewise.
29832 * util/grub-probe.c (probe): Likewise.
29833 * util/hostdisk.c (make_device_name): Likewise.
29834
de6daa8b
DM
298352009-12-06 David S. Miller <davem@sunset.davemloft.net>
29836
29837 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29838 anything even prefixed with 'cdrom' as a cdrom.
29839
0ad46fd7 298402009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29841
29842 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29843 mount points.
29844
98d3dc02
CPE
298452009-12-05 Carles Pina i Estany <carles@pina.cat>
29846
29847 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29848 grub_gettext_msg_list.
29849 (grub_gettext_gettranslation_from_position): Return const char *
29850 and not char *.
a2c1332b 29851 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29852 returns from the list if existing there.
29853 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29854 (grub_gettext_delete_list): Delete the list.
29855 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29856 lang environment variable is changed.
29857 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29858
b283f108
VS
298592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29860
29861 Rename kernel.mod to kernel.img.
29862
29863 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29864 (kernel_mod_EXPORTS): Rename to ...
29865 (kernel_img_EXPORTS): ... this.
29866 (kernel_mod_SOURCES): Rename to ...
29867 (kernel_img_SOURCES): ... this.
29868 (kernel_mod_HEADERS): Rename to ...
29869 (kernel_img_HEADERS): ... this. All users updated.
29870 (kernel_mod_CFLAGS): Rename to ...
29871 (kernel_img_CFLAGS): ... this.
29872 (kernel_mod_ASFLAGS): Rename to ...
29873 (kernel_img_ASFLAGS): ... this.
29874 (kernel_mod_LDFLAGS): Rename to ...
29875 (kernel_img_LDFLAGS): ... this.
29876 * conf/x86_64-efi.rmk: Likewise.
29877 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29878 (read_kernel_image): ... this. All users updated.
29879 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29880
69055f8a
CPE
298812009-12-05 Carles Pina i Estany <carles@pina.cat>
29882
29883 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29884 (print_spaces): New function.
29885 (grub_print_ucs4): New function.
29886 (getstringwidth): New function.
29887 (print_message_indented): New function.
29888 (print_message): Gettexttize strings using print_message_indented.
29889 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29890 width.
29891 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29892 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29893 Gettextize.
29894 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29895 string.
29896 (run): Likewise.
29897 (grub_menu_entry_run): Likewise.
29898 * PO/POTFILES: Add normal/menu_entry.c.
29899
f616f51c
VS
299002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29901
29902 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29903
57bbe3be
CPE
299042009-12-05 Carles Pina i Estany <carles@pina.cat>
29905
29906 * util/grub-install.in: Install gettext .mo files.
29907 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29908
013d67a1
CPE
299092009-12-05 Carles Pina i Estany <carles@pina.cat>
29910
29911 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29912 grub_dprintf.
29913
fb954db0
RM
299142009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29915
29916 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29917 non-firmware-dependant one in realmode.S takes precedence.
29918
6b8474f8
RM
299192009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29920
29921 * commands/halt.c: Replace misc arch-specific headers with
29922 `<grub/misc.h>'.
29923 * commands/reboot.c: Likewise.
29924 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29925 `<grub/misc.h>'.
29926 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29927 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29928 (kernel_img_SOURCES): ... to here.
29929
29930 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29931 * include/grub/i386/pc/init.h: Likewise.
29932 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29933 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29934
29935 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29936
29937 * include/grub/i386/halt.h: Remove.
29938 * include/grub/i386/reboot.h: Likewise.
29939
29940 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29941
4b2e6ca2
DM
299422009-12-03 David S. Miller <davem@sunset.davemloft.net>
29943
29944 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29945 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29946 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29947 "progname.h"
29948 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29949 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29950 (usage): Add missing comma in printf.
29951
5239348f
RM
299522009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 Use the same reboot approach on i386 coreboot and qemu as we do on
29955 BIOS.
29956
29957 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29958 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29959 * kern/i386/reboot.c: Remove.
29960 * include/grub/i386/reboot.h (grub_reboot): Export function.
29961 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29962 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29963 0xf000:0xfff0 instead of 0xffff:0x0000.
29964 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29965 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29966
ef34cbd4
RM
299672009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29968
29969 Fix $srcdir != $objdir build.
29970
29971 * Makefile.in (po/%.po): Rewrite as ...
29972 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29973
dc9837ea
ST
299742009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29975
29976 Fix GNU/Hurd grub-install crash.
29977 * util/grub-probe.c (probe): Try to access `path' only when it is not
29978 NULL.
29979
2f857f98
VS
299802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29981
29982 Correct module naming.
29983
29984 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29985 (GRUB_MOD_INIT(efi_uga)): ... to this
29986 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29987 (GRUB_MOD_FINI(efi_uga)): ... to this
29988 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29989 (GRUB_MOD_INIT(efi_gop)): ... to this
29990 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29991 (GRUB_MOD_FINI(efi_gop)): ... to this
29992
c5448046
RM
299932009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29996 translatable.
29997 (usage): Translate `arg' strings using gettext().
29998 Thanks to Jordi Mallach for the suggestion.
29999
c85184ad
VS
300002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30001
30002 GOP support. Based on patch from Bean
30003 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30004
30005 * video/efi_gop.c: New file.
30006 * include/grub/efi/graphics_output.h: Likewise.
30007 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30008 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30009 variables.
30010 * conf/x86_64-efi.rmk: Likewise.
30011
8a4c48d8
VS
300122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30013
30014 Rename efi_fb to efi_uga.
30015
30016 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30017 'efi_uga.mod'.
30018 (efi_fb_mod_SOURCES): Rename this ...
30019 (efi_uga_mod_SOURCES): ... to this.
30020 (efi_fb_mod_CFLAGS): Rename this ...
30021 (efi_uga_mod_CFLAGS): ... to this.
30022 (efi_fb_mod_LDFLAGS): Rename this ...
30023 (efi_uga_mod_LDFLAGS): ... to this.
30024 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30025 'efi_uga.mod'.
30026 (efi_fb_mod_SOURCES): Rename this ...
30027 (efi_uga_mod_SOURCES): ... to this.
30028 (efi_fb_mod_CFLAGS): Rename this ...
30029 (efi_uga_mod_CFLAGS): ... to this.
30030 (efi_fb_mod_LDFLAGS): Rename this ...
30031 (efi_uga_mod_LDFLAGS): ... to this.
30032 * video/efi_fb.c: Move this ...
30033 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30034
fb6c1a7b
RM
300352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30036
30037 * po/README: New file. Explain our PO file workflow.
30038
3bc7896c
RM
300392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30040
30041 * po/ChangeLog: Remove. Move relevant entries back to ...
30042 * ChangeLog: ... here.
30043 * po/ca.po: Remove (now handled by TLP).
30044 * po/id.po: Likewise.
30045 * po/zh_CN.po: Likewise.
30046 * Makefile.in (LINGUAS): Initialize in a way that supports
30047 empty set.
30048
9ed4841d
RM
300492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30052 reliing on po/LINGUAS.
30053 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30054 (po/%.po): ... this.
30055
0ad46fd7 300562009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30057
30058 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30059 (main): Use `program_name' instead of nonexistent `progname'.
30060
e30dd392
FZ
300612009-11-26 Felix Zielcke <fzielcke@z-51.de>
30062
30063 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30064 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30065
7656de4f
RM
300662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30067
30068 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30069 commit.
30070 * conf/i386-efi.rmk: Likewise.
30071 * conf/i386-ieee1275.rmk: Likewise.
30072 * conf/powerpc-ieee1275.rmk: Likewise.
30073 * conf/sparc64-ieee1275.rmk: Likewise.
30074 * conf/x86_64-efi.rmk: Likewise.
30075
db77c4d4
FZ
300762009-11-26 Felix Zielcke <fzielcke@z-51.de>
30077
30078 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30079
a755bb04
FZ
300802009-11-26 Felix Zielcke <fzielcke@z-51.de>
30081
30082 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30083
8a4c07fd
RM
300842009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30085
30086 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30087 (grub_mkdevicemap_SOURCES): New variable.
30088 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30089 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30090 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30091 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30092 (grub_mkdevicemap_SOURCES): Remove.
30093 * conf/i386-efi.rmk: Likewise.
30094 * conf/i386-ieee1275.rmk: Likewise.
30095 * conf/i386-pc.rmk: Likewise.
30096 * conf/powerpc-ieee1275.rmk: Likewise.
30097 * conf/sparc64-ieee1275.rmk: Likewise.
30098 * conf/x86_64-efi.rmk: Likewise.
30099 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30100 (usage): Fix strings to use `program_name'.
30101 (main): Initialize gettext.
30102 * util/grub-editenv.c: Likewise.
30103 * util/grub-emu.c: Likewise.
30104 * util/grub-fstest.c: Likewise.
30105 * util/grub-mkdevicemap.c: Likewise.
30106 * util/grub-mkfont.c: Likewise.
30107 * util/grub-mkrelpath.c: Likewise.
30108 * util/grub-pe2elf.c: Likewise.
30109 * util/grub-probe.c: Likewise.
30110 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30111 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30112 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30113
30114 * util/misc.c: Include `"progname.h"'.
30115 (progname): Remove variable.
30116 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30117
6f61ed55
FZ
301182009-11-25 Felix Zielcke <fzielcke@z-51.de>
30119
30120 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30121 printf and print a newline after the menuentry header line.
30122 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30123
f022876b
FZ
301242009-11-25 Felix Zielcke <fzielcke@z-51.de>
30125
30126 autoconf >= 2.60 support $(localedir).
30127
30128 * INSTALL: Note that autoconf 2.60 is required.
30129 * configure.ac (AC_PREREQ): Bump to 2.60.
30130 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30131 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30132
6717926e
YB
301332009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30134
30135 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30136 aclocal is run.
30137
08806a54
RM
301382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30139
30140 * normal/main.c (grub_normal_read_line): Fix off-by-one
30141 buffer overflow.
30142
13b33fba
RM
301432009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30144
30145 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30146 "parser.grub" in grub_command_execute() call.
30147
4a8572e9
CPE
301482009-11-24 Carles Pina i Estany <carles@pina.cat>
30149
30150 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30151 * conf/i386-efi.rmk: Likewise.
30152 * conf/i386-ieee1275.rmk: Likewise.
30153 * conf/i386-pc.rmk: Likewise.
30154 * conf/powerpc-ieee1275.rmk: Likewise.
30155 * conf/sparc64-ieee1275.rmk: Likewise.
30156 * conf/x86_64-efi.rmk: Likewise.
30157 * gettext/gettex.c: Include <grub/i18n.h>.
30158 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30159 here ...
30160 * include/grub/i18n.h: ... to here
30161 * include/grub/i18n.h: ... to here.
30162 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30163 (grub_gettext_dummy): Move above user.
4a8572e9 30164
bee48093
FZ
301652009-11-24 Felix Zielcke <fzielcke@z-51.de>
30166
30167 * util/Makefile.in (install-local): Convert a `for' into a normal
30168 shell expansion.
30169
a031e91c
RM
301702009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30171
30172 * autogen.sh: Add automake call.
30173 * config.guess: Remove.
30174 * config.sub: Likewise.
30175 * install-sh: Likewise.
30176
26bec39d
FZ
301772009-11-24 Felix Zielcke <fzielcke@z-51.de>
30178
30179 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30180
8e2532fd
FZ
301812009-11-24 Felix Zielcke <fzielcke@z-51.de>
30182
30183 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30184 function to a normal shell `for'.
30185
fefa1b7d
FZ
301862009-11-24 Felix Zielcke <fzielcke@z-51.de>
30187
30188 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30189
4501250b
FZ
301902009-11-24 Felix Zielcke <fzielcke@z-51.de>
30191
30192 * util/grub-mkrelpath.c: New file.
30193 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30194 (grub_mkrelpath_SOURCES): New variable.
30195 * include/grub/util/misc.h: New function prototype.
30196 * util/misc.c (make_system_path_relative_to_its_root): New function.
30197
30198 * util/grub-mkconfig_lib.in (bindir): New variable.
30199 (grub_mkrelpath): Likewise.
30200 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30201
30202 * util/probe.c (probe): Make the file path relative to its root.
30203 Change a info message to use the GRUB path. Enable again the
30204 check if we can read the file with GRUB facilities.
30205
30206 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30207 to its root.
30208
11d9778b
FZ
302092009-11-24 Felix Zielcke <fzielcke@z-51.de>
30210
30211 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30212 platform.
30213
4465287d
FZ
302142009-11-24 Felix Zielcke <fzielcke@z-51.de>
30215
30216 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30217 strncmp().
30218
62b47f22
FZ
302192009-11-24 Felix Zielcke <fzielcke@z-51.de>
30220
30221 * util/getroot.c (grub_util_is_dmraid): New function.
30222 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30223 devices as normal ones, not as LVM.
30224
1eafb9b9 302252009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30226
30227 * conf/common.rmk: Add grub-gettext_lib target and updates
30228 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30229 LDFLAGS.
30230 * gettext/gettext.c: New file. (Reads mo files).
30231 * include/grub/file.h (grub_file_pread): New prototype.
30232 * include/grub/i18n.h (_): New prototype.
30233 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30234 prototypes.
30235 * kern/misc.c (grub_gettext_dummy): New function.
30236 * normal/menu_text.c: Include <grub/i18n.h>.
30237 * normal/menu_text.c (print_timeout): Gettexttize string.
30238 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30239 * po/POTFILES: Add `normal/menu_text.c'.
30240 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30241 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30242 gettext module and defines locale_dir and lang in grub.cfg.
30243 * NEWS: Add gettext support.
30244
0fdb2568
RM
302452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30246
30247 * util/hostdisk.c: Include `<grub/i18n.h>'.
30248 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30249 (make_device_name): Rewrite using asprintf.
30250 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30251 (find_system_device): If a device is not found, generate one just
30252 by reusing the OS path name.
30253 (read_device_map): Make it permissible for device.map not to exist.
30254
f515aa62
RM
302552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30256
30257 * script/sh/execute.c: Move from here ...
30258 * script/execute.c: ... to here. Update all users.
30259 * script/sh/function.c: Move from here ...
30260 * script/function.c: ... to here. Update all users.
30261 * script/sh/lexer.c: Move from here ...
30262 * script/lexer.c: ... to here. Update all users.
30263 * script/sh/main.c: Move from here ...
30264 * script/main.c: ... to here. Update all users.
30265 * script/sh/parser.y: Move from here ...
30266 * script/parser.y: ... to here. Update all users.
30267 * script/sh/script.c: Move from here ...
30268 * script/script.c: ... to here. Update all users.
30269
f84b481b
RM
302702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30271
30272 * configure.ac: Detect all `emu' platforms. Define
30273 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30274 --enable-grub-emu logic. Disable include/grub/machine
30275 symlink on `emu' platforms.
30276
30277 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30278 * gensymlist.sh.in: Likewise.
30279
30280 * include/grub/i386/coreboot/machine.h: Remove file.
30281 * include/grub/i386/efi/machine.h: Likewise.
30282 * include/grub/i386/ieee1275/machine.h: Likewise.
30283 * include/grub/i386/pc/machine.h: Likewise.
30284 * include/grub/i386/qemu/machine.h: Likewise.
30285 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30286 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30287 * include/grub/x86_64/efi/machine.h: Likewise.
30288
30289 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30290 * commands/halt.c: Likewise.
30291 * commands/reboot.c: Likewise.
30292 * include/grub/autoefi.h: Likewise.
30293 * include/grub/i386/at_keyboard.h: Likewise.
30294 * include/grub/i386/kernel.h: Likewise.
30295 * include/grub/i386/loader.h: Likewise.
30296 * include/grub/i386/pc/memory.h: Likewise.
30297 * kern/dl.c: Likewise.
30298 * kern/i386/coreboot/init.c: Likewise.
30299 * loader/i386/bsd.c: Likewise.
30300 * loader/i386/linux.c: Likewise.
30301 * loader/multiboot_loader.c: Likewise.
30302 * term/i386/pc/serial.c: Likewise.
30303 * term/usb_keyboard.c: Likewise.
30304
30305 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30306 `<grub/machine/machine.h>'
30307 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30308 * util/misc.c: Remove `<grub/machine/machine.h>' and
30309 `<grub/machine/time.h>'.
30310
30311 * Makefile.in (enable_grub_emu): Remove variable.
30312 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30313
30314 * conf/any-emu.rmk: New file.
30315 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30316 (grub_emu_init.c): Move from here ...
30317 * conf/any-emu.rmk: ... to here.
30318
30319 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30320 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30321 * conf/any-emu.rmk: ... to here.
30322
4efeab03
RM
303232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30324
30325 * include/grub/parser.h (grub_parser_register): Document need
30326 of `name' parameter.
30327 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30328 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30329 "sh" to "grub".
30330
ea1dd8bf
RM
303312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30332
30333 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30334 `$(XGETTEXT)'.
30335 * include/grub/i18n.h (N_): New macro.
30336 * util/mkisofs/mkisofs.h: Likewise.
30337 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30338 around N_().
30339 (usage): Use gettext() to translate help strings when printing them.
30340
0c140626
RM
303412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30342
30343 Based on patch from Bean
30344 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30345
30346 * video/efi_fb.c: New file.
30347 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30348 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30349 variables.
30350 * conf/x86_64-efi.rmk: Likewise.
30351
87d58298
RM
303522009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30353
30354 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30355 * util/i386/pc/grub-setup.c: Likewise.
30356
994cc3a3
ST
303572009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30358
30359 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30360 <hurd/fs.h>
30361 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30362 file_get_storage_info to implement grub_guess_root_device.
30363
26a61d6a
FZ
303642009-11-21 Felix Zielcke <fzielcke@z-51.de>
30365
30366 * Makefile.in (target): Use make's builtin $(shell) function
30367 instead of calling directly $(SHELL) to create the locale directories,
30368 inside the $(foreach) function.
30369
74ff1dd5
FZ
303702009-11-21 Felix Zielcke <fzielcke@z-51.de>
30371
30372 * util/grub-mkrescue.in: Print an error and usage if output option
30373 has not been given.
30374
0b787d0e
FZ
303752009-11-21 Felix Zielcke <fzielcke@z-51.de>
30376
30377 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30378 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30379 root and /boot are on different devices.
30380
1164b270
RM
303812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30382
30383 Fix build for srcdir != objdir.
30384
30385 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30386 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30387 $(srcdir).
30388 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30389 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30390 reference for input.
30391
13774a2f
RM
303922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30393
30394 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30395 or hardlinking it). Remove -J option, Joliet is not compatible with
30396 multiple source directories.
30397
efda854e
RM
303982009-11-21 Carles Pina i Estany <carles@pina.cat>
303992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30400
30401 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30402 (process_input_dir): New function. Process an arbitrary input
30403 directory.
30404 Misc adjustments to support both "override mode" and system-wide mode.
30405
6c09890c
FZ
304062009-11-20 Felix Zielcke <fzielcke@z-51.de>
30407
30408 * configure.ac (UNIFONT_BDF): Rename to ...
30409 (FONT_SOURCE): ... this. Update all users.
30410
a797824f
FZ
304112009-11-20 Felix Zielcke <fzielcke@z-51.de>
30412
30413 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30414 to the list of unifont files to look for.
30415
cd4f42b0
RM
304162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30417
30418 Patch from Joe Auricchio <jauricchio@gmail.com>
30419 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30420 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30421 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30422
393c783d
FZ
304232009-11-19 Felix Zielcke <fzielcke@z-51.de>
30424
30425 * Makefile.in (install-local): Add a missing backslash.
30426
b2f1e327
FZ
304272009-11-19 Felix Zielcke <fzielcke@z-51.de>
30428
30429 * include/grub/x86_64/io.h: New file.
30430
f577f7a0
RM
304312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30432
30433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30434 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30435 Include `"progname.h"'.
30436 (main): Initialize gettext.
30437 * util/i386/pc/grub-setup.c: Gettexttize.
30438 * util/i386/pc/grub-mkimage.c: Likewise.
30439
30440 * Makefile.in (po/*.po): Redefine as ...
30441 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30442
3bc7896c
RM
30443 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30444
c37943b6
RM
304452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30446
30447 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30448 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30449 (program_name): Remove.
30450 (main): Initialize gettext support.
6323f705
RM
30451 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30452 Include `<libintl.h>'.
30453 (_): New macro.
c37943b6
RM
30454
30455 * util/mkisofs/eltorito.c: Gettexttize.
30456 * util/mkisofs/joliet.c: Likewise.
30457 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30458 * util/mkisofs/multi.c: Likewise.
30459 * util/mkisofs/rock.c: Likewise.
30460 * util/mkisofs/tree.c: Likewise.
30461 * util/mkisofs/write.c: Likewise.
30462
3bc7896c
RM
30463 * po/POTFILES: Update with new files.
30464
5ce77c6e
RM
304652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30466
30467 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30468 * util/mkisofs/iso9660.h: Likewise.
30469 * util/mkisofs/joliet.c: Likewise.
30470 * util/mkisofs/mkisofs.c: Likewise.
30471 * util/mkisofs/mkisofs.h: Likewise.
30472 * util/mkisofs/rock.c: Likewise.
30473 * util/mkisofs/tree.c: Likewise.
30474 * util/mkisofs/write.c: Likewise.
30475
30476 * util/mkisofs/eltorito.c (rcsid): Remove.
30477 * util/mkisofs/hash.c: Likewise.
30478 * util/mkisofs/joliet.c: Likewise.
30479 * util/mkisofs/name.c: Likewise.
30480 * util/mkisofs/rock.c: Likewise.
30481 * util/mkisofs/tree.c: Likewise.
30482 * util/mkisofs/write.c: Likewise.
30483
1dabbc77
RM
304842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30485
30486 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30487 instead of static allocation.
30488 * util/mkisofs/match.h: Likewise.
30489
633877cb
RM
304902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30491
3bc7896c
RM
30492 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30493 and `util/grub.d/10_linux.in'.
633877cb
RM
30494 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30495 translatable Shell files.
30496
af1c0c85
RM
304972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30498
30499 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30500
769ae37b
RM
305012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30502
30503 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30504 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30505 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30506 Add gettext initialization.
30507 (kfreebsd_entry): Make menuentry output translatable.
30508
305092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30510
30511 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30512 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30513 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30514 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30515 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30516 * po/LINGUAS: New file.
769ae37b
RM
30517
305182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30519
30520 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30521 other things).
30522 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30523 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30524 bindtextdomain() calls for gettext initialization.
30525
305262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 * gnulib/progname.c: New file (imported from Gnulib).
30529 * gnulib/progname.h: Likewise.
30530 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30531 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30532 (usage): Replace `progname' with `program_name'.
30533 (main): Use set_program_name() for program name initialization.
30534
305352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30536
30537 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30538 from here ...
30539 * Makefile.in (CPPFLAGS): ... to here.
30540
305412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30542
30543 * aclocal.m4: Move from here ...
30544 * acinclude.m4: ... to here.
30545 * autogen.sh: Add call to `aclocal'.
30546 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30547
305482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30549
30550 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30551 (LINGUAS): New variable.
30552 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30553 (install-local): Install MO files.
30554 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30555 * include/grub/i18n.h: New file.
3bc7896c
RM
30556 * po/POTFILES: New file.
30557 * po/ca.po: New file.
769ae37b
RM
30558 * util/grub.d/10_linux.in (bindir): New variable.
30559 Add gettext initialization.
30560 (linux_entry): Make menuentry output translatable.
30561 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30562 (usage): Make --help output translatable.
30563 (main): Initialize gettext.
30564
02c0a6ad
RM
305652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30566
30567 * import_gcry.py: New file (written by Vladimir with minor
30568 adjustments).
30569 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30570 ciphers.
30571 * INSTALL: Document that Python is required for bootstrap.
30572
305732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30574
30575 Import ciphers from libgcrypt 1.4.4.
30576
30577 * lib/libgcrypt/cipher/ChangeLog
30578 * lib/libgcrypt/cipher/ac.c
30579 * lib/libgcrypt/cipher/arcfour.c
30580 * lib/libgcrypt/cipher/bithelp.h
30581 * lib/libgcrypt/cipher/blowfish.c
30582 * lib/libgcrypt/cipher/camellia-glue.c
30583 * lib/libgcrypt/cipher/camellia.c
30584 * lib/libgcrypt/cipher/camellia.h
30585 * lib/libgcrypt/cipher/cast5.c
30586 * lib/libgcrypt/cipher/cipher.c
30587 * lib/libgcrypt/cipher/crc.c
30588 * lib/libgcrypt/cipher/des.c
30589 * lib/libgcrypt/cipher/dsa.c
30590 * lib/libgcrypt/cipher/ecc.c
30591 * lib/libgcrypt/cipher/elgamal.c
30592 * lib/libgcrypt/cipher/hash-common.c
30593 * lib/libgcrypt/cipher/hash-common.h
30594 * lib/libgcrypt/cipher/hmac-tests.c
30595 * lib/libgcrypt/cipher/md.c
30596 * lib/libgcrypt/cipher/md4.c
30597 * lib/libgcrypt/cipher/md5.c
30598 * lib/libgcrypt/cipher/primegen.c
30599 * lib/libgcrypt/cipher/pubkey.c
30600 * lib/libgcrypt/cipher/rfc2268.c
30601 * lib/libgcrypt/cipher/rijndael-tables.h
30602 * lib/libgcrypt/cipher/rijndael.c
30603 * lib/libgcrypt/cipher/rmd.h
30604 * lib/libgcrypt/cipher/rmd160.c
30605 * lib/libgcrypt/cipher/rsa.c
30606 * lib/libgcrypt/cipher/seed.c
30607 * lib/libgcrypt/cipher/serpent.c
30608 * lib/libgcrypt/cipher/sha1.c
30609 * lib/libgcrypt/cipher/sha256.c
30610 * lib/libgcrypt/cipher/sha512.c
30611 * lib/libgcrypt/cipher/tiger.c
30612 * lib/libgcrypt/cipher/twofish.c
30613 * lib/libgcrypt/cipher/whirlpool.c
30614
af2f93ac
RM
306152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30616
30617 Fix build for systems without error().
30618
30619 * gnulib/error.c: New file (imported from Gnulib).
30620 * gnulib/error.h: Likewise.
30621 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30622 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30623 (this variable is now used by error()).
30624
73fb3dd5
FZ
306252009-11-16 Felix Zielcke <fzielcke@z-51.de>
30626
814f5e96
FZ
30627 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30628 instead of relying that char is signed.
73fb3dd5 30629
a691ca33
VS
306302009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30631
30632 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30633 blocksize different from specified.
30634 (grub_pxefs_read): Likewise.
30635
2af8f0f4
FZ
306362009-11-16 Felix Zielcke <fzielcke@z-51.de>
30637
30638 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30639
30640 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30641 (grub_ata_readwrite): Likewise. Update 2 format strings.
30642 (grub_atapi_read): Likewise.
30643
30644 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30645 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30646 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30647 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30648 (ata_mod_LDFLAGS): Move from here ...
30649 * conf/i386.rmk: ... to here ...
30650 * conf/x86_64-efi.rmk: ... and here.
30651 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30652 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30653
83bdecaf
RM
306542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30655
30656 Relicense multiboot.h, with RMS' blessing.
30657
30658 * include/multiboot.h: Change to X11 license.
30659
fd6fd3d7
RM
306602009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30661
30662 Support --version in grub-mkisofs.
30663
30664 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30665 (OPTION_VERSION): New macro.
30666 (ld_options): Recognize --version.
30667 (usage): Move `program_name' from here ...
30668 (program_name): ... to here. Add `static' qualifier.
30669 (main): Recognize `OPTION_VERSION'.
30670
16a88c49
FZ
306712009-11-15 Felix Zielcke <fzielcke@z-51.de>
30672
30673 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30674 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30675
a4158476
RM
306762009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 Fix help2man generation for mkisofs.
30679
30680 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30681 (usage): Send output to stdout (rather than stderr).
30682
fc2208b0
RM
306832009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30684
30685 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30686 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30687 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30688 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30689 (bin_SCRIPTS): Add `grub-mkfloppy'.
30690 (grub_mkfloppy_SOURCES): New variable.
30691
30692 * util/grub-mkrescue.in: New file.
30693 * util/i386/pc/grub-mkfloppy.in: New file.
30694
30695 * util/i386/coreboot/grub-mkrescue.in: Remove.
30696 * util/i386/pc/grub-mkrescue.in: Remove.
30697
8d0edf4a
RM
306982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30699
30700 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30701 from here ...
30702 * include/multiboot.h (struct multiboot_header): ... to here. Update
30703 all users.
30704 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30705 from here ...
30706 * include/multiboot.h (struct multiboot_info): ... to here. Update
30707 all users.
30708 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30709 from here ...
30710 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30711 Update all users.
30712 * include/grub/multiboot.h (struct grub_mod_list): Move
30713 from here ...
30714 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30715 Update all users.
30716
a73f5969
RM
307172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30718
30719 * include/multiboot2.h (multiboot_word): Rename from this ...
30720 (multiboot2_word): ... to this. Update all users.
30721 (multiboot_header): Rename from this ...
30722 (multiboot2_header): ... to this. Update all users.
30723 (multiboot_tag_header): Rename from this ...
30724 (multiboot2_tag_header): ... to this. Update all users.
30725 (multiboot_tag_start): Rename from this ...
30726 (multiboot2_tag_start): ... to this. Update all users.
30727 (multiboot_tag_name): Rename from this ...
30728 (multiboot2_tag_name): ... to this. Update all users.
30729 (multiboot_tag_module): Rename from this ...
30730 (multiboot2_tag_module): ... to this. Update all users.
30731 (multiboot_tag_memory): Rename from this ...
30732 (multiboot2_tag_memory): ... to this. Update all users.
30733 (multiboot_tag_unused): Rename from this ...
30734 (multiboot2_tag_unused): ... to this. Update all users.
30735 (multiboot_tag_end): Rename from this ...
30736 (multiboot2_tag_end): ... to this. Update all users.
30737
1c8927f0
RM
307382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30739
30740 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30741 this platform we should support Multiboot1 first.
30742
30743 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30744 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30745 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30746
6e1e0d89
RM
307472009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30748
30749 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30750 of write calls (converting them to fwrite() if they aren't already).
30751 (get_torito_desc): Likewise.
30752 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30753
7f2b34d8
RM
307542009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30755
30756 * util/i386/pc/grub-install.in: Move from here ...
30757 * util/grub-install.in: ... to here. Update all users.
30758
c0ef3311
CW
307592009-11-11 Colin Watson <cjwatson@ubuntu.com>
30760
30761 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30762
e1f240ff
RM
307632009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30764
30765 Support for El Torito without floppy emulation.
30766
30767 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30768 (init_boot_catalog): Improve error handling.
30769 (get_torito_desc): Don't use floppy emulation unless requested by
30770 user. Patch boot information table when requested via
30771 `-boot-info-table'.
30772 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30773 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30774 (use_boot_info_table): New variables.
30775 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30776 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30777 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30778 `--eltorito-emul-floppy'.
30779 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30780 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30781 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30782 (use_boot_info_table, get_731): New prototypes.
30783 * util/mkisofs/write.c (get_731): New function.
30784
af7d4de5
FZ
307852009-11-11 Felix Zielcke <fzielcke@z-51.de>
30786
30787 Fix the generation of the man page.
30788
30789 * util/pc/i386/grub-install.in: Source
30790 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30791
2c55dbc0
RM
307922009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30793
30794 Large file support for grub-mkisofs.
30795
30796 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30797 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30798 (session_start): Upgrade type to `uint64_t'. Update all users.
30799 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30800 (struct directory_entry): Upgrade type of `starting_block' and
30801 `size' to `uint64_t'. Update all users.
30802 (struct deferred): Remove unused structure.
30803 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30804 Update all users.
30805 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30806 file is larger than `UINT32_MAX'.
30807 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30808 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30809 return value.
30810 (struct deferred_write): Upgrade type of `extent' and `size' to
30811 `uint64_t'. Update all users.
30812 (last_extent_written): Upgrade type to `uint64_t'. Update all
30813 users.
30814 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30815 Update all users. Upgrade type of `remain' to `int64_t' and
30816 `use' to `size_t'. Use error() to handle fread() errors.
30817 (write_files): Rely on write_one_file() rather than calling
30818 xfwrite() directly.
30819
6a9cead5
FZ
308202009-11-09 Felix Zielcke <fzielcke@z-51.de>
30821
30822 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30823
4825d790
RM
308242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30825
30826 * util/mkisofs/fnmatch.c: Remove.
30827 * util/mkisofs/getopt1.c: Likewise.
30828 * util/mkisofs/getopt.c: Likewise.
30829 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30830 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30831 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30832 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30833 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30834
30835 * configure.ac: Detect `mingw32msvc' host_os.
30836 Check for lstat(), getuid() and getgid().
30837
30838 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30839 instances of `u_char' with `uint8_t'.
30840
30841 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30842 [!HAVE_GETUID] (getuid): New function (stub).
30843 [!HAVE_GETGID] (getgid): Likewise.
30844 [!HAVE_LSTAT] (lstat): Likewise.
30845 [!S_IROTH] (S_IROTH): New macro (dummy).
30846 [!S_IRGRP] (S_IRGRP): Likewise.
30847
84b860d8
RM
308482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30849
30850 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30851 conditional expression).
30852
66e9b712
RM
308532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30854
30855 Import from Gnulib.
30856
30857 * gnulib/fnmatch.c: New file.
30858 * gnulib/fnmatch.h: Likewise.
30859 * gnulib/fnmatch_loop.c: Likewise.
30860 * gnulib/getopt.c: Likewise.
30861 * gnulib/getopt.h: Likewise.
30862 * gnulib/getopt1.c: Likewise.
30863 * gnulib/getopt_int.h: Likewise.
30864 * gnulib/gettext.h: Likewise.
30865
34f4a5b0
RM
308662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30867
30868 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30869 * normal/handler.c (read_handler_list): Likewise.
30870
ac451143
RM
308712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30872
30873 Misc cleanup.
30874
30875 * kern/command.c (grub_register_command_prio): Use
30876 grub_zalloc() instead of explicitly zeroing data.
30877 * kern/list.c: Include `<grub/mm.h>'.
30878 (grub_named_list_find): Replace `0' with `NULL'.
30879 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30880 (fs_module_list): Change type to `grub_named_list_t'. Update all
30881 users.
30882 * normal/dyncmd.c (read_command_list): Add space between function
30883 call and parenthesis.
30884 * normal/handler.c (read_handler_list): Likewise.
30885
4089b167
RM
308862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30887
30888 * normal/auth.c (punishment_delay): Moved from here ...
30889 (grub_auth_strcmp): ... to here (inside function).
30890
325f5037
RM
308912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30892
30893 * include/grub/list.h (struct grub_named_list): Remove `const'
30894 qualifier from `name'.
30895 (struct grub_prio_list): Likewise.
30896
7aea29a3
RM
308972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30898
30899 * normal/auth.c: Include `<grub/time.h>'.
30900 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30901
3fd6f044
RM
309022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30903
30904 * normal/auth.c (punishment_delay): New variable.
30905 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30906 (grub_auth_check_authentication): Punish failed login attempts with
30907 an incremental (2^N) delay.
30908
a4cd68e4
RM
309092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30910
30911 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30912 path with $(srcdir).
30913
7ad12f43
VS
309142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30917
c1129f03
RM
309182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30919
30920 * util/i386/coreboot/grub-mkrescue.in: New file.
30921 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30922 variables.
30923
30924 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30925 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30926 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30927 requirements.
30928 * util/mkisofs/defaults.h: New file.
30929 * util/mkisofs/eltorito.c: Likewise.
30930 * util/mkisofs/exclude.h: Likewise.
30931 * util/mkisofs/fnmatch.c: Likewise.
30932 * util/mkisofs/getopt.c: Likewise.
30933 * util/mkisofs/getopt1.c: Likewise.
30934 * util/mkisofs/hash.c: Likewise.
30935 * util/mkisofs/include/fctldefs.h: Likewise.
30936 * util/mkisofs/include/mconfig.h: Likewise.
30937 * util/mkisofs/include/prototyp.h: Likewise.
30938 * util/mkisofs/include/statdefs.h: Likewise.
30939 * util/mkisofs/iso9660.h: Likewise.
30940 * util/mkisofs/joliet.c: Likewise.
30941 * util/mkisofs/match.c: Likewise.
30942 * util/mkisofs/match.h: Likewise.
30943 * util/mkisofs/mkisofs.c: Likewise.
30944 * util/mkisofs/mkisofs.h: Likewise.
30945 * util/mkisofs/multi.c: Likewise.
30946 * util/mkisofs/name.c: Likewise.
30947 * util/mkisofs/rock.c: Likewise.
30948 * util/mkisofs/tree.c: Likewise.
30949 * util/mkisofs/write.c: Likewise.
30950
ec8bb77d
VS
309512009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30952
30953 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30954 being insecure.
30955
3716b12c
RM
309562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30959 `grub-mkimage' (and use $0 when possible).
30960
b97b7b91
RM
309612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30962
30963 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30964 error message for excessively large memory map.
30965
04114812
RM
309662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30967
30968 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30969 executable bit.
30970
e4eb2373
RM
309712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30972
30973 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30974 message for coreboot users.
30975
c926e1d5 309762009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30977
30978 Fix build with GNU gold.
30979
30980 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30981 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30982 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30983 link addresses.
30984 * aclocal.m4: Likewise.
30985
86e5b1db 309862009-11-04 Felix Zielcke <fzielcke@z-51.de>
30987
30988 * configure.ac (AC_PREREQ): Bump to 2.59d.
30989 * INSTALL: Make it more clear when Autoconf and Ruby are
30990 needed and when to run `./autogen.sh'.
30991
246cd78f 309922009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30993
30994 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30995 OSes.
30996
4f9dfb37 309972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30998
30999 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31000
b82bd5e1 310012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31002
31003 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31004 giving it to GNU Mach.
31005
ff1a9bca 310062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31007
31008 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31009 GNU partition number to get internal GRUB partition number.
31010
61697d9c 310112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31012
31013 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31014 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31015
a50569e1 310162009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31017
31018 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31019 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31020 case.
31021
5b153867 310222009-11-01 Felix Zielcke <fzielcke@z-51.de>
31023
31024 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31025
d9e2cd70 310262009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31027
31028 Fix build problem.
31029
31030 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31031 `-isystem=$(srcdir)/include'.
31032
805111a4 310332009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31036 checked (grub-install doesn't currently rely on it).
31037
fa6e945f 310382009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31039
31040 Revert SVN r2660.
31041
31042 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31043 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31044 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31045 * conf/i386-ieee1275.rmk: Likewise.
31046 * conf/i386-pc.rmk: Likewise.
31047 * conf/powerpc-ieee1275.rmk: Likewise.
31048 * conf/sparc64-ieee1275.rmk: Likewise.
31049 * conf/x86_64-efi.rmk: Likewise.
31050
cee15086 310512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31052
31053 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31054
95b9239e 310552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 * include/grub/misc.h: Stop checking for APPLE_CC.
31058
2ed19dfd 310592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31060
31061 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31062 doesn't cause an infinite call loop.
31063
fdcdde19 310642009-10-28 Felix Zielcke <fzielcke@z-51.de>
31065
31066 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31067 strings.
31068
cefabfe1 310692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31070
31071 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31072 variable.
31073 * Makefile.in: Likewise.
31074
ed96ab6d 310752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31076
31077 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31078
0579b753 310792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31082
478df409 310832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31086
083d1679 310872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31088
31089 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31090 from here ...
31091 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31092
5947ae32 310932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31096 in $(MAKEINFO) invocation. This makes it clear in output that
31097 errors are being ignored.
31098
94180ff6 310992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31100
31101 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31102 from here ...
31103 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31104 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31105 * conf/i386-ieee1275.rmk: Likewise.
31106 * conf/i386-pc.rmk: Likewise.
31107 * conf/powerpc-ieee1275.rmk: Likewise.
31108 * conf/sparc64-ieee1275.rmk: Likewise.
31109 * conf/x86_64-efi.rmk: Likewise.
31110
9031b03a 311112009-10-26 Colin Watson <cjwatson@ubuntu.com>
31112
31113 * util/grub-editenv.c (main): If only a command is given, use
31114 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31115 (usage): FILENAME is now optional and has a default.
31116
e4f6809b 311172009-10-26 Colin Watson <cjwatson@ubuntu.com>
31118
31119 Improve grub-mkconfig performance when there are several menu
31120 entries on a single filesystem.
31121
31122 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31123 prepare_grub_to_access_device.
31124 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31125 * util/grub.d/30_os-prober.in: Likewise.
31126
67937d4d 311272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31128
31129 * util/grub.d/10_freebsd.in: Remove.
31130 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31131 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31132
ee3756cc 311332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31134
5c35048e 31135 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31136
4dea1c6f 311372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31138
31139 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31140 grub_util_error() call.
31141
042484d7 311422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31143
31144 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31145 `reserved_first_sector' member.
31146 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31147 `reserved_first_sector' to 1.
31148 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31149 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31150 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31151 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31152 filesystems which begin at first sector.
31153 (options): New option --skip-fs-probe.
31154 (main): Handle --skip-fs-probe and pass it to setup().
31155
d64448a7 311562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31157
31158 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31159 (memset): Fix function prototype.
31160
508d42ec 311612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
311622009-10-25 Vasily Averin <vvs@parallels.com>
31163
31164 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31165 `dirent.direntlen == 0'.
31166
b240e30c 311672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31168
31169 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31170 `cpio'.
31171 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31172
346e7fbe 311732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31174
31175 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31176 `__trampoline_setup' and `__ucmpdi2'.
31177 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31178 that libgcc provides.
31179
cdb308b0 311802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31181
31182 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31183 * include/grub/sparc64/libgcc.h (memset): Likewise.
31184 * include/grub/misc.h (memset, memcmp): New function prototypes.
31185
fb26abc2 311862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31187
31188 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31189 `cpio'.
31190 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31191
f6693890 311922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31193
31194 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31195 * docs/grub.cfg: Compensate for recent change in multiboot
31196 loader (since 2009-08-14 it won't pass filename to payload).
31197 * util/grub.d/10_hurd.in: Likewise.
31198
0933cdc0 311992009-10-21 Felix Zielcke <fzielcke@z-51.de>
31200
31201 * config.guess: Update to latest version from config git
31202 repository.
31203 * config.sub: Likewise.
31204
3b2fe8c2 312052009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 Fix build on sparc64.
31208
31209 * configure.ac: Perform checks for libgcc symbols before
31210 adding `-nostdlib' to LDFLAGS.
31211
46695a62 312122009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31213
31214 Let user specify OpenBSD root device.
31215
31216 * loader/i386/bsd.c (openbsd_root): New variable.
31217 (openbsd_opts): New option 'root'.
31218 (OPENBSD_ROOT_ARG): New macro.
31219 (grub_openbsd_boot): Use 'openbsd_root'.
31220 (grub_cmd_openbsd): Fill 'openbsd_root'.
31221
d2b6b7fc 312222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31223
31224 * NEWS: Misc adjustments.
31225
421bd7ac 312262009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31227
31228 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31229
f1d29d87 312302009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31231
31232 * configure.ac: Bump version to 1.97.
31233
6f3cd880 312342009-10-16 Colin Watson <cjwatson@ubuntu.com>
31235
31236 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31237 -mno-3dnow on x86 architectures. Some toolchains enable these
31238 features by default, but they rely on registers that aren't enabled
31239 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31240
035f7122 312412009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31242
31243 Make entry text a bit more readable.
31244
31245 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31246
44998e58 312472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31248
31249 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31250
cd2851b3 312512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31252
31253 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31254 operations.
31255
c6f3b249 312562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31257
31258 * configure.ac: Add missing dollar.
31259
6b5886ba 312602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31261
31262 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31263
31264 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31265 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31266 exports.
31267 * include/grub/sparc64/libgcc.h: Likewise. Use
31268 preprocessor conditionals.
31269
e9d66f6d 312702009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31271
31272 * conf/common.rmk (grub-dumpbios): Remove rule.
31273 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31274 * util/grub-dumpbios.in: Remove file.
31275
9155bc17 312762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31279 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31280
31281 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31282 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31283 users.
31284
31285 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31286 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31287 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31288 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31289 users.
31290
bf7f7a18 312912009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31292
31293 * term/tparm.c: Switch to GPLv3.
31294
86564c26 312952009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31296
31297 * include/grub/i386/cpuid.h: Add header protection.
31298
5c936493 312992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31300
31301 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31302
31303 * include/grub/i386/cpuid.h: New file.
31304 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31305 (has_longmode): Rename to ...
31306 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31307 `static' attribute.
31308 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31309 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31310 on a CPU that doesn't implement AMD64 instruction set.
31311
186e7cf2 313122009-10-06 Colin Watson <cjwatson@ubuntu.com>
31313
31314 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31315 that version.texi is rebuilt on version number changes.
31316
83b65c4a 313172009-10-06 Colin Watson <cjwatson@ubuntu.com>
31318
31319 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31320 Fixes bug #27602.
31321
d244281c 313222009-10-06 Colin Watson <cjwatson@ubuntu.com>
31323
31324 * util/i386/pc/grub-install.in: Source
31325 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31326 that the --grub-probe option will work.
31327 * util/sparc64/ieee1275/grub-install.in: Likewise.
31328
da25306d 313292009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31330
31331 * configure.ac: Bump version to 1.97~beta4.
31332
e8ee83c0 313332009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31334
31335 Resync grub-mkdevicemap in x86_64-efi.
31336
31337 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31338 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31339 `util/devicemap.c'.
31340
50dcabcf 313412009-10-01 Colin Watson <cjwatson@ubuntu.com>
31342
31343 * util/grub-editenv.c (create_envblk_file): Write new block with a
31344 .new suffix and then rename it into place, to ensure atomic
31345 creation.
31346
0e51c3a7 313472009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31348
31349 Do not automatically install headers.
31350
31351 * Makefile.in (include_DATA): Remove. Update all users.
31352
31299a95 313532009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31354
31355 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31356 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31357
31358 * util/osdetect.lua: Remove.
31359 * script/lua/lauxlib.c: Likewise.
31360 * script/lua/ldebug.c: Likewise.
31361 * script/lua/grub_main.c: Likewise.
31362 * script/lua/lauxlib.h: Likewise.
31363 * script/lua/ldebug.h: Likewise.
31364 * script/lua/ltablib.c: Likewise.
31365 * script/lua/liolib.c: Likewise.
31366 * script/lua/lstrlib.c: Likewise.
31367 * script/lua/lualib.h: Likewise.
31368 * script/lua/ldo.c: Likewise.
31369 * script/lua/ldump.c: Likewise.
31370 * script/lua/ldo.h: Likewise.
31371 * script/lua/loslib.c: Likewise.
31372 * script/lua/lundump.c: Likewise.
31373 * script/lua/grub_lib.c: Likewise.
31374 * script/lua/ldblib.c: Likewise.
31375 * script/lua/lundump.h: Likewise.
31376 * script/lua/lmem.c: Likewise.
31377 * script/lua/grub_lib.h: Likewise.
31378 * script/lua/lmathlib.c: Likewise.
31379 * script/lua/lstate.c: Likewise.
31380 * script/lua/ltm.c: Likewise.
31381 * script/lua/lvm.c: Likewise.
31382 * script/lua/lmem.h: Likewise.
31383 * script/lua/lstate.h: Likewise.
31384 * script/lua/ltm.h: Likewise.
31385 * script/lua/ltable.c: Likewise.
31386 * script/lua/lvm.h: Likewise.
31387 * script/lua/llex.c: Likewise.
31388 * script/lua/lgc.c: Likewise.
31389 * script/lua/grub_lua.h: Likewise.
31390 * script/lua/loadlib.c: Likewise.
31391 * script/lua/lfunc.c: Likewise.
31392 * script/lua/lopcodes.c: Likewise.
31393 * script/lua/lparser.c: Likewise.
31394 * script/lua/ltable.h: Likewise.
31395 * script/lua/llex.h: Likewise.
31396 * script/lua/lgc.h: Likewise.
31397 * script/lua/lfunc.h: Likewise.
31398 * script/lua/lbaselib.c: Likewise.
31399 * script/lua/lopcodes.h: Likewise.
31400 * script/lua/lparser.h: Likewise.
31401 * script/lua/lzio.c: Likewise.
31402 * script/lua/linit.c: Likewise.
31403 * script/lua/lobject.c: Likewise.
31404 * script/lua/llimits.h: Likewise.
31405 * script/lua/lstring.c: Likewise.
31406 * script/lua/lzio.h: Likewise.
31407 * script/lua/lapi.c: Likewise.
31408 * script/lua/lcode.c: Likewise.
31409 * script/lua/lua.h: Likewise.
31410 * script/lua/lobject.h: Likewise.
31411 * script/lua/lstring.h: Likewise.
31412 * script/lua/lapi.h: Likewise.
31413 * script/lua/lcode.h: Likewise.
31414 * script/lua/luaconf.h: Likewise.
31415
cb8a2c38 314162009-09-26 Colin Watson <cjwatson@ubuntu.com>
31417
31418 * docs/grub.texi (Command-line and menu entry commands): Document
31419 date and echo commands.
31420
6b9b6276 314212009-09-24 Pavel Roskin <proski@gnu.org>
31422
31423 * include/grub/kernel.h (struct grub_module_header): Remove
31424 `grub_module_header_types'. Make `type' unsigned. Make `size'
31425 32-bit on all platforms.
31426 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31427 8-bit field. Use grub_host_to_target32() for `size'.
31428 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31429 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31430 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31431
4e5a02a7 314322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31433
31434 Fix "lost keypress" bug in at_keyboard.
31435
31436 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31437 Checks for readyness of input buffer (without flushing it).
31438 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31439 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31440
c6dcedf6 314412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31442
31443 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31444 size check within GRUB_MACHINE_PCBIOS section.
31445
74c958b1 314462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31447
31448 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31449 return value.
31450 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31451 KEYBOARD_ISREADY check.
31452 (grub_at_keyboard_checkkey): Rename to ...
31453 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31454 Remove gratuitous cast.
31455
ff420223 314562009-09-23 Colin Watson <cjwatson@ubuntu.com>
31457
31458 * configure.ac: Call AC_PROG_MKDIR_P.
31459 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31460 version.texi in $(builddir) rather than $(srcdir).
31461 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31462 to makeinfo's @include search path.
31463
d96875df 314642009-09-23 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31467
9b3f8365 314682009-09-23 Felix Zielcke <fzielcke@z-51.de>
31469
31470 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31471 for `*.dpkg-new'.
31472
c44c90db 314732009-09-21 Colin Watson <cjwatson@ubuntu.com>
31474
31475 Build info documentation. Some code borrowed from Automake.
31476
31477 * configure.ac: Check for makeinfo.
31478 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31479 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31480 docs/version.texi.
31481 (MOSTLYCLEANFILES): Add vti.tmp.
31482 (docs/version.texi, docs/stamp-vti): Update automatically.
31483 (docs/grub.info): Build info documentation. Use --force and ignore
31484 errors for now.
31485 (all-local): Add $(INFOS).
31486 (install-local): Install info files.
31487 (uninstall): Uninstall info files.
31488 * docs/version.texi: Remove from revision control. This file is
31489 automatically generated on build now.
31490 * gendistlist.sh: Add `*.info'.
31491
e0b37bb5 314922009-09-21 Felix Zielcke <fzielcke@z-51.de>
31493
31494 * kern/term.c: Fix indentation.
31495
5a78865b 314962009-09-21 Felix Zielcke <fzielcke@z-51.de>
31497
31498 * util/hostdisk.c: Fix a comment.
31499
dace7e8a 315002009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31501
31502 Fix regression introduced in r2539.
31503
31504 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31505 to 0xA1.
31506
a83d079b 315072009-09-19 Colin Watson <cjwatson@ubuntu.com>
31508
31509 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31510 os-prober. Under normal operation, it does not print anything to
31511 stderr; if it does, we need to debug it, and throwing away stderr
31512 makes that excessively difficult.
a83d079b 31513
be94a509 315142009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31515
31516 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31517
63f745e8 315182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31519
31520 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31521 AC_LANG_PROGRAM from autoconf.
31522 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31523 prototypes (fixes warning).
31524
31525 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31526 `--disable-werror' was used.
31527
bbb2a70f 315282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31529
31530 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31531 uninitialized `lastaddr'.
31532
77c24f1d 315332009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31534
0f0b8c87 31535 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31536
07197f23 315372009-09-14 Colin Watson <cjwatson@ubuntu.com>
31538
31539 * commands/test.c (get_fileinfo): Return immediately if
31540 grub_fs_probe fails.
31541
dabf1798 315422009-09-14 José Martínez <xosemp@gmail.com>
31543
31544 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31545
d52109a7 315462009-09-14 Colin Watson <cjwatson@ubuntu.com>
31547
31548 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31549 output.
31550
56532179 315512009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31552
31553 * configure.ac: Remove --enable-grub-pe2elf. Only build
31554 grub-pe2elf when needed by the build system itself.
31555 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31556
8ef070f5 315572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31558
31559 * configure.ac: Bump version to 1.97~beta3.
31560 * docs/version.texi: Likewise.
31561
61229557 315622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31565 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31566 from here ...
31567 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31568 (grub_linux_setup_video): ... to here (with some adjustments).
31569
5c9f8d84 315702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31571
31572 Fix memory corruption issue (spotted by Colin Watson).
31573
31574 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31575 causing returned size to be stored in an incorrect memory location.
31576 Fix use of uninitialized value when storing the returned size.
31577
e8f5d6e9 315782009-09-12 Yves Blusseau <blusseau@zetam.org>
31579
31580 Change clean rules to properly remove files
31581
31582 * genmk.rb: add new clean rules
31583 * Makefile.in (clean): add the new targets
31584 (mostlyclean): likewise
31585
cda2a409 315862009-09-11 Colin Watson <cjwatson@ubuntu.com>
31587
31588 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31589 to grub_uint64_t.
31590 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31591 non-resident files.
31592
86695375 315932009-09-11 Colin Watson <cjwatson@ubuntu.com>
31594
31595 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31596 part of bug #27349.
31597
8aa1541a 315982009-09-10 Felix Zielcke <fzielcke@z-51.de>
31599
31600 * util/grub-mkconfig.in: Make the created config mode 400 and
31601 print a warning if it fails.
31602
48d9bb0a 316032009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31604
31605 * util/grub.d/40_custom.in: Ask user to type custom entries below
31606 comment, rather than below 'exec tail' line.
31607
3b0521be 316082009-09-10 Colin Watson <cjwatson@ubuntu.com>
31609
31610 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31611 visible in grub.cfg.
31612
50051d55 316132009-09-10 Colin Watson <cjwatson@ubuntu.com>
31614
31615 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31616 file.
31617
c0d34387 316182009-09-10 Felix Zielcke <fzielcke@z-51.de>
31619
31620 * docs/grub.cfg: Add an example menu entry for memtest86+.
31621
80a608f3 316222009-09-09 Felix Zielcke <fzielcke@z-51.de>
31623
a2094832 31624 * config.guess: Update to latest version from config git.
80a608f3 31625 * config.sub: Likewise.
31626
99423078 316272009-09-08 Colin Watson <cjwatson@ubuntu.com>
31628
31629 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31630 unknown-command case. Fixes bug #27320.
31631
44454e4c 316322009-09-08 Felix Zielcke <fzielcke@z-51.de>
31633
31634 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31635 `help' if the command exists.
31636
e30d87ad 316372009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31638
31639 * INSTALL: Require GCC 4.1.3 or later.
31640
9a86f1ec 316412009-09-06 Yves Blusseau <blusseau@zetam.org>
31642
31643 * Makefile.in (RMKFILES): add i386-qemu.rmk
31644 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31645 $(srcdir)/stamp-h.in
31646
7f26d466 316472009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31648
31649 * util/grub-probe.c (probe): Comment out buggy codepath, which
31650 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31651 should be re-enabled after 1.97.
31652
3a613259 316532009-09-05 Felix Zielcke <fzielcke@z-51.de>
31654
31655 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31656 find searches for.
31657
197f76c7 316582009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31659
31660 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31661 unnecessary calls to grub_error.
31662
70ba68ce 316632009-09-04 Colin Watson <cjwatson@ubuntu.com>
31664
31665 * NEWS: Mention `keystatus' and Unicode fonts.
31666
4ff0d7a4 316672009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31668
31669 * configure.ac: Bump version to 1.97~beta2.
31670 * docs/version.texi: Likewise.
31671
77c55a87 316722009-09-03 Colin Watson <cjwatson@ubuntu.com>
31673
31674 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31675 containing unwind information in some cases where it previously did
31676 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31677 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31678 discussion.
31679
f79572cd 316802009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31681
31682 Embedding loadenv module into grub-emu
31683
31684 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31685 commands/loadenv.c
31686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31687 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31692
93a81088 316932009-09-03 Magnus Granberg <zorry@ume.nu>
31694
31695 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31696 include -fPIE in the default specs.
31697 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31698 to TARGET_CFLAGS.
31699
160034b2 317002009-09-03 Felix Zielcke <fzielcke@z-51.de>
31701
31702 * INSTALL: Note that GNU Bison 2.3 or later is required.
31703
087c07c4 317042009-09-03 Colin Watson <cjwatson@ubuntu.com>
31705
31706 * kern/i386/pc/startup.S: Fix typo.
31707
cbf978c0 317082009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31709
31710 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31711 according to GCS.
31712
317132009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31714
31715 * docs/grub.texi (Naming convention): Describe one-based partition
31716 numbering.
31717 (Device syntax): Likewise.
31718 (File name syntax): Likewise.
31719 (Block list syntax): Likewise.
31720 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31721 menu.lst.
31722 (File name syntax): Likewise.
31723 (Command-line and menu entry commands): Document acpi, blocklist,
31724 crc, export, insmod, keystatus, ls, set, and unset commands.
31725
f3e8cdfd 317262009-09-02 Colin Watson <cjwatson@ubuntu.com>
31727
31728 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31729 to avoid implying that only one of --shift, --ctrl, or --alt may be
31730 used.
31731
c0bc232b 317322009-09-02 Colin Watson <cjwatson@ubuntu.com>
31733
31734 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31735 rather than comparing against S_IFREG, which will almost never work.
31736
aa0f752d 317372009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31738
31739 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31740 (write_blocklists): Likewise.
31741
ecb3166a 317422009-09-01 Colin Watson <cjwatson@ubuntu.com>
31743
31744 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31745 argument to grub_printf.
31746
c403a125 317472009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31748
31749 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31750 non GNU test.
31aba781 31751
b5e7312c 317522009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31753
31754 * kern/file.c (grub_file_read): Spelling fix
31755
fe00f472 317562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31757
31758 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31759 loading of headers in some cases.
31760
cc55302e 317612009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31762
31763 * configure.ac: Bump version to 1.97~beta1.
31764 * docs/version.texi: Likewise.
31765
5c90cdd2 317662009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31767
31768 * include/grub/i386/xnu.h: Add license header.
31769 include grub/err.h explicitly.
31770
c90edae4 317712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31772
31773 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31774 to `ufs' in the vfs.root.mountfrom kernel parameter.
31775
d8888b5c 317762009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31777
31778 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31779
31780 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31781 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31782
31783 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31784 `ARRAY_SIZE' macro.
31785
6f07b921 317862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31787
31788 * kern/file.c (grub_file_read): Check offset.
31789 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31790 * fs/jfs.c (grub_jfs_read_file): Likewise.
31791 * fs/ntfs.c (grub_ntfs_read): Likewise.
31792 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31793 * fs/minix.c (grub_minix_read_file): Correct offset check.
31794 * fs/ufs.c (grub_ufs_read_file): Likewise.
31795
b4f34077 317962009-08-28 Colin Watson <cjwatson@ubuntu.com>
31797
31798 * term/i386/pc/console.c (bios_data_area): Cast
31799 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31800
e7c69859 318012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31802
31803 1-bit optimised blitters.
31804
31805 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31806 prototype.
31807 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31808 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31809 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31810 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31811 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31812 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31813 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31814 function.
31815 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31816 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31817 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31818 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31819 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31820 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31821 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31822 when possible.
31823 * video/video.c (grub_video_get_blit_format): Return
31824 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31825
a57da43f 318262009-08-28 Colin Watson <cjwatson@ubuntu.com>
31827
31828 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31829 the first argument to grub_printf.
31830
4cbe67e5 318312009-08-28 Colin Watson <cjwatson@ubuntu.com>
318322009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31833
31834 Add `getkeystatus' terminal method. Add a new `keystatus' command
31835 to query it.
31836
31837 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31838 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31839 modifier key bitmasks.
31840 (struct grub_term_input): Add `getkeystatus' member.
31841 (grub_getkeystatus): Add prototype.
31842 * kern/term.c (grub_getkeystatus): New function.
31843
31844 * include/grub/i386/pc/memory.h
31845 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31846 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31847 Data Area layout.
31848 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31849 (grub_console_term_input): Set `getkeystatus' member.
31850 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31851 constants.
31852 (grub_usb_keyboard_getreport): Likewise.
31853 (grub_usb_keyboard_checkkey): Likewise.
31854 (grub_usb_keyboard_getkeystatus): New function.
31855 (grub_usb_keyboard_term): Set `getkeystatus' member.
31856
31857 * commands/keystatus.c: New file.
31858 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31859 (keystatus_mod_SOURCES): New variable.
31860 (keystatus_mod_CFLAGS): Likewise.
31861 (keystatus_mod_LDFLAGS): Likewise.
31862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31863 commands/keystatus.c.
31864 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31866 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31870
6e2a9085 318712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31872
31873 Split befs.mod and afs.mod into *_be.mod and *.mod
31874
31875 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31876 (grub_fstest_SOURCES): Likewise.
31877 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31878 (afs_be_mod_SOURCES): New variable.
31879 (afs_be_mod_CFLAGS): Likewise.
31880 (afs_be_mod_LDFLAGS): Likewise.
31881 (befs_be_mod_SOURCES): Likewise.
31882 (befs_be_mod_CFLAGS): Likewise.
31883 (befs_be_mod_LDFLAGS): Likewise.
31884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31885 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31887 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31888 (grub_emu_SOURCES): Likewise.
31889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31891 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31892 * fs/afs_be.c: New file.
31893 * fs/befs_be.c: New file.
31894 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31895 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31896 (U16): Replaced with ...
31897 (grub_afs_to_cpu16): ...this. All users updated.
31898 (U32): Replaced with ...
31899 (grub_afs_to_cpu32): ...this. All users updated.
31900 (U64): Replaced with ...
31901 (grub_afs_to_cpu64): ...this. All users updated.
31902 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31903 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31904 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31905 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31906 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31907 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31908 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31909 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31910 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31911 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31912 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31913
32a71655 319142009-08-26 Bean <bean123ch@gmail.com>
31915
31916 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31917 64-bit number.
31918 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31919 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31920 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31921
552bf6c5 319222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31923
31924 NetBSD memory map support.
31925
31926 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31927 (grub_netbsd_btinfo_mmap_header): New structure.
31928 (grub_netbsd_btinfo_mmap_entry): Likewise.
31929 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31930
1ae2078c 319312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31932
31933 Enable bsd.mod on coreboot.
31934
31935 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31936 (bsd_mod_SOURCES): New variable.
31937 (bsd_mod_CFLAGS): Likewise.
31938 (bsd_mod_LDFLAGS): Likewise.
31939 (bsd_mod_ASFLAGS): Likewise.
31940 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31941 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31942
beefc598 319432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31944
31945 Cleanup NetBSD root support.
31946
31947 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31948 grub_bsd_get_device.
31949 Fix typo.
31950
3b76e68b 319512009-08-25 Felix Zielcke <fzielcke@z-51.de>
31952
31953 * util/grub.d/00_header.in: Move check for the video backend of
31954 gfxterm from here ...
31955 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31956 a suitable video backend.
31957
aea664ea 319582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31959
31960 Fix breakage in grub-setup.
31961
31962 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31963 "msdos_partition_map".
31964
ff747d50 319652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31966
31967 Fix breakage in normal/auth.c.
31968
31969 * normal/auth.c (grub_iswordseparator): New function.
31970
e7e1f93f 319712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31972
31973 Authentication support.
31974
31975 * commands/password.c: New file.
31976 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31977 (password_mod_SOURCES): New variable.
31978 (password_mod_CFLAGS): Likewise.
31979 (password_mod_LDFLAGS): Likewise.
31980 (normal_mod_SOURCES): Add normal/auth.c.
31981 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31982 normal/auth.c.
31983 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31984 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31985 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31987 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31988 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31989 * include/grub/auth.h: New file.
31990 * include/grub/err.h (grub_err_t): New enum value
31991 GRUB_ERR_ACCESS_DENIED.
31992 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31993 'users'.
31994 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31995 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31996 users updated.
31997 * normal/auth.c: New file.
31998 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31999 (grub_cmdline_run): Don't allow to go to command line without
32000 authentication.
32001 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32002 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32003 menuentry without superuser rights.
32004 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32005 user isn't a superuser.
32006
70f1161d 320072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32008
32009 Save space by inlining misc.c functions.
32010
32011 * kern/misc.c (grub_iswordseparator): Made static.
32012 * kern/misc.c (grub_strcat): Moved from here ...
32013 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32014 * kern/misc.c (grub_strncat): Moved from here ...
32015 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32016 * kern/misc.c (grub_strcasecmp): Moved from here ...
32017 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32018 * kern/misc.c (grub_strncasecmp): Moved from here ...
32019 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32020 * kern/misc.c (grub_isalpha): Moved from here ...
32021 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32022 * kern/misc.c (grub_isdigit): Moved from here ...
32023 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32024 * kern/misc.c (grub_isgraph): Moved from here ...
32025 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32026 * kern/misc.c (grub_tolower): Moved from here ...
32027 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32028
48e40bff 320292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32030
32031 * script/sh/function.c (grub_script_function_find): Cut error message
32032 not to flood terminal.
32033 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32034 limit.
32035 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32036
c385bfc3 320372009-08-24 Colin Watson <cjwatson@ubuntu.com>
32038
32039 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32040 `report' grub_uint8_t *.
32041 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32042 Use a 50-millisecond timeout rather than just repeating
32043 grub_usb_keyboard_getreport 50 times.
32044 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32045
2d21e3e8 320462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32047
32048 Rename *_partition_map to part_*
32049
32050 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32051 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32052 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32053 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32054 All users updated.
32055 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32056 All users updated.
32057 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32058 * util/grub-probe.c (probe_partmap): Don't transform partition name
32059 to get module name.
32060
dd103c4e 320612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32062
32063 Fix OpenBSD and NetBSD support.
32064
32065 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32066 memory address conflict.
32067 (OPENBSD_MMAP_ACPI): New definition.
32068 (OPENBSD_MMAP_NVS): Likewise.
32069 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32070 and OPENBSD_MMAP_NVS.
32071 Add memory map terminator
32072 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32073 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32074
16c84d74 320752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32076
32077 Let user specify NetBSD root device.
32078
32079 * loader/i386/bsd.c (netbsd_root): New variable.
32080 (netbsd_opts): New option 'root'.
32081 (NETBSD_ROOT_ARG): New macro.
32082 (grub_netbsd_boot): Use 'netbsd_root'.
32083 (grub_bsd_unload): Free 'netbsd_root'.
32084 (grub_cmd_netbsd): Fill 'netbsd_root'.
32085
adb29902 320862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32087
32088 Support for 64-bit NetBSD.
32089
32090 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32091 point when booting non-FreeBSD.
32092
f5ae9f74 320932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 Support --no-smp and --no-acpi for NetBSD.
32096
32097 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32098 (NETBSD_AB_NOACPI): Likewise.
32099 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32100 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32101
de74f136 321022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32103
32104 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32105 errors.
32106 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32107 errors. Call grub_error when needed.
32108
e9a925da 321092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32110
32111 * commands/search.c (search_fs): Try searching without autoload first.
32112 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32113 filesystem module explicitly for faster booting.
32114
5174302b 321152009-08-23 Colin Watson <cjwatson@ubuntu.com>
32116
32117 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32118
c8c80635 321192009-08-23 Colin Watson <cjwatson@ubuntu.com>
32120
32121 * util/grub.d/30_os-prober.in: Disable os-prober if
32122 `GRUB_DISABLE_OS_PROBER' was set to true.
32123
71acf5e5 321242009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * partmap/pc.c: Rename to ...
32127 * partmap/msdos.c: ... this. Update all users.
32128 (grub_pc_partition_map): Rename to ...
32129 (grub_msdos_partition_map): ... this. Update all users.
32130
32131 * parttool/pcpart.c: Rename to ...
32132 * parttool/msdospart.c: ... this. Update all users.
32133
32134 * include/grub/pc_partition.h: Rename to ...
32135 * include/grub/msdos_partition.h: ... this. Update all users.
32136 (grub_pc_partition_bsd_entry): Rename to ...
32137 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32138 (grub_pc_partition_disk_label): Rename to ...
32139 (grub_msdos_partition_disk_label): ... this. Update all users.
32140 (grub_pc_partition_entry): Rename to ...
32141 (grub_msdos_partition_entry): ... this. Update all users.
32142 (grub_pc_partition_mbr): Rename to ...
32143 (grub_msdos_partition_mbr): ... this. Update all users.
32144 (grub_pc_partition): Rename to ...
32145 (grub_msdos_partition): ... this. Update all users.
32146 (grub_pc_partition_is_empty): Rename to ...
32147 (grub_msdos_partition_is_empty): ... this. Update all users.
32148 (grub_pc_partition_is_extended): Rename to ...
32149 (grub_msdos_partition_is_extended): ... this. Update all users.
32150 (grub_pc_partition_is_bsd): Rename to ...
32151 (grub_msdos_partition_is_bsd): ... this. Update all users.
32152
32153 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32154 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32155 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32156 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32157 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32158 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32159 (gpt_mod_LDFLAGS): Rename to ...
32160 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32161 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32162 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32163 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32164 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32165 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32166 (part_gpt_mod_LDFLAGS): ... this.
32167 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32168 `pcpart.mod' to `msdospart.mod'.
32169 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32170 to ...
32171 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32172 (msdospart_mod_LDFLAGS): ... this.
32173
c11fded5 321742009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32175
32176 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32177 (openbsd_opts): Likewise.
32178 (netbsd_opts): Likewise.
32179 (freebsd_flags): Added 0 terminator.
32180 (openbsd_flags): Likewise.
32181 (netbsd_flags): Likewise.
32182 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32183 (grub_cmd_freebsd): Transformed into extended command.
32184 (grub_cmd_openbsd): Likewise.
32185 (grub_cmd_netbsd): Likewise.
32186 (cmd_freebsd): Changed type to grub_extcmd_t.
32187 (cmd_openbsd): Likewise.
32188 (cmd_netbsd): Likewise.
32189 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32190 grub_cmd_openbsd as extended commands.
32191 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32192 cmd_netbsd and cmd_openbsd
32193
11d1c769 321942009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32195
32196 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32197
7a9094e5 321982009-08-21 Pavel Roskin <proski@gnu.org>
32199
5496c37e 32200 * Makefile.in (install-local): When checking if a file is in the
32201 build directory, use "test -e" to detect symlinks.
32202
7a9094e5 32203 * Makefile.in (install-local): Remove all files in
32204 $(DESTDIR)$(pkglibdir) before installing new files there.
32205
e53cea11 322062009-08-18 Felix Zielcke <fzielcke@z-51.de>
32207
32208 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32209 grub-mkelfimage.
32210
9aced544 322112009-08-18 Felix Zielcke <fzielcke@z-51.de>
32212
32213 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32214 explicitly specified by the user.
32215
b7da6bab 322162009-08-18 Pavel Roskin <proski@gnu.org>
32217
32218 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32219 grub_uint8_t pointer for data.
32220 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32221 Likewise.
32222 * video/fb/fbutil.c: Remove unnecessary casts.
32223
19f1b335 322242009-08-17 Michal Suchanek <hramrach@centrum.cz>
32225
32226 VBE cleanup.
32227
32228 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32229 (grub_vbe_set_video_mode): Save active mode info
32230 only after setting the mode.
32231 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32232 second argument.
32233
2f467aa9 322342009-08-17 Michal Suchanek <hramrach@centrum.cz>
32235
32236 Rename variables for clarity.
32237
32238 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32239 (active_vbe_mode_info): ... this. All users updated.
32240 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32241 All users updated.
32242 (initial_mode): Rename to ...
32243 (initial_vbe_mode): ... this. All users updated.
32244 (mode_in_use): Rename to ..
32245 (vbe_mode_in_use): ... this. All users updated.
32246 (mode_list): Rename to ..
32247 (vbe_mode_list): ... this. All users updated.
32248 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32249 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32250 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32251 'mode_list_size' to 'vbe_mode_list_size'.
32252 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32253 'best_mode_info' to 'best_vbe_mode_info' and
32254 'best_mode' to 'best_vbe_mode'
32255
6025fcd7 322562009-08-17 Michal Suchanek <hramrach@centrum.cz>
32257
32258 Remove duplicate grub_video_fb_get_video_ptr.
32259
32260 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32261 (grub_video_fb_get_video_ptr): ... this.
32262 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32263 * video/fb/fbutil.c: Add comment about addressing.
32264 (get_data_ptr): Rename to ...
32265 (grub_video_fb_get_video_ptr): ... this. All users updated.
32266 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32267
cc8c6faf 322682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32269
32270 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32271 grub_dprintf() that was just added.
32272
08aa61f0 322732009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32274
32275 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32276 (DEFAULT_VIDEO_MODE): Remove macros.
32277 (grub_linux_boot): Remove assumption that Linux has FB support,
32278 and use "text" as default video mode.
32279
7cef4f75 322802009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32281
32282 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32283 grub_dprintf.
32284 * fs/fat.c (grub_fat_read_data): Likewise.
32285
e1f39873 322862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32287
32288 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32289 payload.
32290 (grub_module): Likewise.
32291
c166d79e 322922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32293
32294 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32295 mbi->cmdline but free playground.
32296
c60cee8e 322972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32298
32299 Handle group offset on UFS1.
32300
32301 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32302 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32303
c0d8b5d4 323042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32305
32306 Split ufs.mod into ufs1.mod and ufs2.mod.
32307
32308 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32309 (grub_fstest_SOURCES): Likewise.
32310 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32311 (ufs_mod_SOURCES): Remove.
32312 (ufs_mod_CFLAGS): Likewise.
32313 (ufs_mod_LDFLAGS): Likewise.
32314 (ufs1_mod_SOURCES): New variable.
32315 (ufs1_mod_CFLAGS): Likewise.
32316 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32317 (ufs2_mod_SOURCES): New variable.
32318 (ufs2_mod_CFLAGS): Likewise.
32319 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32321 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32322 Likewise.
32323 (grub_emu_SOURCES): Likewise.
32324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32326 (grub_setup_SOURCES): Likewise.
32327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32328 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32329 (grub_setup_SOURCES): Likewise.
32330 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32331 Likewise.
32332 * fs/ufs2.c: New file.
32333 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32334
d3539132 323352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32336
32337 Framebuffer split.
32338
32339 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32340 subsystem at the end.
32341 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32342 (video_fb_mod_SOURCES): New variable.
32343 (video_fb_mod_CFLAGS): Likewise.
32344 (video_fb_mod_LDFLAGS): Likewise.
32345 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32346 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32347 * video/i386/pc/vbeblit.c: Moved from here ...
32348 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32349 * video/i386/pc/vbefill.c: Moved from here ...
32350 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32351 * video/i386/pc/vbeutil.c: Moved from here ...
32352 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32353 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32354 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32355 * include/grub/i386/pc/vbefill.h: Moved from here ...
32356 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32357 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32358 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32359 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32360 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32361 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32362 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32363 (grub_video_adapter): Added 'get_info_and_fini'.
32364 (grub_video_get_info_and_fini): New prototype.
32365 (grub_video_set_mode): make modestring const char *.
32366 * loader/i386/linux.c (grub_linux_setup_video): Use
32367 grub_video_get_info_and_fini.
32368 (grub_linux_boot): Move modesetting just before booting.
32369 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32370 grub_video_get_info_and_fini.
32371 * video/i386/pc/vbe.c: Moved framebuffer part ...
32372 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32373 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32374 grub_video_fbstd_colors and grub_video_fb_set_palette.
32375 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32376 grub_video_fb_init.
32377 (grub_video_vbe_fini): Use grub_video_fb_fini.
32378 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32379 render_target and use grub_video_fb_set_active_render_target and
32380 grub_video_fb_set_palette.
32381 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32382 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32383 (grub_video_vbe_adapter): Use framebuffer.
32384 * video/video.c (grub_video_get_info_and_fini): New function.
32385 (grub_video_set_mode): Make modestring const char *.
32386 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32387 values are already initialised.
32388
d404ee56 323892009-08-14 Pavel Roskin <proski@gnu.org>
32390
32391 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32392 ABS and APPLE_CC.
32393 * boot/i386/pc/diskboot.S: Likewise.
32394 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32395 sectors allow compilation on MacOSX.
32396 * conf/i386-pc.rmk: Enable unconditional compilation of
32397 lnxboot.img.
32398
9a10df16 323992009-08-13 Colin Watson <cjwatson@ubuntu.com>
32400
32401 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32402 * util/grub.d/00_header.in: Enter interruptible sleep if
32403 GRUB_HIDDEN_TIMEOUT is set.
32404
be3c9ca7 324052009-08-13 Yves Blusseau <blusseau@zetam.org>
32406
32407 * include/grub/symbol.h: Add the LOCAL macro.
32408 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32409 starting with "L_".
32410
1f9e557e 324112009-08-13 Pavel Roskin <proski@gnu.org>
32412
9ca62843 32413 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32414 any modern compilers we support.
32415
1f9e557e 32416 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32417 Use local labels starting with "L_" so that Apple assembler
32418 knows they are local.
32419
81623db6 324202009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32421
32422 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32423 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32424 (bsd_kernel_types): ... this enum.
32425
32426 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32427 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32428 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32429
32430 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32431 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32432 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32433 messages.
32434
f5d35e7a 324352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32436
32437 * util/grub-dumpdevtree: Moved from here ...
32438 * util/i386/efi/grub-dumpdevtree: ... to here.
32439 (hexify): New function. Converts a string to its hex version.
32440 Generate hex versions of "efi" and "device-properties" by calling
32441 hexify() on the ASCII strings rather than by hardcoding numbers.
32442
d1e1d527 324432009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32444
32445 * fs/jfs.c: Update copyright year.
32446
1ebbe064 324472009-08-08 Felix Zielcke <fzielcke@z-51.de>
32448
32449 * util/grub.d/00_header.in: Fix a comment.
32450 * util/grub.d/10_linux.in: Likewise.
32451 * util/grub.d/10_windows.in: Likewise.
32452 * util/grub.d/10_hurd.in: Likewise.
32453
a78c8d24 324542009-08-08 Felix Zielcke <fzielcke@z-51.de>
32455
32456 * util/grub-mkconfig.in: Allow the user to specify the used font
32457 with GRUB_FONT.
32458
29a6b9e8 324592009-08-08 Pavel Roskin <proski@gnu.org>
32460
b5f16cc4 32461 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32462 available, xfs.mod needs it now.
32463
2f5cb827 32464 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32465 the "g" modifier in sed when the intention is to strip something
32466 once. This fixes comparison of kernels with multiple dashes.
32467
29a6b9e8 32468 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32469 on it. Add missing space before closing bracket. Fix
32470 misleading formatting.
32471
892a3d98 324722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32473
32474 * docs/grub.texi: Major overhaul. Remove all sections that are
32475 specific to GRUB Legacy, or mostly composed of Legacy-specific
32476 information.
32477
ed94253f 324782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * docs/version.texi: New file. Provides version information for
32481 grub.texi.
32482
126d6628 324832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * docs/grub.texi: Update CVS information to SVN.
32486 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32487
998b5aa9 324882009-08-07 Felix Zielcke <fzielcke@z-51.de>
32489
32490 * util/grub-mkconfig.in: Remove a wrong `fi'.
32491
818e094a 324922009-08-07 Felix Zielcke <fzielcke@z-51.de>
32493
32494 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32495 (grub_jfs_uuid): New function.
32496 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32497
b969c52f 324982009-08-07 Felix Zielcke <fzielcke@z-51.de>
32499
32500 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32501 of it to ...
32502 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32503 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32504
7a4894cc 325052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32506
32507 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32508 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32509 Update all users.
32510
32511 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32512 not just "vmlinu[zx]".
32513 Moved from here ...
32514 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32515 all users.
32516
32517 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32518 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32519 all users.
32520
4e2171f8 325212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32522
32523 * util/grub.d/10_freebsd.in: Use an absolute device path for
32524 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32525
6dcfcb32 325262009-08-06 Felix Zielcke <fzielcke@z-51.de>
32527
32528 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32529 handling of multiple abstraction modules.
32530
f56a8756 325312009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32532
32533 Fix a bug resulting in black screen when loading Linux using a
32534 packed video mode.
32535
32536 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32537 function.
32538
32539 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32540 (grub_vbe_bios_getset_dac_palette_width): New function.
32541 (grub_vbe_bios_get_dac_palette_width)
32542 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32543 grub_vbe_bios_getset_dac_palette_width()).
32544
32545 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32546 check for return status.
32547 (grub_vbe_get_video_mode_info): When getting information for a packed
32548 mode (<= 8 bpp), obtain DAC palette width using
32549 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32550 {red,green,blue}_mark_size.
32551
222671b2 325522009-08-04 Felix Zielcke <fzielcke@z-51.de>
32553
ecb1a6d9 32554 * commands/search.c (options): Fix help output to match actual code.
222671b2 32555
f84114f5 325562009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32557
32558 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32559 of homegrown code.
32560
bd288a20 325612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32562
32563 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32564 on XFS or ReiserFS.
32565
8aab5e25 325662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32567
32568 Support Apple partition map with sector size different from 512 bytes.
32569
32570 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32571 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32572 and 'apart.partmap_size'.
32573
6ad6258a 325742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
325752009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32576
32577 Fix cpuid command.
32578
32579 * commands/i386/cpuid.c (options): New variable.
32580 (grub_cmd_cpuid): Return real error.
32581 (GRUB_MOD_INIT(cpuid)): Declare options.
32582
67459bc6 325832009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32584
32585 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32586 valid.
32587
fbc6ab54 325882009-07-31 Bean <bean123ch@gmail.com>
32589
32590 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32591 log2_inode.
32592 (grub_fshelp_node): Move inode field to the end.
32593 (grub_xfs_data): Remove inode field.
32594 (grub_xfs_inode_block): Calculate inode size using sblock.
32595 (grub_xfs_inode_offset): Likewise.
32596 (grub_xfs_read_inode): Calculate inode size using sblock.
32597 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32598 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32599 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32600 to match inode size.
32601 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32602 not accessible when data is null.
32603 (grub_xfs_open): Likewise.
32604
f45d6cfc 326052009-07-31 Bean <bean123ch@gmail.com>
32606
32607 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32608 Don't change pv->disk if it's already set.
32609
32610 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32611 (grub_raid_register): ... here.
32612 (grub_raid_rescan): Removed.
32613
32614 * include/grub/raid.h (grub_raid_rescan): Removed.
32615
32616 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32617 (fstest): Replace grub_raid_rescan with module fini function followed
32618 by init function.
32619
32620 * util/grub-probe.c: Add include file <grub/raid.h>.
32621 (probe_raid_level): New function.
32622 (probe): Detect abstraction by walking the disk device, support two
32623 level of abstraction (LVM on RAID) when detecting partition map.
32624
24443b5a 326252009-07-31 Pavel Roskin <proski@gnu.org>
32626
32627 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32628 to grub_zalloc(), it was erroneous.
32629 Reported by Bean <bean123ch@gmail.com>
32630
a275d9e7 326312009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32632
32633 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32634 embedding zone, not only the first one.
a275d9e7 32635
56c5a47f 326362009-07-29 Joe Auricchio <jauricchio@gmail.com>
32637
32638 * term/gfxterm.c (clear_char): New function.
32639 (grub_virtual_screen_setup): Use clear_char.
32640 (scroll_up): Likewise.
32641 (grub_virtual_screen_cls): Likewise.
32642
67bb323a 326432009-07-29 Felix Zielcke <fzielcke@z-51.de>
32644
32645 * util/deviceiter.c (get_acceleraid_disk_name): New static
32646 function.
32647 (grub_util_iterate_devices): Handle Accelraid devices.
32648 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32649
388a7c75 326502009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32653 separator for the suggested gfxpayload string (';' collides with the
32654 parser and needs escaping).
32655
3bb7abcf 326562009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32657
32658 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32659 Clear direction flag before jumping to OS.
32660 (grub_multiboot2_real_boot): Likewise.
32661
2ddd36d7 326622009-07-28 Felix Zielcke <fzielcke@z-51.de>
32663
32664 * util/i386/pc/grub-install: Fix parsing of --disk-module
32665 option.
32666
c521b62b 326672009-07-28 Felix Zielcke <fzielcke@z-51.de>
32668
32669 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32670 when embedding.
32671
880e0a0c 326722009-07-26 Felix Zielcke <fzielcke@z-51.de>
32673
32674 * util/grub-mkconfig.in (package_version): New variable.
32675 Use it do display the version.
32676
2366e356 326772009-07-25 Felix Zielcke <fzielcke@z-51.de>
32678
32679 * kern/file.c (grub_file_open): Revert to previous check with
32680 grub_errno.
32681
7ad8c80e 326822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32683
32684 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32685 from help line. It's out of sync with code.
32686
72b9658b 326872009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32688
32689 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32690 entries on failed boot.
32691
77435277 326922009-07-25 Felix Zielcke <fzielcke@z-51.de>
32693
32694 * kern/file.c (grub_file_open): Fix an error check.
32695
fcaa8b21 326962009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32697
35d16c74 32698 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32699 partition map couldn't be identified.
fcaa8b21 32700
48904cd1 327012009-07-23 Pavel Roskin <proski@gnu.org>
32702
ef3c317f 32703 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32704 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32705 case of little endian words becomes just an optimization.
32706 Respect const modifier.
ad8ea1f4 32707 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32708
48904cd1 32709 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32710 to avoid loss of upper bits if align is unsigned and shorter
32711 than addr.
32712
260c9a89 327132009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32714
32715 UUID support for UFS
32716
32717 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32718 (grub_ufs_uuid): New function.
32719 (grub_ufs_fs): add .uuid
32720
f76ce889 327212009-07-21 Pavel Roskin <proski@gnu.org>
32722
32723 * kern/dl.c (grub_dl_check_header): Make static.
32724
6a6cbcaf 327252009-07-21 Felix Zielcke <fzielcke@z-51.de>
32726
32727 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32728 add drivemap for Vista. It breaks Windows 7.
32729
cffcddb2 327302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32731
32732 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32733 128 bytes
32734
1ef44b80 327352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32736
32737 Add BFS support
32738
32739 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32740 (grub_fstest_SOURCES): Likewise.
32741 (pkglib_MODULES): Add befs.mod.
32742 (befs_mod_SOURCES): New variable.
32743 (befs_mod_CFLAGS): Likewise.
32744 (befs_mod_LDFLAGS): Likewise.
32745 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32746 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32747 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32748 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32749 (grub_setup_SOURCES): Likewise.
32750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32751 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32752 (grub_setup_SOURCES): Likewise.
32753 * fs/befs.c: New file.
32754 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32755 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32756 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32757 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32758 (B_KEY_INDEX_ALIGN): New declaration.
32759 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32760 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32761 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32762 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32763 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32764 (grub_afs_mount) [MODE_BFS]: Likewise.
32765 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32766 (grub_afs_fs): Use GRUB_AFS_FSNAME
32767 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32768 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32769 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32770 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32771
4f253044 327722009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32773
32774 * util/getroot.c (find_root_device): Add support for MacOSX.
32775 * util/hostdisk.c: Likewise.
32776
57a55913 327772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32778
32779 * font/font.c (find_glyph): Check whether a font is present to avoid
32780 segmentation fault.
75421ca9 32781
327822009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32783
32784 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32785
e98cd0c2 327862009-07-20 Pavel Roskin <proski@gnu.org>
32787
32788 * configure.ac: Trim excessively wordy excuses.
32789
1d2d169a 327902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32791
32792 Add symlink, mtime and label support to AtheFS.
32793
32794 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32795 (grub_afs_iterate_dir): Handle symlinks.
32796 (grub_afs_open): Use grub_afs_read_symlink.
32797 (grub_afs_dir): Likewise.
32798 Pass mtime.
32799 (grub_afs_label): New function.
32800 (grub_afs_fs): Add grub_afs_label.
32801 (grub_afs_read_symlink): New function.
32802
186f3189 328032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32804
32805 Fix AtheFS support.
32806
32807 * fs/afs.c: Fix comments style.
32808 (grub_afs_blockrun): Declare as packed.
32809 (grub_afs_datastream): Likewise.
32810 (grub_afs_bnode): Likewise.
32811 (grub_afs_btree): Likewise.
32812 (grub_afs_sblock): Likewise.
32813 Declare `name' as char.
32814 (grub_afs_inode): Declare as packed.
32815 Change void *vnode to grub_uint32_t unused.
32816 (grub_afs_iterate_dir): Check that key_size is positive.
32817 (grub_afs_mount): Don't read superblock twice.
75421ca9 32818 (grub_afs_dir): Don't free node in case of error,
186f3189 32819 grub_fshelp_find_file already handles this.
32820 (grub_afs_open): Likewise.
32821
5680109e 328222009-07-19 Pavel Roskin <proski@gnu.org>
32823
32824 * Makefile.in: Remove LIBLZO and enable_lzo.
32825 * conf/i386-pc.rmk: Remove lzo support.
32826 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32827 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32828 support.
32829 * kern/i386/pc/lzo1x.S: Remove.
32830 * kern/i386/pc/startup.S: Remove lzo support.
32831 * util/i386/pc/grub-mkimage.c: Likewise.
32832
ac70fa32 328332009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32834
32835 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32836 * fs/xfs.c (grub_xfs_dir): Likewise.
32837 * fs/afs.c (grub_afs_dir): Likewise.
32838 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32839 (grub_iso9660_open): Likewise.
32840 * fs/jfs.c (grub_jfs_open): Likewise.
32841 * fs/ext2.c (grub_ext2_dir): Likewise.
32842 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32843 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32844
eab58da2 328452009-07-16 Pavel Roskin <proski@gnu.org>
32846
d2838156 32847 * configure.ac: Never add "-c" to CFLAGS.
32848
55c70904 32849 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32850
43e6200c 32851 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32852 grub_cv_cc_efiemu should be used.
32853
ce7a733d 32854 * configure.ac: Typo fixes.
32855
eab58da2 32856 * kern/mm.c (grub_zalloc): New function.
32857 (grub_debug_zalloc): Likewise.
32858 * include/grub/mm.h: Declare grub_zalloc() and
32859 grub_debug_zalloc().
32860 * util/misc.c (grub_zalloc): New function.
32861 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32862 instead of grub_malloc(), remove unneeded initializations.
32863 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32864 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32865 * commands/parttool.c (grub_cmd_parttool): Likewise.
32866 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32867 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32868 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32869 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32870 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32871 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32872 (grub_cmd_efiemu_pnvram): Likewise.
32873 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32874 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32875 (grub_iso9660_iterate_dir): Likewise.
32876 * fs/jfs.c (grub_jfs_opendir): Likewise.
32877 * fs/ntfs.c (list_file): Likewise.
32878 (grub_ntfs_mount): Likewise.
32879 * kern/disk.c (grub_disk_open): Likewise.
32880 * kern/dl.c (grub_dl_load_core): Likewise.
32881 * kern/elf.c (grub_elf_file): Likewise.
32882 * kern/env.c (grub_env_context_open): Likewise.
32883 (grub_env_set): Likewise.
32884 (grub_env_set_data_slot): Likewise.
32885 * kern/file.c (grub_file_open): Likewise.
32886 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32887 * loader/i386/multiboot.c (grub_module): Likewise.
32888 * loader/xnu.c (grub_xnu_create_key): Likewise.
32889 (grub_xnu_create_value): Likewise.
32890 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32891 (read_config_file): Likewise.
32892 * normal/menu_entry.c (make_screen): Likewise.
32893 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32894 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32895 * script/sh/script.c (grub_script_parse): Likewise.
32896 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32897 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32898 * video/readers/png.c (grub_png_output_byte): Likewise.
32899 (grub_video_reader_png): Likewise.
32900
830afef7 329012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32902
32903 Enable all targets that can be built by default
32904
830afef7 32905 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32906 grub-mkfont and grub-fstest if they can be built
32907
ee293aee 329082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32909
32910 Fix hang and segmentation fault in grub-emu-usb
32911
32912 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32913 * util/usb.c (grub_libusb_devices): likewise
32914 (grub_libusb_init): rename to ...
32915 (GRUB_MOD_INIT (libusb)):...this
32916 (grub_libusb_fini): rename to ..
32917 (GRUB_MOD_FINI (libusb)):...this
32918 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32919 * include/grub/disk.h (grub_raid_init): removed, it's useless
32920 (grub_raid_fini): likewise
32921 (grub_lvm_init): likewise
32922 (grub_lvm_fini): likewise
32923 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32924 by grub_init_all
32925
94414221 329262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32927
32928 Fix libusb
32929
32930 * Makefile.in (LIBUSB): new macro
32931 * genmk.rb (Utility/print_tail): new method
32932 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32933 (top level): call util.print_tail at the end.
32934
59ade63d 329352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32936
32937 Make FreeBSD accept zpool.cache
32938
32939 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32940 type is /boot/zfs/zpool.cache
32941
a58da8c7 329422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32943
32944 Fix 64-bit efiemu
32945
32946 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32947 correct wrong typedef
32948 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32949
20591577 329502009-07-15 Pavel Roskin <proski@gnu.org>
32951
560ca572 32952 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32953 * kern/disk.c (struct grub_disk_cache): Likewise.
32954
e8e8e4fd 32955 * commands/probe.c (options): Typo fix.
32956
fde24e10 32957 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32958 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32959 accordingly.
32960 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32961
379c54c1 32962 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32963 the end of "Error" to make the message more readable.
32964
7bd8f5bf 32965 * boot/i386/pc/boot.S (kernel_segment): Remove.
32966 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32967 for destination.
32968
40b132c5 32969 * boot/i386/pc/boot.S (boot_version): Remove.
32970 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32971 Remove.
32972
20591577 32973 * include/grub/i386/pc/boot.h: Sort all offsets.
32974 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32975 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32976 * boot/i386/pc/boot.S: Assert location of every offset listed in
32977 include/grub/i386/pc/boot.h.
32978
2df32b2c 329792009-07-13 Pavel Roskin <proski@gnu.org>
32980
44b5d879 32981 * include/grub/i386/coreboot/machine.h: Rename
32982 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32983 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32984 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32985
17dc3751 32986 * kern/dl.c: Force native word size to suppress warnings when
32987 compiling grub-emu.
32988
2df32b2c 32989 * kern/device.c (grub_device_iterate): Change struct part_ent to
32990 hold the name, not a pointer to it. Use one grub_malloc() per
32991 partition, not two. Free partition_name if grub_malloc() fails.
32992 Set ents to NULL only before grub_partition_iterate() is called.
32993
75c59f59 329942009-07-11 Bean <bean123ch@gmail.com>
32995
32996 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32997 childname.
32998
0ae1bf88 329992009-07-10 Bean <bean123ch@gmail.com>
330002009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33001
33002 * kern/ieee1275/openfw.c (grub_children_iterate)
33003 (grub_devalias_iterate): Fix size evaluation for property or path
33004 strings, which was broken since r2132.
33005
8279cade 330062009-07-07 Pavel Roskin <proski@gnu.org>
33007
7d8a52d3 33008 * commands/search.c (search_file): Merge into ...
33009 (search_fs): ... this. Accept search type as argument.
33010 (grub_cmd_search): Pass search type to search_fs().
33011
25f9a05a 33012 * include/grub/util/console.h: New file.
33013 * util/console.c: Use it instead of grub/machine/console.h.
33014 * util/grub-emu.c: Likewise.
33015
8279cade 33016 * lib/arg.c (find_long_option): Remove.
33017 (find_long): Add `len' argument, make `s' const char *.
33018 (grub_arg_parse): Parse long options in place, not in a
33019 temporary buffer.
33020
4a11b60f 330212009-07-06 Pavel Roskin <proski@gnu.org>
33022
99f68041 33023 * commands/search.c (search_fs): Fix potential NULL pointer
33024 dereference.
33025
4a11b60f 33026 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33027 function pointer.
33028
e110f4de 330292009-07-06 Daniel Mierswa <impulze@impulze.org>
33030
33031 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33032 comparison.
33033
46eeb6a2 330342009-07-05 Pavel Roskin <proski@gnu.org>
33035
bab74958 33036 * include/grub/i386/linux.h (struct linux_kernel_params):
33037 Restore padding3, it's still needed.
33038
46eeb6a2 33039 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33040 FreeBSD.
33041 * util/osdetect.lua: Likewise.
33042
b4a1dc79 330432009-07-05 Bean <bean123ch@gmail.com>
33044
33045 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33046
33047 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33048 (grub_lua_getenv): Likewise.
33049 (grub_lua_setenv): Likewise.
33050 (save_errno): New function.
33051 (push_result): Likewise.
33052 (grub_lua_enum_device): Likewise.
33053 (grub_lua_enum_file): Likewise.
33054 (grub_lua_file_open): Likewise.
33055 (grub_lua_file_close): Likewise.
33056 (grub_lua_file_seek): Likewise.
33057 (grub_lua_file_read): Likewise.
33058 (grub_lua_file_getline): Likewise.
33059 (grub_lua_file_getsize): Likewise.
33060 (grub_lua_file_getpos): Likewise.
33061 (grub_lua_file_eof): Likewise.
33062 (grub_lua_file_exist): Likewise.
33063 (grub_lua_add_menu): Likewise.
33064
33065 * script/lua/grub_lua.h (isupper): New inline function.
33066 (islower): Likewise.
33067 (ispunct): Likewise.
33068 (isxdigit): Likewise.
33069 (strcspn): Change to normal function.
33070 (strpbkr): New function declaration.
33071 (memchr): Likewise.
33072
33073 * script/lua/grub_main.c (scan_str): New function.
33074 (strcspn): Likewise.
33075 (strpbrk): Likewise.
33076 (memchr): Likewise.
33077
33078 * script/lua/linit.c (lualibs): Enable the string library.
33079
33080 * util/osdetect.lua: New file.
33081
2da92295 330822009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33083
33084 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33085 `capabilities' member.
33086
b2582ec9 330872009-07-02 Pavel Roskin <proski@gnu.org>
33088
33089 * genparttoollist.sh: Add missing newline at the end.
33090
32622956 330912009-07-01 Pavel Roskin <proski@gnu.org>
33092
87a7339e 33093 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33094
d23af54e 33095 * util/hostdisk.c (open_device): Remove `const' from
33096 `sysctl_size', as sysctlbyname() can change it (in this case it
33097 doesn't actually happen).
33098
c94b18a9 33099 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33100 using signed long int constants.
33101
c6cd3ef0 33102 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33103 constant to avoid a warning on FreeBSD.
33104
0df63420 33105 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33106 where it's needed.
33107
999577f1 33108 * Makefile.in: Install include/grub/machine symlink.
33109
6f41557f 33110 * Makefile.in: When installing symlinks, use "cp -fR", which
33111 works on FreeBSD and MacOSX.
33112 From Yves Blusseau <cl7m42e02@sneakemail.com>
33113
c8d22988 33114 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33115 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33116
1b96e952 33117 * util/misc.c: Move grub_reboot() and grub_halt() ...
33118 * util/grub-emu.c: ... here. Make main_env static.
33119 * include/grub/util/misc.h: Remove main_env.
33120
2ef0084d 33121 * kern/mm.c: Use correct format to print size_t.
33122
32622956 33123 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33124 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33125 * kern/powerpc/dl.c: Likewise.
33126 * kern/sparc64/dl.c: Likewise.
33127 * kern/x86_64/dl.c: Likewise.
33128
3f7f0cd0 331292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 Fix grub-emu build on sparc64-ieee1275.
33132
75421ca9 33133 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33135
211d06b5 331362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33139 (grub_reboot, grub_halt): New functions.
33140
33141 * util/i386/pc/misc.c: Delete. Update all users.
33142 * util/sparc64/ieee1275/misc.c: Likewise.
33143 * util/powerpc/ieee1275/misc.c: Likewise.
33144
aaf53e3c 331452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33146
33147 * conf/i386.rmk (setjmp_mod_SOURCES)
33148 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33149 * conf/common.rmk (setjmp_mod_SOURCES)
33150 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33151 to use $(target_cpu).
33152 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33153 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33154 * conf/powerpc-ieee1275.rmk: Likewise.
33155 * conf/sparc64-ieee1275.rmk: Likewise.
33156
33157 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33158 $(target_cpu) for kern/$(target_cpu)/dl.c.
33159 * conf/i386-efi.rmk: Likewise.
33160 * conf/i386-ieee1275.rmk: Likewise.
33161 * conf/x86_64-efi.rmk: Likewise.
33162 * conf/i386-coreboot.rmk: Likewise.
33163 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33164 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33165 kern/$(target_cpu)/cache.S.
33166 * conf/sparc64-ieee1275.rmk: Likewise.
33167
a337130b 331682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33169
33170 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33171 type to `grub_uint8_t', and adjust `padding9' accordingly.
33172
c6fe4d53 331732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33174
b09db61d 33175 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33176
c6fe4d53 33177 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33178 assembly in final jump, using register constraints.
33179
b09db61d 33180 (grub_linux_boot): For text mode, initialize `have_vga' using
33181 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33182
33183 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33184 right before the final jump.
33185
33186 Set `video_mode' to 0x3.
33187
33188 Document initialization of `video_page', `video_mode' and
33189 `video_ega_bx'.
33190
28333ad0 331912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33192
33193 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33194 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33195 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33196
02164e1b 331972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33198
33199 Fix build on Debian / sparc.
33200
33201 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33202
18b6c557 332032009-06-28 Pavel Roskin <proski@gnu.org>
33204
85f2aab6 33205 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33206 fix a warning.
33207
18b6c557 33208 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33209
ad760f81 332102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33211
33212 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33213 `err'.
33214
87a4623b 332152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33216
33217 Revert r2338.
33218
33219 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33220 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33221 grub_errno / grub_errmsg appropriately.
87a4623b 33222 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33223
8231fb77 332242009-06-27 Pavel Roskin <proski@gnu.org>
332252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33226
33227 * include/grub/dl.h: Include grub/elf.h.
33228 (struct grub_dl): Add symtab field.
33229 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33230 GRUB_MODULES_MACHINE_READONLY.
33231 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33232 of the header for read-only modules.
33233 (grub_dl_unload): Free mod->symtab for read-only modules.
33234 * kern/i386/dl.c: Use mod->symtab.
33235 * kern/powerpc/dl.c: Likewise.
33236 * kern/sparc64/dl.c: Likewise.
33237 * kern/x86_64/dl.c: Likewise.
33238
33239 * conf/i386-qemu.rmk: New file.
33240 * kern/i386/qemu/startup.S: Likewise.
33241 * kern/i386/qemu/mmap.c: Likewise.
33242 * boot/i386/qemu/boot.S: Likewise.
33243 * include/grub/i386/qemu/time.h: Likewise.
33244 * include/grub/i386/qemu/serial.h: Likewise.
33245 * include/grub/i386/qemu/kernel.h: Likewise.
33246 * include/grub/i386/qemu/console.h: Likewise.
33247 * include/grub/i386/qemu/boot.h: Likewise.
33248 * include/grub/i386/qemu/init.h: Likewise.
33249 * include/grub/i386/qemu/machine.h: Likewise.
33250 * include/grub/i386/qemu/loader.h: Likewise.
33251 * include/grub/i386/qemu/memory.h: Likewise.
33252
33253 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33254 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33255 [qemu] (pkglib_IMAGES): Add `boot.img'.
33256 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33257 [qemu] (boot_img_FORMAT): New variables.
33258 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33259 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33260 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33261 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33262 [qemu] (kernel_img_FORMAT): New variables.
33263
33264 * configure.ac: Recognise `i386-qemu'.
33265
33266 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33267 (for no compression).
33268 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33269 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33270 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33271 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33272 ifdefs).
33273
97fe384e 332742009-06-27 Pavel Roskin <proski@gnu.org>
33275
33276 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33277 read.
33278 * efiemu/prepare32.c: Likewise.
33279 * efiemu/prepare64.c: Likewise.
33280
c402ab17 332812009-06-26 Pavel Roskin <proski@gnu.org>
33282
33283 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33284 * include/grub/elf.h: Define symbols without "32" or "64" based
33285 on GRUB_TARGET_WORDSIZE.
33286 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33287 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33288 ELF definitions.
33289 * efiemu/loadcore64.c: Likewise.
33290 * loader/i386/bsd32.c: Likewise.
33291 * loader/i386/bsd64.c: Likewise.
33292 * kern/dl.c: Remove own ELF definitions.
33293 * util/i386/efi/grub-mkimage.c: Likewise.
33294
9bbdfd4d 332952009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33296
33297 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33298 segment 0x0 unconditionally, because the reference generated by
33299 GAS is an absolute address.
33300
a42ce6e9 333012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33302
33303 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33304 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33305
c952cf92 333062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33307
33308 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33309 indexes. Check for -f explicitly.
cc3752ad 33310 (search_file): Improve error message.
33311 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33312
132a0a59 333132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33314
33315 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33316 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33317
387a140c 333182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33319
33320 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33321 * conf/i386-ieee1275.rmk: Likewise.
33322 * conf/i386-coreboot.rmk: Likewise.
33323
33324 * kern/i386/pc/startup.S (grub_stop): Remove function.
33325 * kern/i386/ieee1275/startup.S: Likewise.
33326 * kern/i386/coreboot/startup.S: Likewise.
33327 * kern/i386/misc.S (grub_stop): New function.
33328
41da9665 333292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33330
33331 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33332 * kern/i386/realmode.S (real_to_prot): ... to here.
33333
bf337234 333342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33335
33336 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33337 with `kernel.img'.
33338 (kernel_elf_SOURCES): Rename to ...
33339 (kernel_img_SOURCES): ... this.
33340 (kernel_elf_HEADERS): Rename to ...
33341 (kernel_img_HEADERS): ... this. Update all users.
33342 (kernel_elf_ASFLAGS): Rename to ...
33343 (kernel_img_ASFLAGS): ... this.
33344 (kernel_elf_CFLAGS): Rename to ...
33345 (kernel_img_CFLAGS): ... this.
33346 (kernel_elf_LDFLAGS): Rename to ...
33347 (kernel_img_LDFLAGS): ... this.
33348 * conf/i386-coreboot.rmk: Likewise.
33349 * conf/powerpc-ieee1275.rmk: Likewise.
33350
33351 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33352 with "kernel.img".
33353
f52196ff 333542009-06-21 Pavel Roskin <proski@gnu.org>
33355
c3cee413 33356 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33357 to match nested functions.
33358 * loader/sparc64/ieee1275/linux.c: Likewise.
33359
f52196ff 33360 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33361
58750afc 333622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33363
33364 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33365 all i386 platforms.
33366
15355c7d 333672009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 Fix asm file handling on ELF, and remove workarounds.
33370
33371 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33372 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33373 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33374 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33375
3f3ec72b 333762009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33377
33378 Load BSD ELF modules
33379
33380 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33381 and loader/i386/bsd64.c
33382 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33383 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33384 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33385 (grub_freebsd_load_elfmodule32): New declaration
33386 (grub_freebsd_load_elfmoduleobj64): Likewise
33387 (grub_freebsd_load_elf_meta32): Likewise
33388 (grub_freebsd_load_elf_meta64): Likewise
33389 (grub_freebsd_add_meta): Likewise
33390 (grub_freebsd_add_meta_module): Likewise
33391 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33392 (grub_freebsd_add_meta_module): Likewise and move module-specific
33393 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33394 (grub_cmd_freebsd): Add elf-kernel specific parts
33395 based on grub_freebsd_add_meta_module
33396 (grub_cmd_freebsd_module): Add type parsing moved from
33397 grub_freebsd_add_meta_module
33398 (grub_cmd_freebsd_module_elf): New function
33399 (cmd_freebsd_module_elf): New variable
33400 (GRUB_MOD_INIT): Register freebsd_module_elf
33401 * loader/i386/bsd32.c: New file
33402 * loader/i386/bsd64.c: Likewise
33403 * loader/i386/bsdXX.c: Likewise
33404 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33405 (grub_elf64_load): Likewise
33406 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33407 All users updated
33408 (grub_elf64_load_hook_t): Likewise
33409
0db15301 334102009-06-21 Colin Watson <cjwatson@ubuntu.com>
33411
33412 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33413 variable.
33414 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33415 don't write a menu entry for recovery mode.
33416
546796c1 334172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33418
33419 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33420 after it's no longer needed.
33421
cd7310d5 334222009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33423
33424 * include/grub/i386/loader.h (grub_linux_prot_size)
33425 (grub_linux_tmp_addr, grub_linux_real_addr)
33426 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33427 GRUB_MACHINE_PCBIOS.
33428 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33429 common grub_util_info() call to ...
33430 (generate_image): ... here.
33431 Fix use of uninitialized memory, comparison of signed with
33432 unsigned integers and memory leak.
33433 Remove bogus module address message.
33434
ab32d3b5 334352009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33436
33437 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33438 grub_raid_register
33439 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33440
024ef597 334412009-06-19 Pavel Roskin <proski@gnu.org>
33442
33443 * configure.ac: Remove stray AC_MSG_CHECKING.
33444
3ac72b51 334452009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33446
33447 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33448
e14cd814 334492009-06-18 Pavel Roskin <proski@gnu.org>
33450
33451 * conf/common.rmk: Add fs_file.mod.
33452 * disk/fs_file.c: New file.
33453 * include/grub/disk.h (enum grub_disk_dev_id): Add
33454 GRUB_DISK_DEVICE_FILE_ID.
33455
26586d98 334562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33457
33458 Fix build with Apple's toolchain. Part 2
33459
33460 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33461 a fake start
33462
26de2bcd 334632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 Fix build with Apple's toolchain. Part 1
33466
33467 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33468 for long calls
33469 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33470 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33471 Apple's toolchain
33472
09b3490b 334732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33474
33475 Fix warnings
33476
33477 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33478 (decomp_block): initialize ch
33479 use grub_memcpy instead of memcpy
33480
c22a006a 334812009-06-17 Pavel Roskin <proski@gnu.org>
33482
d3638678 33483 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33484 version, use declarations needed to use vga_text as the startup
33485 console.
33486
c22a006a 33487 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33488 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33489 the kernel.
33490 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33491 and grub_at_keyboard_fini(), it's done on module load and
33492 unload.
33493
05b129e0 334942009-06-17 Felix Zielcke <fzielcke@z-51.de>
33495
33496 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33497 file can't be found.
33498 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33499
cf24ed9e 335002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33501
33502 Fix newline handling
33503
33504 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33505 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33506 (grub_script_yylex): don't segfault on unterminated script
33507 newline terminates command and variable
33508
74aa8e4b 335092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33510
33511 avoid double grub_adjust_range call. Bug reported by David Simner
33512
33513 * kern/disk.c (grub_disk_write): change to raw disk access before
33514 calling disk_read
33515
1bd265f3 335162009-06-17 Colin Watson <cjwatson@ubuntu.com>
33517
33518 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33519 spaces, for the benefit of help2man.
33520 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33521
a2d08c06 335222009-06-16 Pavel Roskin <proski@gnu.org>
33523
33524 * kern/i386/halt.c: Include grub/machine/init.h.
33525 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33526
b97bcb19 335272009-06-16 Felix Zielcke <fzielcke@z-51.de>
33528
33529 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33530 drivemap menuentry.
33531
0644f96c 335322009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33533
33534 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33535 `echo' command.
33536
3ef17a2e 335372009-06-16 Pavel Roskin <proski@gnu.org>
33538
33539 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33540 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33541 save %dx, we only need %dl and we never change it.
33542 * boot/i386/pc/cdboot.S: Don't set the root drive.
33543 * boot/i386/pc/pxeboot.S: Likewise.
33544 * include/grub/i386/pc/boot.h: Remove
33545 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33546 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33547 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33548 * kern/i386/pc/init.c (make_install_device): Remove references
33549 to grub_root_drive.
33550 * kern/i386/pc/startup.S: Likewise.
33551 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33552
693fe637 335532009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33554
33555 xnu_uuid command
33556
33557 * commands/xnu_uuid.c: new file
33558 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33559 (xnu_uuid_mod_SOURCES): new variable
33560 (xnu_uuid_mod_CFLAGS): likewise
33561 (xnu_uuid_mod_LDFLAGS): likewise
33562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33563 * conf/i386-ieee1275.rmk: likewise
33564 * conf/i386-pc.rmk: likewise
33565 * conf/powerpc-ieee1275.rmk: likewise
33566 * conf/sparc64-ieee1275.rmk: likewise
33567 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33568
c9da87d0 335692009-06-16 Pavel Roskin <proski@gnu.org>
33570
33571 * configure.ac: Avoid '==' in test command, it's not portable.
33572
9c6f4596 335732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33574
33575 Probe command
33576
33577 * commands/probe.c: new file
33578 * conf/common.rmk (pkglib_MODULES): add probe.mod
33579 (probe_mod_SOURCES): new variable
33580 (probe_mod_CFLAGS): likewise
33581 (probe_mod_LDFLAGS): likewise
33582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33583 * conf/i386-ieee1275.rmk: likewise
33584 * conf/i386-pc.rmk: likewise
33585 * conf/powerpc-ieee1275.rmk: likewise
33586 * conf/sparc64-ieee1275.rmk: likewise
33587
70b7f9fd 335882009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33589
33590 Fix handling of string like \"hello\" and "a
33591 b"
33592
33593 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33594 (grub_script_yylex): fix parsing of quoting, escaping and newline
33595
71c79a6b 335962009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33597
dd74360c 33598 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33599 handling
dd74360c 33600
0644f96c 336012009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33602
33603 * util/grub-mkconfig.in: Fix parsing of --output option.
33604
e40893c3 336052009-06-12 Pavel Roskin <proski@gnu.org>
33606
33607 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33608 genmk.rb don't need to be generated or installed.
33609
3a1acfe2 336102009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33611
33612 * commands/i386/pc/drivemap_int13h.S: add more comments
33613
3a4575d4 336142009-06-11 Pavel Roskin <proski@gnu.org>
33615
0658e928 33616 * Makefile.in (uninstall): Uninstall manuals.
33617
ca0388f0 33618 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33619 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33620 and update-grub_lib in two places.
33621 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33622
e3b27c39 33623 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33624 a compiler warning.
33625
3a4575d4 33626 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33627 `entry_lo' to fix variable shadowing.
33628
af1f4f55 336292009-06-11 Christian Franke <franke@computer.org>
33630
33631 * kern/misc.c (__enable_execute_stack): Add missing return type
33632 to prevent gcc warning.
33633
5225e649 336342009-06-11 Felix Zielcke <fzielcke@z-51.de>
33635
33636 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33637
7d83bd47 336382009-06-11 Pavel Roskin <proski@gnu.org>
33639
c1cb63ba 33640 * Makefile.in: Don't rely on any scripts being executable.
33641 Always use $(SHELL) to run shell scripts.
33642
7d83bd47 33643 * configure.ac: Always define ___main if using -nostdlib. This
33644 fixes tests on Cygwin.
33645
948f48e7 336462009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33647
33648 UDF fix
33649
7d83bd47 33650 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33651 is in bytes and not in blocks
7d83bd47 33652
8ada9bc1 336532009-06-11 Pavel Roskin <proski@gnu.org>
33654
33655 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33656 warning.
33657
25ad2323 336582009-06-11 Felix Zielcke <fzielcke@z-51.de>
33659
33660 * util/grub.d/30_os-prober.in: Fix a comment. Source
33661 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33662 to set the root device. Place drivemap command in the generated
33663 chain entry.
33664
e65acb0c 336652009-06-11 Pavel Roskin <proski@gnu.org>
33666
33667 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33668 have long been resolved.
33669
f285fe2d 336702009-06-11 Colin Watson <cjwatson@ubuntu.com>
33671
bd47b0b5 33672 * util/grub.d/10_linux.in: Capitalise "Linux".
33673
f285fe2d 33674 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33675
a0c62e4e 336762009-06-11 Pavel Roskin <proski@gnu.org>
33677
b6783cb2 33678 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33679 fix a gcc warning and ensure that the function won't ever exit.
33680
dde032e8 33681 * kern/i386/ieee1275/init.c: Add missing prototype for
33682 grub_stop_floppy().
33683
22cd079d 33684 * loader/ieee1275/multiboot2.c [__i386__]: Include
33685 grub/cpu/multiboot.h.
33686
a0c62e4e 33687 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33688 casts to short - they are not portable and cause warnings. Fix
33689 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33690
63963d17 336912009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33692
33693 Drivemap fixes
33694
33695 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33696 new function
33697 (grub_get_root_biosnumber_saved): new variable
33698 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33699 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33700 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33701 %dx after the call if necessary
33702 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33703 (boot_mod_SOURCES): remove
33704 (boot_mod_CFLAGS): remove
33705 (boot_mod_LDFLAGS): remove
33706 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33707 (boot_mod_SOURCES): new variable
33708 (boot_mod_CFLAGS): likewise
33709 (boot_mod_LDFLAGS): likewise
33710 * conf/i386-efi.rmk: likewise
33711 * conf/i386-ieee1275.rmk: likewise
33712 * conf/i386-pc.rmk: likewise
33713 * conf/powerpc-ieee1275.rmk: likewise
33714 * conf/sparc64-ieee1275.rmk: likewise
33715 * conf/x86_64-efi.rmk: likewise
33716 * include/grub/i386/pc/biosnum.h: new file
33717 * lib/i386/pc/biosnum.c: likewise
33718 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33719 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33720 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33721
33abf7ae 337222009-06-10 Pavel Roskin <proski@gnu.org>
33723
5ac35b35 33724 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33725 Use separate variables. Read only the file size at the end, but
33726 not the checksum that we don't use.
33727
5c5215d5 33728 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33729 Adjust all callers.
33730
27d5fef7 33731 * kern/ieee1275/openfw.c: Remove libc includes.
33732 * kern/ieee1275/cmain.c: Likewise.
33733 * include/grub/ieee1275/ieee1275.h: Likewise.
33734
33abf7ae 33735 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33736 compiler warnings.
33737
19d50c2b 337382009-06-10 Felix Zielcke <fzielcke@z-51.de>
33739
33740 * Makefile.in: Remove all trailing whitespace.
33741 * conf/i386-pc.rmk: Likewise.
33742 * conf/powerpc-ieee1275.rmk: Likewise.
33743 * conf/sparc64-ieee1275.rmk: Likewise.
33744 * docs/grub.texi: Likewise.
33745 * docs/texinfo.tex: Likewise.
33746 * disk/fs_uuid.c: Likewise.
33747 * disk/lvm.c: Likewise.
33748 * disk/scsi.c: Likewise.
33749 * disk/ata.c: Likewise.
33750 * disk/ieee1275/ofdisk.c: Likewise.
33751 * disk/i386/pc/biosdisk.c: Likewise.
33752 * disk/host.c: Likewise.
33753 * disk/raid.c: Likewise.
33754 * disk/efi/efidisk.c: Likewise.
33755 * disk/usbms.c: Likewise.
33756 * disk/memdisk.c: Likewise.
33757 * disk/loopback.c: Likewise.
33758 * kern/powerpc/dl.c: Likewise.
33759 * kern/device.c: Likewise.
33760 * kern/dl.c: Likewise.
33761 * kern/sparc64/dl.c: Likewise.
33762 * kern/ieee1275/ieee1275.c: Likewise.
33763 * kern/term.c: Likewise.
33764 * kern/fs.c: Likewise.
33765 * kern/i386/dl.c: Likewise.
33766 * kern/i386/pc/startup.S: Likewise.
33767 * kern/i386/pc/init.c: Likewise.
33768 * kern/i386/pc/mmap.c: Likewise.
33769 * kern/i386/pc/lzo1x.S: Likewise.
33770 * kern/i386/ieee1275/init.c: Likewise.
33771 * kern/i386/realmode.S: Likewise.
33772 * kern/i386/tsc.c: Likewise.
33773 * kern/partition.c: Likewise.
33774 * kern/corecmd.c: Likewise.
33775 * kern/file.c: Likewise.
33776 * kern/efi/efi.c: Likewise.
33777 * kern/efi/init.c: Likewise.
33778 * kern/efi/mm.c: Likewise.
33779 * kern/main.c: Likewise.
33780 * kern/err.c: Likewise.
33781 * kern/env.c: Likewise.
33782 * kern/disk.c: Likewise.
33783 * kern/generic/millisleep.c: Likewise.
33784 * kern/generic/rtc_get_time_ms.c: Likewise.
33785 * kern/misc.c: Likewise.
33786 * kern/parser.c: Likewise.
33787 * genmk.rb: Likewise.
33788 * configure.ac: Likewise.
33789 * boot/i386/pc/diskboot.S: Likewise.
33790 * boot/i386/pc/pxeboot.S: Likewise.
33791 * boot/i386/pc/boot.S: Likewise.
33792 * boot/i386/pc/lnxboot.S: Likewise.
33793 * boot/i386/pc/cdboot.S: Likewise.
33794 * parttool/pcpart.c: Likewise.
33795 * video/readers/tga.c: Likewise.
33796 * video/video.c: Likewise.
33797 * video/bitmap.c: Likewise.
33798 * lib/envblk.c: Likewise.
33799 * lib/i386/setjmp.S: Likewise.
33800 * fs/xfs.c: Likewise.
33801 * fs/afs.c: Likewise.
33802 * fs/fat.c: Likewise.
33803 * fs/ntfs.c: Likewise.
33804 * fs/udf.c: Likewise.
33805 * fs/affs.c: Likewise.
33806 * fs/iso9660.c: Likewise.
33807 * fs/hfs.c: Likewise.
33808 * fs/fshelp.c: Likewise.
33809 * fs/ext2.c: Likewise.
33810 * fs/jfs.c: Likewise.
33811 * fs/reiserfs.c: Likewise.
33812 * fs/hfsplus.c: Likewise.
33813 * fs/minix.c: Likewise.
33814 * fs/cpio.c: Likewise.
33815 * fs/sfs.c: Likewise.
33816 * fs/ufs.c: Likewise.
33817 * efiemu/prepare.c: Likewise.
33818 * efiemu/loadcore_common.c: Likewise.
33819 * efiemu/runtime/efiemu.sh: Likewise.
33820 * efiemu/runtime/efiemu.S: Likewise.
33821 * efiemu/runtime/efiemu.c: Likewise.
33822 * efiemu/pnvram.c: Likewise.
33823 * efiemu/main.c: Likewise.
33824 * efiemu/i386/pc/cfgtables.c: Likewise.
33825 * efiemu/i386/loadcore64.c: Likewise.
33826 * efiemu/i386/loadcore32.c: Likewise.
33827 * efiemu/loadcore.c: Likewise.
33828 * efiemu/symbols.c: Likewise.
33829 * efiemu/mm.c: Likewise.
33830 * include/grub/autoefi.h: Likewise.
33831 * include/grub/datetime.h: Likewise.
33832 * include/grub/term.h: Likewise.
33833 * include/grub/hfs.h: Likewise.
33834 * include/grub/lvm.h: Likewise.
33835 * include/grub/i386/tsc.h: Likewise.
33836 * include/grub/i386/linux.h: Likewise.
33837 * include/grub/i386/xnu.h: Likewise.
33838 * include/grub/i386/efiemu.h: Likewise.
33839 * include/grub/i386/pc/biosdisk.h: Likewise.
33840 * include/grub/i386/pc/memory.h: Likewise.
33841 * include/grub/i386/pc/vbe.h: Likewise.
33842 * include/grub/parttool.h: Likewise.
33843 * include/grub/video.h: Likewise.
33844 * include/grub/memory.h: Likewise.
33845 * include/grub/fs.h: Likewise.
33846 * include/grub/partition.h: Likewise.
33847 * include/grub/xnu.h: Likewise.
33848 * include/grub/efi/api.h: Likewise.
33849 * include/grub/efi/pe32.h: Likewise.
33850 * include/grub/efi/memory.h: Likewise.
33851 * include/grub/multiboot.h: Likewise.
33852 * include/grub/usbdesc.h: Likewise.
33853 * include/grub/multiboot2.h: Likewise.
33854 * include/grub/acpi.h: Likewise.
33855 * include/grub/efiemu/efiemu.h: Likewise.
33856 * include/grub/disk.h: Likewise.
33857 * include/grub/ieee1275/ieee1275.h: Likewise.
33858 * include/grub/net.h: Likewise.
33859 * include/grub/machoload.h: Likewise.
33860 * include/grub/macho.h: Likewise.
33861 * include/multiboot.h: Likewise.
33862 * genmoddep.awk: Likewise.
33863 * normal/main.c: Likewise.
33864 * normal/menu_entry.c: Likewise.
33865 * normal/menu_viewer.c: Likewise.
33866 * normal/completion.c: Likewise.
33867 * normal/cmdline.c: Likewise.
33868 * normal/misc.c: Likewise.
33869 * normal/datetime.c: Likewise.
33870 * bus/usb/usbtrans.c: Likewise.
33871 * bus/usb/ohci.c: Likewise.
33872 * bus/usb/uhci.c: Likewise.
33873 * bus/usb/usb.c: Likewise.
33874 * mmap/efi/mmap.c: Likewise.
33875 * mmap/i386/pc/mmap_helper.S: Likewise.
33876 * mmap/i386/pc/mmap.c: Likewise.
33877 * mmap/i386/mmap.c: Likewise.
33878 * mmap/i386/uppermem.c: Likewise.
33879 * mmap/mmap.c: Likewise.
33880 * commands/acpi.c: Likewise.
33881 * commands/echo.c: Likewise.
33882 * commands/blocklist.c: Likewise.
33883 * commands/loadenv.c: Likewise.
33884 * commands/usbtest.c: Likewise.
33885 * commands/boot.c: Likewise.
33886 * commands/parttool.c: Likewise.
33887 * commands/search.c: Likewise.
33888 * commands/cat.c: Likewise.
33889 * commands/i386/pc/play.c: Likewise.
33890 * commands/i386/pc/drivemap.c: Likewise.
33891 * commands/i386/pc/vbeinfo.c: Likewise.
33892 * commands/i386/pc/acpi.c: Likewise.
33893 * commands/i386/pc/vbetest.c: Likewise.
33894 * commands/ls.c: Likewise.
33895 * commands/cmp.c: Likewise.
33896 * commands/test.c: Likewise.
33897 * commands/efi/acpi.c: Likewise.
33898 * commands/gptsync.c: Likewise.
33899 * commands/help.c: Likewise.
33900 * partmap/amiga.c: Likewise.
33901 * partmap/apple.c: Likewise.
33902 * partmap/acorn.c: Likewise.
33903 * partmap/pc.c: Likewise.
33904 * partmap/sun.c: Likewise.
33905 * partmap/gpt.c: Likewise.
33906 * script/sh/lexer.c: Likewise.
33907 * script/sh/function.c: Likewise.
33908 * font/font.c: Likewise.
33909 * font/font_cmd.c: Likewise.
33910 * loader/powerpc/ieee1275/linux.c: Likewise.
33911 * loader/efi/chainloader.c: Likewise.
33912 * loader/multiboot_loader.c: Likewise.
33913 * loader/macho.c: Likewise.
33914 * loader/i386/multiboot.c: Likewise.
33915 * loader/i386/linux.c: Likewise.
33916 * loader/i386/pc/linux.c: Likewise.
33917 * loader/i386/pc/multiboot2.c: Likewise.
33918 * loader/i386/pc/chainloader.c: Likewise.
33919 * loader/i386/pc/xnu.c: Likewise.
33920 * loader/i386/bsd_trampoline.S: Likewise.
33921 * loader/i386/efi/linux.c: Likewise.
33922 * loader/i386/multiboot_elfxx.c: Likewise.
33923 * loader/i386/bsd_helper.S: Likewise.
33924 * loader/i386/bsd.c: Likewise.
33925 * loader/i386/linux_trampoline.S: Likewise.
33926 * loader/i386/xnu_helper.S: Likewise.
33927 * loader/i386/xnu.c: Likewise.
33928 * loader/i386/bsd_pagetable.c: Likewise.
33929 * loader/i386/multiboot_helper.S: Likewise.
33930 * loader/xnu.c: Likewise.
33931 * loader/xnu_resume.c: Likewise.
33932 * io/gzio.c: Likewise.
33933 * term/efi/console.c: Likewise.
33934 * term/terminfo.c: Likewise.
33935 * term/ieee1275/ofconsole.c: Likewise.
33936 * term/i386/pc/serial.c: Likewise.
33937 * term/i386/pc/vesafb.c: Likewise.
33938 * term/i386/pc/vga.c: Likewise.
33939 * term/usb_keyboard.c: Likewise.
33940 * term/gfxterm.c: Likewise.
33941 * aclocal.m4: Likewise.
33942 * util/lvm.c: Likewise.
33943 * util/grub.d/30_os-prober.in: Likewise.
33944 * util/grub.d/10_hurd.in: Likewise.
33945 * util/console.c: Likewise.
33946 * util/grub-macho2img.c: Likewise.
33947 * util/grub-probe.c: Likewise.
33948 * util/hostfs.c: Likewise.
33949 * util/i386/pc/grub-mkimage.c: Likewise.
33950 * util/i386/pc/grub-setup.c: Likewise.
33951 * util/i386/efi/grub-mkimage.c: Likewise.
33952 * util/grub-mkconfig.in: Likewise.
33953 * util/raid.c: Likewise.
33954 * util/resolve.c: Likewise.
33955 * util/grub-mkdevicemap.c: Likewise.
33956 * util/grub-emu.c: Likewise.
33957 * util/getroot.c: Likewise.
33958 * util/hostdisk.c: Likewise.
33959 * util/usb.c: Likewise.
33960 * util/grub-editenv.c: Likewise.
33961 * util/misc.c: Likewise.
33962
d2d49665 339632009-06-10 Felix Zielcke <fzielcke@z-51.de>
33964
33965 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33966 `genparttoollist.sh'.
33967 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33968 Add `*.sh' to the list find searches for and change `mdate.sh'
33969 to `mdate-sh'.
33970
fe052e37 339712009-06-10 Pavel Roskin <proski@gnu.org>
33972
2763ac18 33973 * include/grub/multiboot2.h: Provide compatibility defines for
33974 multiboot2.h.
33975 * include/multiboot2.h: Include stdint.h only if needed, using
33976 angle brackets.
33977 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33978 grub/multiboot2.h.
33979 * loader/ieee1275/multiboot2.c: Likewise.
33980 * loader/multiboot2.c: Likewise.
33981 * loader/multiboot_loader.c: Likewise.
33982
437e6adc 33983 * configure.ac: Use -nostdlib when probing for the target. It
33984 should not be required to have libc for the target.
33985
06a6836c 33986 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33987 they fail without libc headers for the target.
33988 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33989 exports.
33990 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33991 preprocessor conditionals.
33992
fe052e37 33993 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33994 build system doesn't need to be aware of the tar.c internals.
33995
afd22553 339962009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33997
afd22553 33998 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33999
6b787c4f 340002009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34001
34002 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34003 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34004
340052009-06-09 Felix Zielcke <fzielcke@z-51.de>
34006
34007 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34008 aren't available if ata.mod gets used.
6b787c4f 34009
473d1e45 340102009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34011
473d1e45 34012 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34013 initialising controller.
473d1e45 34014 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34015
255a27d4 340162009-06-08 Felix Zielcke <fzielcke@z-51.de>
34017
34018 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34019 to choose between ata and biosdisk module on i386-pc.
34020
473d1e45 340212009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34022
d55842d8 34023 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34024 Subclass and Programming Interface fields in terms of the 3 byte
34025 Class Code register.
34026 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34027
fa5db0b1 34028 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34029 interface is OHCI. Add grub_dprintf for symmetry with
34030 bus/usb/uhci.c.
34031 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34032 interface is UHCI. Add interf variable for programming
34033 interface. Print interface with class/subclass.
34034
c0947beb 34035 * bus/usb/ohci.c: Set interf with correct field.
34036
69da8877 34037 * bus/usb/uhci.c: Remove unneeded doubled lines.
34038 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34039 Remove whitespace inside comment.
34040
9e172e30 340412009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34042
34043 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34044 as fallback an equivalent option without depth.
34045
de65ee2b 340462009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34047
34048 Not fail if unable to retrieve C/H/S on LBA disks
34049
473d1e45 34050 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34051 if unable to retrieve C/H/S on LBA disks
34052
b57ea2c9 340532009-06-08 Pavel Roskin <proski@gnu.org>
34054
34055 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34056 about aliasing.
34057
af361263 340582009-06-08 Felix Zielcke <fzielcke@z-51.de>
34059
34060 * Makefile.in (uninstall): Remove all $lib_DATA files.
34061
4c9ec6b3 340622009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 Bugfix: install on partitionless device
34065
34066 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34067 is a whole disk
34068
e76fc924 340692009-06-08 Felix Zielcke <fzielcke@z-51.de>
34070
34071 * Makefile.in (uninstall): Remove all $include_DATA files.
34072
ba5a0d05 340732009-06-08 Felix Zielcke <fzielcke@z-51.de>
34074
34075 * commands/true.c: New file. Implement the true and false commands.
34076 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34077 (true_mod_SOURCES): New variable.
34078 (true_mod_CFLAGS): Likewise.
34079 (true_mod_LDFLAGS): Likewise.
34080
c8048e32 340812009-06-05 Colin D Bennett <colin@gibibit.com>
34082
34083 Optimized font character lookup using binary search instead of linear
34084 search. Fonts now are required to have the character index ordered by
34085 code point.
34086
34087 * font/font.c (load_font_index): Verify that fonts have ordered
34088 character indices.
34089 (find_glyph): Use binary search instead of linear search to find a
34090 character in a font.
34091
408305be 340922009-06-05 Michael Scherer <misc@mandriva.org>
34093
34094 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34095 uses case sensitive btree.
34096 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34097 only for case insensitive filesystems.
34098
8ee1e0d9 340992009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34100
34101 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34102 * conf/common.rmk (search_mod_CFLAGS): likewise
34103
a9966eb1 341042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34105
473d1e45 34106 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34107 compensate a compiler bug
34108
9e7100fb 341092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34110
473d1e45 34111 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34112 instead of '\b'
473d1e45 34113
ede21d71 341142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34115
34116 Definitions for creating asm symbols with Apple's CC
34117
34118 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34119 [APPLE_CC] (VARIABLE): likewise
34120
9dbf7653 341212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34122
34123 Disable lnxboot.img when compiled
34124 with Apple's CC
34125
34126 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34127 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34128 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34129 [! APPLE_CC] (CODE_LENG): skip
34130 [! APPLE_CC] (setup_sects): likewise
34131 [! APPLE_CC]: skip filling
473d1e45 34132
e93cdc3d 341332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34134
34135 Address in trampolines based on 32-bit registers when compiled
34136 with Apple's CC
34137
473d1e45 34138 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34139 for addresses
34140 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34141
6c688477 341422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34143
34144 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34145
34146 * kern/misc.c [APPLE_CC] (memcpy): new function
34147 [APPLE_CC] (memmove): likewise
34148 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34149 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34150 (memset): likewise
34151 (abort): likewise
34152 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34153 APPLE_CC are defined
34154 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34155 (grub_assert_fail): make prototype conditional
34156
e37ffc5c 341572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34158
34159 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34160
473d1e45 34161 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34162 grub-macho2img
e37ffc5c 34163 (CLEANFILES): add grub-macho2img
34164 (grub_macho2img_SOURCES): new variable
34165 * kern/i386/pc/startup.S (bss_start): new variable
34166 (bss_end): likewise
34167 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34168 * util/grub-macho2img.c: new file
34169
cf00df31 341702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34171
34172 Use objconv when compiling with Apple's CC
34173
34174 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34175 (efiemu64.o): likewise
34176 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34177 when compiling with Apple's CC
34178 (efiemu64_s.o): likewise
34179 * configure.ac: check for objconv when compiling with Apple's CC
34180 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34181
d119a20c 341822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34183
34184 Define segment as well as section when compiling with
34185 Apple's CC
34186
34187 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34188 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34189 (efiemu_convert_pointer): likewise
34190 (efiemu_set_virtual_address_map): likewise
34191 (efiemu_convert_pointer): likewise
34192 (efiemu_getcrc32): likewise
34193 (init_crc32_table): likewise
34194 (reflect): likewise
34195 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34196 (GRUB_MOD_DEP): likewise
473d1e45 34197
c8600122 341982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34199
34200 Allow a compilation without -mcmodel=large
34201
34202 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34203 when compiled without -mcmodel=large
473d1e45 34204 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34205 without -mcmodel=large
473d1e45 34206 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34207 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34208
e8df1d4e 342092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34210
34211 Remove nested functions in efiemu core
34212
34213 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34214
cc6c3ac1 342152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34216
34217 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34218
34219 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34220 temporary storage
473d1e45 34221 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34222 using Apple's CC
cc6c3ac1 34223 (grub_cpu_is_tsc_supported): likewise
34224 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34225
3e325901 342262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34227
34228 Absolute addressing through constant with Apple's cc
34229
34230 * kern/i386/pc/startup.S: Define necessary constants
34231 and address through it when using ABS with Apple's CC
34232 * boot/i386/pc/diskboot.S: likewise
34233 * boot/i386/pc/boot.S: likewise
34234 * boot/i386/pc/lnxboot.S: likewise
34235 * boot/i386/pc/cdboot.S: likewise
34236 * mmap/i386/pc/mmap_helper.S: likewise
34237 * commands/i386/pc/drivemap_int13h.S: likewise
34238
2b167a72 342392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34240
34241 Check if compiler is apple cc
34242
34243 * Makefile.in (ASFLAGS): new variable
34244 (TARGET_ASFLAGS): likewise
34245 (TARGET_MODULE_FORMAT): likewise
34246 (TARGET_APPLE_CC): likewise
34247 (OBJCONV): likewise
34248 (TARGET_IMG_CFLAGS): likewise
34249 (TARGET_CPPFLAGS): add includedir
34250 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34251 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34252 Check for linker script only if compiler isn't Apple's CC
34253 (TARGET_MODULE_FORMAT): set
34254 (TARGET_APPLE_CC): likewise
34255 (TARGET_ASFLAGS): likewise
34256 (ASFLAGS): likewise
34257 Check for objcopy only if compiler isn't Apple's CC
34258 Check for BSS symbol only if compiler isn't Apple's CC
34259 * genmk.rb: adapt nm options if we use Apple's utils
34260 * aclocal.m4 (grub_apple_cc): new test
34261 (grub_apple_target_cc): likewise
473d1e45 34262
fb14123e 342632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34264
34265 Simplify sed expressions and improve awk
34266
34267 * Makefile.in (install-local): simplify sed expression
34268 * gencmdlist.sh: likewise
34269 * genmoddep.awk: avoid adding module as a dependency of itself
34270
5b889789 342712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34272
34273 Add missing start symbols
34274
34275 * boot/i386/pc/boot.S: add start
fb14123e 34276 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34277
fd2bf2e3 342782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34279
34280 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34281
34282 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34283 (relocate_addresses): consider both r_addend and value at offset
34284 (make_mods_section): zerofill modinfo and header
34285 (convert_elf): write prefix here
473d1e45 34286
5389763d 342872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34288
34289 Use .asciz instead of .string
34290
34291 * i386/pc/diskboot.S: use .asciz instead of .string
34292 * i386/pc/boot.S: likewise
34293 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34294 (GRUB_MOD_NAME): likewise
473d1e45 34295
3eb5ed4e 342962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34297
34298 gfxpayload support
34299
34300 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34301 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34302 (grub_video_setup): remove
34303 (grub_video_set_mode): new prototype
34304 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34305 (vid_mode): remove
34306 (linux_vesafb_res): compile only on PCBIOS
34307 (grub_linux_boot): support gfxpayload
34308 * loader/i386/pc/xnu.c (video_hook): new function
34309 (grub_xnu_set_video): support gfxpayload
34310 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34311 (DEFAULT_VIDEO_HEIGHT): likewise
34312 (DEFAULT_VIDEO_FLAGS): likewise
34313 (DEFAULT_VIDEO_MODE): new definition
34314 (video_hook): new function
34315 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34316 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34317 loading xnu
34318 * video/video.c (grub_video_setup): removed
473d1e45 34319 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34320 grub_video_setup
34321
4b0e1143 343222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34323
34324 Avoid calling biosdisk in drivemap
34325
34326 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34327 (revparse_biosdisk): likewise
34328 (list_mappings): derive name from id directly
34329 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34330
fda6cb98 343312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34332
34333 Script fixes
34334
34335 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34336 (grub_lexer_param): add tokenonhold
34337 (grub_script_create_cmdline): remove cmdline. All callers updated
34338 (grub_script_function_create): make functionname
34339 grub_script_arg. All callers updated
34340 (grub_script_execute_argument_to_string): new prototype
34341 * kern/parser.c (state_transitions): reorder
34342 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34343 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34344 make global
34345 (grub_script_execute_cmdline): use new format
34346 * script/sh/function.c (grub_script_function_create): make functionname
34347 grub_script_arg. All callers updated
473d1e45 34348 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34349 (grub_script_yylex): remove
34350 (grub_script_yylex2): renamed to ...
34351 (grub_script_yylex): ...renamed
34352 parse the expressions like a${b}c
34353 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34354 (GRUB_PARSER_TOKEN_VAR): remove
34355 (GRUB_PARSER_TOKEN_NAME): likewise
34356 ("if"): declare as typeless
34357 ("while"): likewise
34358 ("function"): likewise
34359 ("else"): likewise
34360 ("then"): likewise
34361 ("fi"): likewise
34362 (text): remove
34363 (argument): likewise
34364 (script): accept empty scripts and make exit on error
34365 (arguments): use GRUB_PARSER_TOKEN_ARG
34366 (function): likewise
34367 (command): move error handling to script
34368 (menuentry): move grub_script_lexer_ref before
473d1e45 34369 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34370 argument. All callers updated
34371
f4448a07 343722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34373
34374 Prevent GRUB from probing floppies during boot.
34375
34376 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34377 * commands/search.c (options): Add --no-floppy.
34378 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34379 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34380 --no-floppy when searching for UUIDs.
34381
2bf5885a 343822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34383
34384 Simplify the code duplication in commands/search.c.
34385
34386 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34387 (search_fs): ... this. Update all users.
34388
f6fd460a 343892009-06-03 Felix Zielcke <fzielcke@z-51.de>
34390
34391 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34392
cbb3c83e 343932009-05-28 Pavel Roskin <proski@gnu.org>
34394
57788cfd 34395 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34396 Remove the original symlink explicitly.
34397
cbb3c83e 34398 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34399 just one slash. That's how grub_fshelp_find_file() does it.
34400
cd0d5e30 344012009-05-26 Pavel Roskin <proski@gnu.org>
34402
f0f8bbe2 34403 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34404 to `str'.
34405
cd0d5e30 34406 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34407 possibly unused.
34408
8c2cab51 344092009-05-25 Christian Franke <franke@computer.org>
34410
34411 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34412 register.
34413 (grub_atapi_identify): Add wait after drive select.
34414 (grub_ata_identify): Do more strict status register check before
34415 calling grub_atapi_identify (). Suppress error message if status
34416 register is 0x00 after command failure. Add status register
34417 check after PIO read to avoid bogus identify due to stuck DRQ.
34418 Thanks to Pavel Roskin for testing.
34419 (grub_device_initialize): Remove unsafe status register check.
34420 Thanks to 'phcoder' for problem report and patch.
34421 Prevent sign extension in debug message.
34422
230c0ad6 344232009-05-23 Colin D Bennett <colin@gibibit.com>
34424
34425 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34426 definition file, and functions defined in `normal/menu.c' have had
34427 their prototypes moved to `include/grub/menu.h' for consistency.
34428
34429 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34430 from normal.h.
34431 (grub_menu_get_entry): Likewise.
34432 (grub_menu_get_timeout): Likewise.
34433 (grub_menu_set_timeout): Likewise.
34434 (grub_menu_execute_entry): Likewise.
34435 (grub_menu_execute_with_fallback): Likewise.
34436 (grub_menu_entry_run): Likewise.
34437
34438 * include/grub/normal.h: Re-ordered and grouped function
34439 prototypes by file that the function is defined in.
34440 (grub_menu_execute_callback): Removed; moved to menu.h.
34441 (grub_menu_get_entry): Likewise.
34442 (grub_menu_get_timeout): Likewise.
34443 (grub_menu_set_timeout): Likewise.
34444 (grub_menu_execute_entry): Likewise.
34445 (grub_menu_execute_with_fallback): Likewise.
34446 (grub_menu_entry_run): Likewise.
34447 (grub_menu_addentry): Renamed from this ...
34448 (grub_normal_add_menu_entry): ... to this.
34449
34450 * normal/main.c (grub_menu_addentry): Renamed from this ...
34451 (grub_normal_add_menu_entry): ... to this.
34452
34453 * script/sh/execute.c (grub_script_execute_menuentry): Update
34454 reference to renamed grub_menu_addentry function.
34455
861f03a5 344562009-05-23 Felix Zielcke <fzielcke@z-51.de>
34457
34458 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34459
96b1619a 344602009-05-22 Pavel Roskin <proski@gnu.org>
34461
bf6a5fb2 34462 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34463 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34464 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34465 compiling for the i386 targets, but not for the utilities.
34466
96b1619a 34467 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34468 to grub_uint8_t.
34469 (grub_root_drive): Likewise.
34470 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34471 remove alignment.
34472 (grub_root_drive): Change size to byte.
34473 (grub_start_addr): Remove.
34474 (grub_end_addr): Likewise.
34475 (grub_apm_bios_info): Likewise.
34476
b729776b 344772009-05-21 Felix Zielcke <fzielcke@z-51.de>
34478
34479 * normal/i386: Remove.
34480 * normal/powerpc: Likewise.
34481 * normal/sparc64: Likewise.
34482 * normal/x86_64: Likewise.
34483
0a15ce80 344842009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34485
34486 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34487 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34488 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34489
33db9015 344902009-05-18 Colin D Bennett <colin@gibibit.com>
34491
d6da58e6 34492 Display error messages when parsing a Lua statement fails.
34493 Previously, executing a syntactically invalid statement like
34494 ")foo" or "bar;" would silently fail.
33db9015 34495
34496 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34497 (grub_lua_parse_line): Improved reporting of Lua parser and
34498 execution errors.
33db9015 34499
46422c89 345002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34501
34502 Remove -Werror which causes build to fail on some systems
34503
34504 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34505 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34506 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34507
22f53a96 345082009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34509
34510 trampoline for linux on 64-bit platform
34511
18f547ad 34512 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34513 loader/i386/efi/linux_trampoline.S
34514 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34515 declaration
d6da58e6 34516 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34517 here
22f53a96 34518 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34519 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34520 trampoline
22f53a96 34521 (jumpvector): removed
34522 (grub_linux_trampoline_start): new declaration
34523 (grub_linux_trampoline_end): likewise
34524 (grub_linux_boot): use trampoline when on 64-bit platform
34525 * loader/i386/linux.c: likewise
34526
cb5a0f40 345272009-05-16 Pavel Roskin <proski@gnu.org>
34528
34529 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34530 const to avoid a warning.
34531 (grub_lua_setenv): Likewise.
34532 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34533 lmsg to fix a warning.
34534
334f2c28 345352009-05-16 Felix Zielcke <fzielcke@z-51.de>
34536
34537 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34538 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34539 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34540 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34541 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34542 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34543 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34544 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34545
59e5d3ec 345462009-05-16 Felix Zielcke <fzielcke@z-51.de>
34547
34548 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34549
9d87a1ba 345502009-05-16 Bean <bean123ch@gmail.com>
34551
34552 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34553 (lua_mod_SOURCES): New variable.
34554 (lua_mod_CFLAGS): Likewise.
34555 (lua_mod_LDFLAGS): Likewise.
34556
34557 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34558 (setjmp_mod_SOURCES): New variable.
34559 (setjmp_mod_CFLAGS): Likewise.
34560 (setjmp_LDFLAGS): Likewise.
34561
34562 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34563 (setjmp_mod_SOURCES): New variable.
34564 (setjmp_mod_CFLAGS): Likewise.
34565 (setjmp_LDFLAGS): Likewise.
34566
34567 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34568 (setjmp_mod_SOURCES): New variable.
34569 (setjmp_mod_CFLAGS): Likewise.
34570 (setjmp_LDFLAGS): Likewise.
34571
34572 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34573 (setjmp_mod_SOURCES): New variable.
34574 (setjmp_mod_CFLAGS): Likewise.
34575 (setjmp_LDFLAGS): Likewise.
34576
34577 * normal/i386/setjmp.S: Moved from here ...
34578 * lib/i386/setjmp.S: ... Moved here
34579 * normal/x86_64/setjmp.S: Moved from here ...
34580 * lib/x86_64/setjmp.S: ... Moved here
34581 * normal/powerpc/setjmp.S: Moved from here ...
34582 * lib/powerpc/setjmp.S: ... Moved here
34583 * normal/sparc64/setjmp.S: Moved from here ...
34584 * lib/sparc64/setjmp.S: ... Moved here
34585
34586 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34587 returns_twice in mingw.
34588
34589 * script/lua/grub_lib.c: New file.
34590 * script/lua/grub_lib.h: Likewise.
34591 * script/lua/grub_lua.h: Likewise.
34592 * script/lua/grub_main.c: Likewise.
34593 * script/lua/lapi.c: Likewise.
34594 * script/lua/lapi.h: Likewise.
34595 * script/lua/lauxlib.c: Likewise.
34596 * script/lua/lauxlib.h: Likewise.
34597 * script/lua/lbaselib.c: Likewise.
34598 * script/lua/lcode.c: Likewise.
34599 * script/lua/lcode.h: Likewise.
34600 * script/lua/ldblib.c: Likewise.
34601 * script/lua/ldebug.c: Likewise.
34602 * script/lua/ldebug.h: Likewise.
34603 * script/lua/ldo.c: Likewise.
34604 * script/lua/ldo.h: Likewise.
34605 * script/lua/ldump.c: Likewise.
34606 * script/lua/lfunc.c: Likewise.
34607 * script/lua/lfunc.h: Likewise.
34608 * script/lua/lgc.c: Likewise.
34609 * script/lua/lgc.h: Likewise.
34610 * script/lua/linit.c: Likewise.
34611 * script/lua/liolib.c: Likewise.
34612 * script/lua/llex.c: Likewise.
34613 * script/lua/llex.h: Likewise.
34614 * script/lua/llimits.h: Likewise.
34615 * script/lua/lmathlib.c: Likewise.
34616 * script/lua/lmem.c: Likewise.
34617 * script/lua/lmem.h: Likewise.
34618 * script/lua/loadlib.c: Likewise.
34619 * script/lua/lobject.c: Likewise.
34620 * script/lua/lobject.h: Likewise.
34621 * script/lua/lopcodes.c: Likewise.
34622 * script/lua/lopcodes.h: Likewise.
34623 * script/lua/loslib.c: Likewise.
34624 * script/lua/lparser.c: Likewise.
34625 * script/lua/lparser.h: Likewise.
34626 * script/lua/lstate.c: Likewise.
34627 * script/lua/lstate.h: Likewise.
34628 * script/lua/lstring.c: Likewise.
34629 * script/lua/lstring.h: Likewise.
34630 * script/lua/lstrlib.c: Likewise.
34631 * script/lua/ltable.c: Likewise.
34632 * script/lua/ltable.h: Likewise.
34633 * script/lua/ltablib.c: Likewise.
34634 * script/lua/ltm.c: Likewise.
34635 * script/lua/ltm.h: Likewise.
34636 * script/lua/lua.h: Likewise.
34637 * script/lua/luaconf.h: Likewise.
34638 * script/lua/lualib.h: Likewise.
34639 * script/lua/lundump.c: Likewise.
34640 * script/lua/lundump.h: Likewise.
34641 * script/lua/lvm.c: Likewise.
34642 * script/lua/lvm.h: Likewise.
34643 * script/lua/lzio.c: Likewise.
34644 * script/lua/lzio.h: Likewise.
34645
5e898c9d 346462009-05-16 Bean <bean123ch@gmail.com>
34647
34648 * include/grub/kernel.h (grub_module_header_types): Add type
34649 OBJ_TYPE_CONFIG.
34650
34651 * kern/main.c (grub_load_config): New function.
34652 (grub_main): Call grub_load_config to read boot config.
34653
34654 * grub-mkimage (generate_image): New parameter config_path.
34655 (options): New option --config.
34656 (main): Parse --config option, and pass it to generate_image.
34657
cf353a47 346582009-05-14 Christian Franke <franke@computer.org>
34659
34660 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34661 This fixes build on Cygwin.
34662
3834887f 346632009-05-14 Pavel Roskin <proski@gnu.org>
34664
34665 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34666 jump. This saves two bytes, so the typical case of 2 swapped
34667 drives would fit 32 bytes.
34668
8090fc01 346692009-05-13 Pavel Roskin <proski@gnu.org>
34670
ac963883 34671 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34672 grub_uint32_t to avoid a warning.
34673
8090fc01 34674 * loader/i386/linux.c (allocate_pages): When assigning
34675 real_mode_mem, cast through grub_size_t to fix a warning. The
34676 code already makes sure that the value would fit a pointer.
34677 (grub_linux_setup_video): Cast render_target->data to
34678 grub_size_t to fix a warning.
34679
18f547ad 346802009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34681
34682 * commands/i386/pc/drivemap.c: New file - implement drivemap
34683 command.
34684 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34685 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34686
6f6a8b28 346872009-05-13 Pavel Roskin <proski@gnu.org>
34688
34689 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34690 embedding_area_exists.
34691
15fbf4c4 346922009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34693
34694 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34695 it easier to understand / work with.
59978c8a 34696 Improve warning messages for cases where there's no embedding area,
34697 or when it is too small (or core.img too large).
15fbf4c4 34698
238e871f 346992009-05-13 Pavel Roskin <proski@gnu.org>
34700
0ab3a9a4 34701 * loader/i386/pc/multiboot2.c: Add necessary includes for
34702 grub_multiboot2_real_boot().
34703
a2c8c5f8 34704 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34705 PX record is always little-endian. We only need the lower 2
34706 bytes of the mode.
34707
faec96af 34708 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34709 facilitate code reuse.
34710 (grub_cpio_mount): Use "struct head", not a char buffer. This
34711 fixes a warning reported by gcc 4.4.
34712
238e871f 34713 * kernel/disk.c (grub_disk_read): Use void pointer for the
34714 buffer.
34715 (grub_disk_write): Use const void pointer for the buffer.
34716 Adjust all callers. Remove unnecessary casts.
34717
901d2f0c 347182009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34719
34720 * util/i386/pc/grub-install.in: Update copyright year.
34721
18f547ad 347222009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34723
34724 gptsync
34725
34726 * commands/gptsync.c: new file
34727 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34728 (gptsync_mod_SOURCES): new variable
34729 (gptsync_mod_CFLAGS): likewise
34730 (gptsync_mod_LDFLAGS): likewise
18f547ad 34731 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34732 new definition
34733 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34735 * conf/i386-ieee1275.rmk: likewise
34736 * conf/i386-pc.rmk: likewise
34737 * conf/powerpc-ieee1275.rmk: likewise
34738
b4ba690a 347392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34740
34741 Fixed grub-emu
34742
34743 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34744 (grub_dl_ref): likewise
34745
317e1a44 347462009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34747
34748 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34749 split in two functions (one for msdos and one for gpt).
34750
041b8094 347512009-05-08 Pavel Roskin <proski@gnu.org>
34752
752473c2 34753 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34754 not modified.
34755
041b8094 34756 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34757 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34758 Initialize them with -1. Add sanity check for bad1. Eliminate
34759 nerr variable.
34760
172800ce 347612009-05-08 David S. Miller <davem@davemloft.net>
34762
34763 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34764
29aa5e81 347652009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34766
34767 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34768 existence.
29aa5e81 34769
96613b62 347702009-05-05 Felix Zielcke <fzielcke@z-51.de>
34771
34772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34773 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34774
eef73c8a 347752009-05-05 David S. Miller <davem@davemloft.net>
34776
34777 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34778
119494b5 347792009-05-05 Pavel Roskin <proski@gnu.org>
34780
34781 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34782 of grub_dl_ref() and grub_dl_unref().
34783 * commands/parttool.c: Remove preprocessor conditionals around
34784 grub_dl_ref() and grub_dl_unref().
34785 * fs/affs.c: Likewise.
34786 * fs/afs.c: Likewise.
34787 * fs/cpio.c: Likewise.
34788 * fs/ext2.c: Likewise.
34789 * fs/fat.c: Likewise.
34790 * fs/hfs.c: Likewise.
34791 * fs/hfsplus.c: Likewise.
34792 * fs/iso9660.c: Likewise.
34793 * fs/jfs.c: Likewise.
34794 * fs/minix.c: Likewise.
34795 * fs/ntfs.c: Likewise.
34796 * fs/reiserfs.c: Likewise.
34797 * fs/sfs.c: Likewise.
34798 * fs/udf.c: Likewise.
34799 * fs/ufs.c: Likewise.
34800 * fs/xfs.c: Likewise.
34801 * include/grub/dl.h: Likewise.
34802 * loader/xnu.c: Likewise.
34803
de5fd76e 348042009-05-04 Pavel Roskin <proski@gnu.org>
34805
34806 * commands/acpi.c: Remove unused variable my_mod.
34807 * partmap/amiga.c: Likewise.
34808 * partmap/apple.c: Likewise.
34809 * partmap/gpt.c: Likewise.
34810 * partmap/pc.c: Likewise.
34811 * partmap/sun.c: Likewise.
34812 * term/gfxterm.c: Likewise.
34813 * term/i386/pc/vesafb.c: Likewise.
34814 * term/i386/pc/vga.c: Likewise.
34815
983598ad 348162009-05-04 David S. Miller <davem@davemloft.net>
34817
34818 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34819 pointer args to grub_ieee1275_get_property().
34820
8aadec43 34821 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34822
9554b15e 34823 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34824 devices, and do not traverse down under controller nodes.
34825
67e23c90 34826 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34827 (grub_ofdisk_open): Use it to un-escape "," characters.
34828 * kern/disk.c (find_part_sep): New.
34829 (grub_disk_open): Use it to find the first non-escaped ','
34830 character in the disk name.
34831 * util/ieee1275/devicemap.c (escape_of_path): New.
34832 (grub_util_emit_devicemap_entry): Use it.
34833 * util/sparc64/ieee1275/grub-install.in: Update script to
34834 strip partition specifiers properly by not triggering on
34835 '\' escaped ',' characters.
34836
74bfdd2f 348372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34838
34839 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34840 to 0x300.
34841 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34842 resolutions.
34843 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34844 on documentation from Wikipedia).
34845
4241d2b1 348462009-05-04 Pavel Roskin <proski@gnu.org>
34847
34848 * disk/ata.c: Spelling fixes.
34849 * disk/raid.c: Likewise.
34850 * disk/usbms.c: Likewise.
34851 * disk/dmraid_nvidia.c: Likewise.
34852 * kern/ieee1275/openfw.c: Likewise.
34853 * kern/ieee1275/init.c: Likewise.
34854 * kern/ieee1275/cmain.c: Likewise.
34855 * boot/i386/pc/cdboot.S: Likewise.
34856 * video/readers/png.c: Likewise.
34857 * video/i386/pc/vbe.c: Likewise.
34858 * fs/udf.c: Likewise.
34859 * fs/hfs.c: Likewise.
34860 * fs/reiserfs.c: Likewise.
34861 * efiemu/runtime/efiemu.c: Likewise.
34862 * efiemu/main.c: Likewise.
34863 * efiemu/mm.c: Likewise.
34864 * include/grub/elf.h: Likewise.
34865 * include/grub/xnu.h: Likewise.
34866 * include/grub/usbdesc.h: Likewise.
34867 * include/grub/usb.h: Likewise.
34868 * include/grub/script_sh.h: Likewise.
34869 * include/grub/lib/LzmaEnc.h: Likewise.
34870 * include/grub/efiemu/efiemu.h: Likewise.
34871 * include/grub/command.h: Likewise.
34872 * normal/menu.c: Likewise.
34873 * normal/main.c: Likewise.
34874 * normal/datetime.c: Likewise.
34875 * bus/usb/uhci.c: Likewise.
34876 * mmap/i386/uppermem.c: Likewise.
34877 * mmap/mmap.c: Likewise.
34878 * commands/acpi.c: Likewise.
34879 * commands/test.c: Likewise.
34880 * partmap/apple.c: Likewise.
34881 * font/font.c: Likewise.
34882 * loader/sparc64/ieee1275/linux.c: Likewise.
34883 * loader/macho.c: Likewise.
34884 * loader/i386/bsd_trampoline.S: Likewise.
34885 * loader/i386/bsd.c: Likewise.
34886 * loader/xnu.c: Likewise.
34887 * term/i386/pc/vesafb.c: Likewise.
34888 * term/usb_keyboard.c: Likewise.
34889 * util/resolve.c: Likewise.
34890 * util/getroot.c: Likewise.
34891
0cfc0083 348922009-05-04 Felix Zielcke <fzielcke@z-51.de>
34893
34894 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34895
7c1d00cd 348962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34897
34898 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34899 build error.
34900
b01f0548 349012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34902
34903 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34904 parameter only available on BIOS.
34905
ecc3eb22 349062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34907
34908 Removed wrong semicolon in declaration
34909
34910 * grub/misc.h (grub_dprintf): remove semicolon
34911
112972a9 349122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34913
34914 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34915 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34916 is done by grub_cmd_linux() now).
34917 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34918 restore video to text mode.
34919 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34920 indicates lack of "vga=" parameter. "vga=0" is mapped to
34921 `GRUB_LINUX_VID_MODE_NORMAL'.
34922
afd5c115 349232009-05-04 Felix Zielcke <fzielcke@z-51.de>
34924
34925 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34926 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34927 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34928 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34929 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34930 `grub_script.tab.c'.
34931
34932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34933 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34936 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34937
faa517ce 34938 * Makefile.in: Remove duplicated 2008 in Copyright line.
34939
ae0c0bdc 349402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34941
473d1e45 34942 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34943 unconditionally.
34944 * include/grub/util/misc.h (grub_util_warn): New declaration.
34945
34946 * util/i386/pc/grub-install.in: Understand --force and pass it down
34947 to grub-setup.
34948
34949 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34950 down to setup().
34951 (setup): Improve error messages and add warnings when requested to
34952 install in odd layouts. Refuse to install using blocklists unless
34953 --force was set.
34954
18f547ad 349552009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34956
34957 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34958
6d260daa 349592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34960
34961 Updated copyright year
34962
34963 * fs/hfsplus.c: updated copyright year
18f547ad 34964
69f853f8 349652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34966
34967 HFS+ UUID
34968
18f547ad 34969 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34970 in the space previously used by unused3
34971 (grub_hfsplus_uuid): new function
34972 (grub_hfsplus_fs): added uuid field
34973
4c402e73 349742009-05-03 Pavel Roskin <proski@gnu.org>
34975
34976 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34977 suppress warnings. It's no longer needed.
34978 * disk/host.c: Likewise.
34979 * disk/ata_pthru.c: Likewise.
34980 * disk/loopback.c: Likewise.
34981 * hook/datehook.c: Likewise.
34982 * parttool/pcpart.c: Likewise.
34983 * fs/i386/pc/pxe.c: Likewise.
34984 * fs/ntfscomp.c: Likewise.
34985 * efiemu/main.c: Likewise.
34986 * mmap/mmap.c: Likewise.
34987 * commands/crc.c: Likewise.
34988 * commands/hexdump.c: Likewise.
34989 * commands/hdparm.c: Likewise.
34990 * commands/acpi.c: Likewise.
34991 * commands/echo.c: Likewise.
34992 * commands/minicmd.c: Likewise.
34993 * commands/blocklist.c: Likewise.
34994 * commands/memrw.c: Likewise.
34995 * commands/loadenv.c: Likewise.
34996 * commands/usbtest.c: Likewise.
34997 * commands/lsmmap.c: Likewise.
34998 * commands/boot.c: Likewise.
34999 * commands/parttool.c: Likewise.
35000 * commands/configfile.c: Likewise.
35001 * commands/search.c: Likewise.
35002 * commands/ieee1275/suspend.c: Likewise.
35003 * commands/cat.c: Likewise.
35004 * commands/i386/pc/pxecmd.c: Likewise.
35005 * commands/i386/pc/play.c: Likewise.
35006 * commands/i386/pc/halt.c: Likewise.
35007 * commands/i386/pc/vbeinfo.c: Likewise.
35008 * commands/i386/pc/vbetest.c: Likewise.
35009 * commands/lspci.c: Likewise.
35010 * commands/date.c: Likewise.
35011 * commands/handler.c: Likewise.
35012 * commands/ls.c: Likewise.
35013 * commands/test.c: Likewise.
35014 * commands/cmp.c: Likewise.
35015 * commands/efi/loadbios.c: Likewise.
35016 * commands/efi/fixvideo.c: Likewise.
35017 * commands/halt.c: Likewise.
35018 * commands/help.c: Likewise.
35019 * commands/reboot.c: Likewise.
35020 * hello/hello.c: Likewise.
35021 * script/sh/main.c: Likewise.
35022 * loader/xnu.c: Likewise.
35023 * term/terminfo.c: Likewise.
35024 * term/i386/pc/serial.c: Likewise.
35025 * term/usb_keyboard.c: Likewise.
35026
515b5079 350272009-05-03 David S. Miller <davem@davemloft.net>
35028
35029 * normal/menu.c: Include grub/parser.h
35030
dfc31a22 350312009-05-03 Pavel Roskin <proski@gnu.org>
35032
2fee74f1 35033 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35034 not char*.
35035 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35036 Suggested by Javier Martín <lordhabbit@gmail.com>
35037
dfc31a22 35038 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35039 efiemu??.o doesn't exist.
35040 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35041 copying.
35042
18f547ad 350432009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35044
35045 FreeBSD 64-bit support
35046
18f547ad 35047 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35048 and loader/i386/bsd_trampoline.S
35049 (bsd_mod_ASFLAGS): new variable
35050 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35051 (FREEBSD_MODTYPE_KERNEL64): likewise
35052 (grub_bsd64_trampoline_start): likewise
35053 (grub_bsd64_trampoline_end): likewise
35054 (grub_bsd64_trampoline_selfjump): likewise
35055 (grub_bsd64_trampoline_gdt): likewise
35056 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35057 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35058 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35059 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35060 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35061 of "attrib" member
35062 * loader/i386/bsd_pagetable.c: new file
35063 * loader/i386/bsd_trampoline.S: likewise
35064 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35065 (ALIGN_VAR): likewise
35066 (entry_hi): new variable
35067 (kern_end_mdofs): likewise
35068 (is_64bit): likewise
35069 (grub_freebsd_add_meta): use ALIGN_VAR
35070 (grub_e820_mmap): new declaration
35071 (grub_freebsd_add_mmap): new function
35072 (grub_freebsd_add_meta_module): support 64 bit kernels
35073 (grub_freebsd_list_modules): use ALIGN_VAR
35074 (gdt_descriptor): new declaration
35075 (grub_freebsd_boot): support 64 bit kernels
35076 (grub_bsd_elf64_hook): new function
35077 (grub_bsd_load_elf): support elf64
35078
038c5720 350792009-05-03 Bean <bean123ch@gmail.com>
35080
35081 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35082 after we get the result of if statement.
35083
fc45fb58 350842009-05-03 Bean <bean123ch@gmail.com>
35085
35086 * Makefile.in (enable_efiemu): New variable.
35087
35088 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35089 set.
35090 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35091 path.
35092 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35093 path, add -mno-red-zone option.
35094 (efiemu64_s.o): Likewise.
35095 (efiemu64.o): Use macro $^ for source file.
35096
35097 * configure.ac (--enable-efiemu): New option.
35098
bbee0f2b 350992009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35100
35101 xnu support
35102
35103 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35104 (pkglib_MODULES): add xnu.mod
35105 (xnu_mod_SOURCES): new variable
35106 (xnu_mod_CFLAGS): likewise
35107 (xnu_mod_LDFLAGS): likewise
35108 (xnu_mod_ASFLAGS): likewise
35109 * conf/i386-pc.rmk: likewise
35110 * conf/x86_64-efi.rmk: likewise
7dd4a573 35111 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35112 new declaration
35113 * include/grub/i386/macho.h: new file
35114 * include/grub/i386/xnu.h: likewise
35115 * include/grub/macho.h: likewise
35116 * include/grub/machoload.h: likewise
35117 * include/grub/x86_64/macho.h: likewise
35118 * include/grub/x86_64/xnu.h: likewise
35119 * include/grub/xnu.h: likewise
35120 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35121 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35122 * loader/i386/efi/xnu.c: new file
35123 * loader/i386/pc/xnu.c: likewise
35124 * loader/i386/xnu.c: likewise
35125 * loader/i386/xnu_helper.S: likewise
35126 * loader/macho.c: likewise
35127 * loader/xnu.c: likewise
35128 * loader/xnu_resume.c: likewise
35129 * util/grub-dumpdevtree: likewise
35130 * include/grub/i386/pit.h: include grub/err.h
35131 (grub_pit_wait): export
35132 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35133
5caf964d 351342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35135
35136 Efiemu
7dd4a573 35137
5caf964d 35138 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35139 _linux_efi, linux_efi.
35140 new files in grub-emu
5caf964d 35141 new targets efiemu32.o and efiemu64.o
35142 * loader/linux_normal_efiemu.c: likewise
35143 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35144 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35145 files to copy
35146 * include/grub/autoefi.h: new file
7dd4a573 35147 * include/grub/i386/efiemu.h: likewise
5caf964d 35148 * include/grub/i386/pc/efiemu.h: likewise
35149 * include/grub/efi/api.h: add LL suffix when necessary
35150 new definitions relating to tables
35151 * include/grub/efiemu/efiemu.h: new file
35152 * include/grub/efiemu/runtime.h: likewise
35153 * efiemu/prepare.c: likewise
35154 * efiemu/loadcore_common.c: likewise
35155 * efiemu/loadcore64.c: likewise
35156 * efiemu/runtime/efiemu.sh: likewise
35157 * efiemu/runtime/efiemu.S: likewise
35158 * efiemu/runtime/efiemu.c: likewise
35159 * efiemu/runtime/config.h: likewise
35160 * efiemu/prepare32.c: likewise
35161 * efiemu/main.c: likewise
35162 * efiemu/modules/pnvram.c: likewise
35163 * efiemu/modules/i386: likewise
35164 * efiemu/modules/i386/pc: likewise
35165 * efiemu/modules/acpi.c: likewise
35166 * efiemu/i386/pc/cfgtables.c: likewise
35167 * efiemu/i386/loadcore64.c: likewise
35168 * efiemu/i386/loadcore32.c: likewise
35169 * efiemu/prepare64.c: likewise
35170 * efiemu/loadcore.c: likewise
35171 * efiemu/symbols.c: likewise
35172 * efiemu/mm.c: likewise
35173 * efiemu/loadcore32.c: likewise
7dd4a573 35174
351752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35176
35177 ACPI spoofing
35178
35179 * commands/acpi.c: new file
35180 * commands/i386/pc/acpi.c: likewise
35181 * commands/efi/acpi.c: likewise
35182 * include/grub/acpi.h: likewise
35183 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35184 (acpi_mod_SOURCES): new variable
35185 (acpi_mod_CFLAGS): likewise
35186 (acpi_mod_LDFLAGS): likewise
35187 * conf/i386-efi.rmk: likewise
35188 * conf/x86_64-efi.rmk: likewise
35189
7dd4a573 351902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35191
35192 Missing part from mmap patch
35193
35194 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35195 (grub_mmap_unregister)
35196 (grub_mmap_free_and_unregister): use grub_mmap_register
35197
7dd4a573 351982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35199
35200 Mmap services
35201
35202 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35203 * loader/i386/linux.c (find_mmap_size): likewise
35204 (allocate_pages): likewise
35205 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35206 (grub_fill_multiboot_mmap): likewise
35207 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35208 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35209 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35210 (OPENBSD_MMAP_RESERVED): likewise
35211 * include/grub/i386/pc/memory.h: include grub/memory.h
35212 (grub_lower_mem): removed
35213 (grub_upper_mem): likewise
35214 (GRUB_MACHINE_MEMORY_ACPI): new definition
35215 (GRUB_MACHINE_MEMORY_NVS): likewise
35216 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35217 (GRUB_MACHINE_MEMORY_HOLE): likewise
35218 (grub_machine_mmap_register): likewise
35219 (grub_machine_mmap_unregister): likewise
35220 (grub_machine_get_upper): likewise
35221 (grub_machine_get_lower): likewise
35222 (grub_machine_get_post64): likewise
35223 * include/grub/i386/efi/memory.h: new file
35224 * include/grub/x86_64/efi/memory.h: likewise
35225 * include/grub/efi/memory.h: likewise
35226 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35227 (mmap_mod_SOURCES): new variable
35228 (mmap_mod_LDFLAGS): likewise
35229 (mmap_mod_ASFLAGS): likewise
35230 * conf/i386-coreboot.rmk: likewise
35231 * conf/i386-ieee1275.rmk: likewise
35232 * conf/i386-efi.rmk: likewise
35233 * conf/x86_64-efi.rmk: likewise
35234 * include/grub/types.h (UINT_TO_PTR): new macro
35235 (PTR_TO_UINT32): likewise
35236 (PTR_TO_UINT64): likewise
35237 * include/grub/memory.h: new file
35238 * mmap/i386/pc/mmap.c: likewise
35239 * mmap/i386/pc/mmap_helper.S: likewise
35240 * mmap/i386/uppermem.c: likewise
35241 * mmap/mmap.c: likewise
35242 * mmap/efi/mmap.c: likewise
7dd4a573 35243 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35244 grub_upper_mem
35245 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35246 (grub_upper_mem): likewise
35247 (grub_machine_init): don't use grub_upper_mem,
35248 make grub_lower_mem local
35249 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35250 grub_mmap_iterate and grub_mmap_get_upper
35251 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35252
d558e6b5 352532009-05-02 Bean <bean123ch@gmail.com>
35254
35255 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35256 script/sh/parser.y.
35257 (pkglib_MODULES): Add normal.mod and sh.mod.
35258 (normal_SOURCES): New variable.
35259 (normal_mod_CFLAGS): Likewise.
35260 (normal_mod_LDFLAGS): Likewise.
35261 (sh_mod_SOURCES): Likewise.
35262 (sh_mod_CFLAGS): Likewise.
35263 (sh_mod_LDFLAGS): Likewise.
35264
35265 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35266 script/sh/lexer.c_DEPENDENCIES.
35267 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35268 kern/rescue_reader.c and kern/rescue_parser.c.
35269 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35270 (grub_emu_SOURCES): Change source files.
35271 (pkglib_MODULES): Remove normal.mod.
35272 (normal_SOURCES): Removed.
35273 (normal_mod_CFLAGS): Likewise.
35274 (normal_mod_LDFLAGS): Likewise.
35275 * conf/i386-coreboot.rmk: Likewise.
35276 * conf/i386-efi.rmk: Likewise.
35277 * conf/i386-ieee1276.rmk: Likewise.
35278 * conf/powerpc-ieee1275.rmk: Likewise.
35279 * conf/sparc64-ieee1275.rmk: Likewise.
35280 * conf/x86_64-efi.rmk: Likewise.
35281
35282 * include/grub/command.h (grub_command_execute): New inline function.
35283
35284 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35285
35286 * include/grub/normal.h: Remove <grub/setjmp.h>.
35287 (grub_fs_module_list): Moved to normal/autofs.c.
35288 (grub_exit_env): Removed.
35289 (grub_command_execute): Likewise.
35290 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35291 parameter script.
35292 (read_command_list): New function declaration.
35293 (read_fs_list): Likewise.
35294
35295 * include/parser.h: Include <grub/reader.h>.
35296 (grub_parser_split_cmdline): Change type of getline parameter.
35297 (grub_parser): New structure.
35298 (grub_parser_class): New variable.
35299 (grub_parser_execute): New function declaration.
35300 (grub_register_rescue_parser): Likewise.
35301 (grub_parser_register): New inline function.
35302 (grub_parser_unregister): Likewise.
35303 (grub_parser_get_current): Likewise.
35304 (grub_parser_set_current): Likewise.
35305
35306 * include/grub/reader.h: New file.
35307 * kern/reader.c: Likewise.
35308 * kern/rescue_parser.c: Likewise.
35309 * kern/rescue_reader.c: Likewise.
35310 * normal/autofs.c: Likewise.
35311 * normal/dyncmd.c: Likewise.
35312
35313 * include/grub/rescue.h: Removed.
35314 * normal/command.h: Likewise.
35315
35316 * include/grub/script.h: Moved to ...
35317 * include/grub/script_sh.h: ... Moved here.
35318 * normal/execute.c: Moved to ...
35319 * script/sh/execute.c: ... Moved here.
35320 * normal/function.c: Moved to ...
35321 * script/sh/function.c: ... Moved here.
35322 * normal/lexer.c: Moved to ...
35323 * script/sh/lexer.c: ... Moved here.
35324 * normal/parser.y: Moved to ...
35325 * script/sh/parser.y: ... Moved here.
35326 * normal/script.c: Moved to ...
35327 * script/sh/script.c: ... Moved here.
35328
35329 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35330 <grub/reader.h>.
35331 (grub_exit_env): Removed.
35332 (fs_module_list): Moved to normal/autofs.c.
35333 (grub_file_getline): Don't handle comment here.
35334 (free_menu): Skip removed field entry->commands.
35335 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35336 script parameter.
35337 (read_config_file): Removed nested parameter, change getline function.
35338 (grub_enter_normal_mode): Removed.
35339 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35340 (read_command_list): Likewise.
35341 (autoload_fs_module): Moved to normal/autofs.c.
35342 (read_fs_list): Likewise.
35343 (reader_nested): New variable.
35344 (grub_normal_execute): Run parser.sh to switch to sh parser.
35345 (grub_cmd_rescue): Removed.
35346 (cmd_normal): Removed.
35347 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35348 rescue command.
35349 (grub_cmdline_run): New function.
35350 (grub_normal_reader_init): Likewise.
35351 (grub_normal_read_line): Likewise.
35352 (grub_env_write_pager): Likewise.
35353 (cmdline): New variable.
35354 (grub_normal_reader): Likewise.
35355 (GRUB_MOD_INIT): Register normal reader and set as current, register
35356 pager hook, register normal command with grub_register_command_prio,
35357 so that it won't show up in command.lst.
35358 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35359 grub_fs_autoload_hook.
35360
35361 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35362 (grub_menu_execute_entry): Replace grub_script_execute with
35363 grub_parser_execute, change parameter to grub_command_execute.
35364
35365 * normal/menu_text.c: Remove <grub/script.h>.
35366
35367 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35368 and <grub/parser.h>.
35369 (run): Change editor_getline to use new parser interface. Change
35370 parameter to grub_command_execute.
35371
35372 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35373 <grub/reader.h> and <grub/parser.h>.
35374 (grub_load_normal_mode): Execute normal command.
35375 (grub_main): Call grub_register_core_commands,
35376 grub_register_rescue_parser and grub_register_rescue_reader, use
35377 grub_reader_loop to enter input loop.
35378
7dd4a573 35379 * kern/parser.c (grub_parser_split_cmdline): Change type of
35380 getline parameter.
d558e6b5 35381 (grub_parser_class): New variable.
35382 (grub_parser_execute): New function.
35383
35384 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35385 * loader/multiboot2.c: Likewise.
35386 * loader/sparc64/ieee1275/linux.c: Likewise.
35387
35388 * util/grub-emu.c (read_command_list): New dummy function.
35389
18db813d 353902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35391
35392 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35393 count to 16 for CCISS and IDA.
35394
6c67de15 353952009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35396
35397 * normal/menu_text.c (grub_wait_after_message): Print a newline
35398 after waiting for user input.
35399
35400 * loader/i386/linux.c: Include `<grub/normal.h>'.
35401 (grub_cmd_linux): Improve the error message about `ask' mode, by
35402 waiting for user input so it's not missed (we can do this, since
35403 user requested interaction).
35404
d9dc87b0 354052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35406
35407 Added missing lst to grub-mkrescue
35408
35409 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35410 and ${input_dir}/parttool.lst
35411
ac8a2baa 354122009-04-30 David S. Miller <davem@davemloft.net>
35413
ad22a610 35414 * util/hostdisk.c (device_is_wholedisk): New function.
35415 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35416 zero only if device_is_wholedisk() returns true.
35417
6966215d 35418 * util/hostdisk.c (convert_system_partition_to_system_disk):
35419 Handle virtual disk devices named /dev/vdiskX as found on sparc
35420 and powerpc.
35421
ac8a2baa 35422 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35423 lettered partition specifier is found, convert to numbered.
35424
979b4fb4 354252009-04-29 David S. Miller <davem@davemloft.net>
35426
e2bf39b2 35427 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35428 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35429
3c64e104 35430 * normal/command.c: Add missing newline at end of file.
35431
979b4fb4 35432 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35433 warnings.
35434 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35435 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35436 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35437 ihandles have a 32-bit type but need to be stored in a "void *".
35438
136d9f82 354392009-04-28 Pavel Roskin <proski@gnu.org>
35440
9459c306 35441 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35442 not disk. Adjust all dependencies.
2e08a26a 35443 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35444 grub_disk_close().
35445
136d9f82 35446 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35447 parent's partition, don't copy it by reference, as it gets freed
35448 on close.
35449
7dd4a573 354502009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35451
35452 Preboot hooks support
35453
35454 * commands/boot.c (struct grub_preboot_t): new declaration
35455 (preboots_head): new variable
35456 (preboots_tail): likewise
35457 (grub_loader_register_preboot_hook): new function
35458 (grub_loader_unregister_preboot_hook): likewise
35459 (grub_loader_set): launch preboot hooks
35460 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35461 (grub_loader_register_preboot_hook): new declaration
35462 (grub_loader_unregister_preboot_hook): likewise
35463
5af922b5 354642009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35465
35466 Warning fix
35467
7dd4a573 35468 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35469 calling grub_dprintf
35470
a5562c30 354712009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35472
35473 Bug and warning fixes
35474
7dd4a573 35475 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35476 declaration
35477 * commands/test.c (test_parse): fixed bug with file tests and corrected
35478 declaration of find_file
35479
4006f85c 354802009-04-26 Pavel Roskin <proski@gnu.org>
35481
35482 * Makefile.in: Don't install empty manual pages if help2man is
35483 missing. Use help2man option for output, not shell redirection.
35484
5c77c3de 354852009-04-26 David S. Miller <davem@davemloft.net>
35486
35487 * util/grub-mkdevicemap.c (make_device_map): Add missing
35488 NESTED_FUNC_ATTR to process_device().
35489
033b10a8 354902009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35491
35492 Test command
35493
35494 * commands/test.c: rewritten to use bash-like test
35495
e4343593 354962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35497
35498 Parttool autoloading and improvements
35499
7dd4a573 35500 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35501 (parttool.lst): new target
35502 * genmk.rb: generate parttool-*
35503 (CLEANFILES): add #{parttool}
35504 (PARTTOOLFILES): new variable
35505 * genparttoollist.sh: new file
7dd4a573 35506 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35507 (grub_pcpart_type): likewise
35508 * commands/parttool.c (helpmsg): new variable
35509 (grub_cmd_parttool): output help if not enough arguments are supplied
35510 autoload modules
35511 (GRUB_MOD_INIT(parttool)): use helpmsg
35512
0d312500 355132009-04-24 David S. Miller <davem@davemloft.net>
35514
7dd4a573 35515 Avoiding opening same device multiple times in device iterator.
0d312500 35516
35517 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35518 and use it to build a list of partitions in iterate_disk() and
0d312500 35519 iterate_partition().
35520
ac20caff 35521 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35522 on disk->data.
35523
0dcf7495 35524 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35525 grub_devalias_iterate() result instead of unconditional 0.
35526 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35527 Also, capture hook return value, either directly or via
35528 grub_children_iterate(), and propagate to caller.
35529 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35530 grub_children_iterate): Return value is now 'int' instead of
35531 'grub_err_t'.
35532 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35533 like a proper iterator, stopping when hooks return non-zero.
35534 (grub_devalias_iterate): Likewise.
35535
c8c08833 355362009-04-23 David S. Miller <davem@davemloft.net>
35537
35538 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35539
f01005a8 355402009-04-22 David S. Miller <davem@davemloft.net>
35541
35542 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35543 is larger than address_cells, use that value for address_cells too.
35544
4e8269da 35545 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35546 IEEE1275_MAX_PATH_LEN): Define.
35547 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35548 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35549 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35550 'devtype'. Explicitly NULL terminate devalias expansion.
35551
a1447506 35552 * util/sparc64/ieee1275/misc.c: New file.
35553 * util/sparc64/ieee1275/grub-setup.c: New file.
35554 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35555 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35556 * util/sparc64/ieee1275/grub-install.in: New file.
35557 * util/ieee1275/ofpath.c: New file.
35558 * util/ieee1275/devicemap.c: New file.
35559 * util/devicemap.c: New file.
35560 * util/deviceiter.c: New file.
35561 * kern/sparc64/ieee1275/init.c: New file.
35562 * include/grub/util/ofpath.h: New file.
35563 * include/grub/util/deviceiter.h: New file.
35564 * util/grub-mkdevicemap.c: Include deviceiter.h.
35565 Implement using grub_util_emit_devicemap_entry and
35566 grub_util_iterate_devices.
35567 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35568 util/devicemap.c into grub-mkdevicemap
35569 * conf/i386-efi.rmk: Likewise.
35570 * conf/i386-ieee1275.rmk: Likewise.
35571 * conf/i386-pc.rmk: Likewise.
35572 * conf/powerpc-ieee1275.rmk: Likewise.
35573 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35574 images and installation utilities. Build kernel as image
35575 instead of as elf binary. Use common rules as much as possible.
35576
7dd4a573 355772009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35578
35579 Correct GPT definition
35580
7dd4a573 35581 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35582 of "attrib" member
35583
c6c5219f 355842009-04-19 Felix Zielcke <fzielcke@z-51.de>
35585
35586 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35587
0552ff9f 355882009-04-19 David S. Miller <davem@davemloft.net>
35589
35590 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35591 (grub_rescue_cmd_linux): Rename to...
35592 (grub_cmd_linux): and fix prototype.
35593 (grub_rescue_cmd_initrd): Rename to...
35594 (grub_cmd_initrd): and fix prototype.
35595 (cmd_linux, cmd_initrd): New.
35596 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35597 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35598
d1a282fc 355992009-04-17 Pavel Roskin <proski@gnu.org>
35600
07c5039f 35601 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35602 format.
35603 (grub_ohci_transfer): Likewise.
35604
b012002d 35605 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35606
1bc09c35 35607 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35608 return without a value. Fix inconsistent indentation.
35609
e0ff9126 35610 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35611 match struct grub_fs.
35612
d1a282fc 35613 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35614 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35615 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35616 * commands/lspci.c (grub_lspci_iter): Likewise.
35617
a96df3f2 356182009-04-16 Bean <bean123ch@gmail.com>
35619
35620 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35621 value.
35622
41bb0fe9 356232009-04-15 Pavel Roskin <proski@gnu.org>
35624
35625 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35626 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35627 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35628 definitions.
35629
596c6970 356302009-04-15 Felix Zielcke <fzielcke@z-51.de>
35631
35632 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35633 that no multiple data or metadata areas are supported and `Unknown
596c6970 35634 metadata header'.
35635
7dd4a573 356362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35637
35638 Move loader out of the kernel
35639
35640 * kern/loader.c: moved to ...
35641 * commands/boot.c: ... moved here
35642 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35643 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35644 * include/grub/kernel.h (grub_machine_fini): export
35645 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35646 (grub_loader_set): likewise
35647 (grub_loader_unset): likewise
35648 (grub_loader_boot): likewise
35649 * conf/common.rmk: new module boot.mod
35650 (pkglib_MODULES): add boot.mod
35651 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35652 (grub_emu_SOURCES): likewise
35653 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35654 (grub_emu_SOURCES): likewise
35655 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35656 (grub_emu_SOURCES): likewise
35657 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35658 (grub_emu_SOURCES): likewise
35659 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35660 (grub_emu_SOURCES): likewise
7dd4a573 35661 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35662 (grub_emu_SOURCES): likewise
0d5d5653 35663 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35664 (grub_emu_SOURCES): likewise
0d5d5653 35665
7dd4a573 356662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35667
35668 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35669
5999d619 35670 * kern/misc.c (grub_itoa): Removed function
35671 (grub_ltoa): likewise
35672 (grub_vsprintf): use grub_lltoa
35673
7dd4a573 356742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35675
35676 Restore grub-emu
35677
35678 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35679 * conf/i386-coreboot.rmk: likewise
35680 * conf/i386-ieee1275.rmk: likewise
35681 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35682
20318222 356832009-04-15 Felix Zielcke <fzielcke@z-51.de>
35684
35685 * INSTALL: Add that `./autogen.sh' needs to be run before
35686 `./configure.'.
35687
d05f0df3 356882009-04-14 Bean <bean123ch@gmail.com>
35689
35690 * Makefile.in (pkglib_DATA): Add handler.lst.
35691 (handler.lst): New rule.
35692
35693 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35694 * conf/i386-coreboot.rmk: Likewise.
35695 * conf/i386-ieee1275.rmk: Likewise.
35696 * conf/i386-efi.rmk: Likewise.
35697 * conf/x86_64-efi.rmk: Likewise.
35698 * conf/powerpc-ieee1275.rmk: Likewise.
35699 * conf/sparc64-ieee1275.rmk: Likewise.
35700
35701 * genhandlerlist.sh: New file.
35702
35703 * genmk.rb: Add rules to generate handler.lst.
35704
35705 * include/grub/normal.h (grub_file_getline): New function definition.
35706 (read_handler_list): Likewise.
35707 (free_handler_list): Likewise.
35708
35709 * include/grub/term.h (grub_term_register_input): Add name parameter
35710 for auto generation of handler.lst.
35711 (grub_term_register_output): Likewise.
35712
35713 * normal/handler.c: New file.
35714
35715 * normal/main.c (get_line): Renamed to grub_file_getline.
35716 (read_config_file): Use the newly renamed grub_file_getline.
35717 (read_command_list): Likewise.
35718 (read_fs_list): Likewise.
35719 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35720 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35721
35722 * term/efi/console.c (grub_console_init): Add name parameter for auto
35723 generation of handler.lst.
35724 * term/gfxterm.c: Likewise.
35725 * term/i386/pc/at_keyboard.c: Likewise.
35726 * term/i386/pc/console.c: Likewise.
35727 * term/i386/pc/serial.c: Likewise.
35728 * term/i386/pc/vesafb.c: Likewise.
35729 * term/i386/pc/vga.c: Likewise.
35730 * term/i386/pc/vga_text.c: Likewise.
35731 * term/ieee1275/ofconsole.c: Likewise.
35732 * term/usb_keyboard.c: Likewise.
35733
33c846be 357342009-04-14 Bean <bean123ch@gmail.com>
35735
35736 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35737 properly with null character.
35738
4484e01e 357392009-04-14 Felix Zielcke <fzielcke@z-51.de>
35740
35741 * configure: Remove.
35742 * config.h.in: Likewise.
f93d668e 35743 * stamp-h.in: Likewise.
4484e01e 35744 * DISTLIST: Likewise.
35745 * conf/common.mk: Likewise.
35746 * conf/i386-coreboot.mk: Likewise.
35747 * conf/i386-efi.mk: Likewise.
35748 * conf/i386-ieee1275.mk: Likewise.
35749 * conf/i386.mk: Likewise.
35750 * conf/i386-pc.mk: Likewise.
35751 * conf/powerpc-ieee1275.mk: Likewise.
35752 * conf/sparc64-ieee1275.mk: Likewise.
35753 * conf/x86_64-efi.mk: Likewise.
35754
35755 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35756 develop on GRUB.
35757
7dd4a573 357582009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35759 David S. Miller <davem@davemloft.net>
35760
35761 * util/hostdisk.c (make_device_name): Fix buffer length
35762 calculations.
35763
e25b5a8c 357642009-04-14 Felix Zielcke <fzielcke@z-51.de>
35765
35766 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35767 <sys/param.h> and <sys/sysctl.h>.
35768 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35769 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35770 opening the device and reset them afterwards.
35771
1f1f580c 357722009-04-13 Pavel Roskin <proski@gnu.org>
35773
35774 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35775 Reported by John Stanley <jpsinthemix@verizon.net>
35776
7ebc2d6b 357772009-04-13 Robert Millan <rmh@aybabtu.com>
35778
35779 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35780 that name for menuentries when appropriate.
7ebc2d6b 35781
d8ba3667 357822009-04-13 Felix Zielcke <fzielcke@z-51.de>
35783
35784 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35785
cba416eb 357862009-04-13 Robert Millan <rmh@aybabtu.com>
35787
35788 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35789 to Linux, simply abort telling the user it's no longer supported.
35790
a547a745 357912009-04-13 Felix Zielcke <fzielcke@z-51.de>
35792
35793 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35794 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35795 `freebsd_loadenv' only when devices.hints exist.
35796
232a769c 357972009-04-13 Pavel Roskin <proski@gnu.org>
35798
35799 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35800
c3012039 358012009-04-13 Felix Zielcke <fzielcke@z-51.de>
35802
35803 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35804 partition number.
35805 (grub_drive): Likewise.
35806
234022fe 358072009-04-13 David S. Miller <davem@davemloft.net>
35808
35809 * kern/sparc64/ieee1275/ieee1275.c: New file.
35810 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35811 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35812 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35813 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35814 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35815 grub_ieee1275_alloc_physmem): Declare new exported functions.
35816
d8e1836c 35817 * include/grub/sparc64/ieee1275/loader.h: New file.
35818 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35819 * include/grub/sparc64/kernel.h: Likewise.
35820 * loader/sparc64/ieee1275/linux.c: Likewise.
35821
96bd81ec 35822 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35823 (grub_fstest_SOURCES): Likewise.
35824
6a4737e5 35825 * util/hostdisk.c (make_device_name): Do not make any assumptions
35826 about the length of drive names.
35827
1d7a72fd 35828 * kern/dl.c (grub_dl_load_file): Close file immediately when
35829 we are done using it.
35830
56bc2471 358312009-04-12 David S. Miller <davem@davemloft.net>
35832
35833 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35834 values. Noticed by Pavel Roskin.
35835
df38d0bb 35836 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35837 target compiler.
7dd4a573 35838
e382e93a 35839 * genmk.rb: Add more flexible image type specification, also
35840 pass --strip-unneeded to objcopy.
35841 * conf/i386-pc.rmk: Use *_FORMAT.
35842 * conf/i386-pc.mk: Rebuilt.
35843
f5dbbca9 35844 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35845 (OFDISK_HASH_SZ): Define.
35846 (ofdisk_hash): New hash table.
35847 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35848 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35849 instead of device phandle which is not unique.
35850
91c88b12 35851 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35852 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35853 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35854 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35855 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35856 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35857 GRUB_KERNEL_MACHINE_DATA_END): Define.
35858 (grub_kernel_image_size, grub_total_module_size): Declare.
35859
5b5d4aa5 358602009-04-12 Pavel Roskin <proski@gnu.org>
35861
7dd4a573 35862 * configure.ac: Change the logic when we check for target tools.
35863 Do it when the target is specified and it's different from the
35864 specified value of the host.
5b5d4aa5 35865
c91e1793 358662009-04-11 Felix Zielcke <fzielcke@z-51.de>
35867
35868 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35869 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35870 GNU/kFreeBSD. Check if a device is a character device. Use
35871 DIOCGMEDIASIZE to get the size.
35872 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35873 support for GNU/kFreeBSD.
35874 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35875 is a character device instead of a block device. Add support for
35876 FreeBSD device names.
35877
35878 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35879 is a character device instead of a block device.
35880
35881 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35882 is a character device instead of a block device.
35883
b1ac8644 358842009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35885
35886 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35887 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35888 FreeBSD. Check if a device is a character device. Use
35889 DIOCGMEDIASIZE to get the size.
35890 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35891 support for FreeBSD.
35892 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35893 is a character device instead of a block device. Add support for
35894 FreeBSD device names.
35895
35896 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35897 a character device instead of a block device.
35898 (grub_util_check_char_device): New function.
35899
35900 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35901 a character device instead of a block device.
35902
35903 * include/grub/util/getroot.h (grub_util_check_char_device): New
35904 prototype.
35905
a3f7515a 359062009-04-11 David S. Miller <davem@davemloft.net>
35907
35908 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35909 static libgcc.
35910 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35911 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35912 function, if present.
35913 (__bswapdi2): Likewise.
35914
0d44993d 35915 * include/grub/sparc64/ieee1275/boot.h: New file.
35916 * boot/sparc64/ieee1275/boot.S: Likewise.
35917 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35918
ed3d2bc2 35919 * kern/misc.c (grub_ltoa): New function.
35920 (grub_vsprintf): Use it to format 'long' integers.
35921
d3bfb59c 359222009-04-10 David S. Miller <davem@davemloft.net>
35923
35924 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35925 slots are of type grub_ieee1275_cell_t.
35926 (grub_nand_read): Likewise.
35927 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35928 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35929 macros are used to compare values in arg/ret block of the call.
35930 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35931 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35932 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35933 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35934 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35935 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35936 grub_ieee1275_close, grub_ieee1275_set_property,
35937 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35938 grub_ieee1275_cell_t.
35939 * kern/ieee1275/openfw.c (grub_map): Likewise.
35940 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35941 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35942
450e2238 35943 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35944 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35945 (grub_devalias_iterate): Likewise.
35946
7dd4a573 359472009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35948
35949 UFS improvements
35950
35951 * fs/ufs.c (INODE_NBLOCKS): new definition
35952 (struct grub_ufs_dirent): added fields for non-BSD dirents
35953 (grub_ufs_get_file_block): fixed double indirect handling
35954 (grub_ufs_lookup_symlink): use more robust way to determine whether
35955 symlink is inline
35956 (grub_ufs_find_file): support for non-BSD dirents
35957 (grub_ufs_dir): support for non-BSD dirents
35958
e7e6862a 359592009-04-10 Bean <bean123ch@gnail.com>
35960
35961 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35962 attribute, otherwise the size would be wrong for i386 platform.
35963
35964 * include/grub/pci.h (grub_pci_read_word): New inline function.
35965 (grub_pci_read_byte): Likewise.
35966 (grub_pci_write): Likewise.
35967 (grub_pci_write_word): Likewise.
35968 (grub_pci_write_byte): Likewise.
35969
35970 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35971
35972 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35973 (find_framebuf): Scan pci to locate the frame buffer address.
35974
35975 * commands/efi/fixvideo.c: New file.
35976
35977 * commands/efi/loadbios.c: Likewise.
35978
35979 * commands/memrw.c: Likewise.
35980
35981 * util/grub-dumpbios.in: Likewise.
35982
35983 * conf/common.rmk (grub-dumpbios): New utility.
35984 (pkglib_MODULES): New module memrw.mod.
35985 (memrw_mod_SOURCE): New macro.
35986 (memrw_mod_CFLAGS): Likewise.
35987 (memrw_mod_LDFLAGS): Likewise.
35988
7dd4a573 35989 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35990 fixvideo.mod.
35991 (loadbios_mod_SOURCE): New macro.
35992 (loadbios_mod_CFLAGS): Likewise.
35993 (loadbios_mod_LDFLAGS): Likewise.
35994 (fixvideo_mod_SOURCE): Likewise.
35995 (fixvideo_mod_CFLAGS): Likewise.
35996 (fixvideo_mod_LDFLAGS): Likewise.
35997
7dd4a573 35998 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35999 fixvideo.mod.
36000 (loadbios_mod_SOURCE): New macro.
36001 (loadbios_mod_CFLAGS): Likewise.
36002 (loadbios_mod_LDFLAGS): Likewise.
36003 (fixvideo_mod_SOURCE): Likewise.
36004 (fixvideo_mod_CFLAGS): Likewise.
36005 (fixvideo_mod_LDFLAGS): Likewise.
36006
af63ada2 360072009-04-08 Felix Zielcke <fzielcke@z-51.de>
36008
36009 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36010
c2cdde70 360112009-04-07 David S. Miller <davem@davemloft.net>
36012
36013 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36014 support for R_SPARC_OLO10 relocations. Fix compile warning for
36015 R_SPARC_WDISP30 case.
ea3f72cf 36016 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36017
761319cf 360182009-04-06 Pavel Roskin <proski@gnu.org>
36019
1007d1f5 36020 * include/grub/misc.h (ARRAY_SIZE): New macro.
36021 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36022 New macro.
36023 * loader/i386/linux.c (allocate_pages): Use free_pages().
36024 (grub_linux_unload): Don't use free_pages().
36025 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36026 wrong index. Treat all other modes as text modes.
36027 (grub_cmd_linux): Initialize vid_mode unconditionally to
36028 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36029
761319cf 36030 * commands/help.c (print_command_help): Use cmd->prio, not
36031 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36032
ea761d40 360332009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36034
ea761d40 36035 Parttool
36036
36037 * parttool/pcpart.c: new file
36038 * commands/parttool.c: likewise
36039 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36040 (parttool_mod_SOURCES): new variable
36041 (parttool_mod_CFLAGS): likewise
36042 (parttool_mod_LDFLAGS): likewise
36043 (pcpart_mod_SOURCES): likewise
36044 (pcpart_mod_CFLAGS): likewise
36045 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36047 and parttool/pcpart.c
36048 * conf/i386-efi.rmk: likewise
36049 * conf/i386-ieee1275.rmk: likewise
36050 * conf/i386-pc.rmk: likewise
36051 * conf/powerpc-ieee1275.rmk: likewise
36052 * conf/sparc64-ieee1275.rmk: likewise
36053 * conf/x86_64-ieee1275.rmk: likewise
36054
05aaebfb 360552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36056
36057 Support for mtime and further expandability of dir command
36058
36059 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36060 * include/grub/datetime.h: ... moved here and added
05aaebfb 36061 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36062 * include/grub/fs.h: new syntax for dir and mtime functions in
36063 struct grub_fs
05aaebfb 36064 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36065 and GRUB_FSHELP_FLAGS_MASK
36066 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36067 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36068 (grub_ext2_mtime): new function
36069 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36070 (grub_hfsplus_mtime): new function
36071 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36072 (GRUB_UFS_ATTR_FILE): likewise
36073 (GRUB_UFS_ATTR_LNK): likewise
36074 (struct grub_ufs_sblock): new fields mtime
36075 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36076 all users updated
36077 (grub_ufs_dir): mtime support
36078 (grub_ufs_mtime): new function
36079 * fs/affs.c (grub_affs_dir): use new dir syntax
36080 * fs/afs.c (grub_afs_dir): likewise
36081 * fs/cpio.c (grub_cpio_dir): likewise
36082 * fs/fat.c (grub_fat_find_dir): likewise
36083 * fs/hfs.c (grub_hfs_dir): likewise
36084 * fs/iso9660.c (grub_iso9660_dir): likewise
36085 * fs/jfs.c (grub_jfs_dir): likewise
36086 * fs/minix.c (grub_minix_dir): likewise
36087 * fs/ntfs.c (grub_ntfs_dir): likewise
36088 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36089 * fs/sfs.c (grub_sfs_dir): likewise
36090 * fs/xfs.c (grub_xfs_dir): likewise
36091 * util/hostfs.c (grub_hostfs_dir): likewise
36092 * lib/datetime.c: moved to ...
36093 * normal/datetime.c: ... moved here
36094 (grub_unixtime2datetime): new function
36095 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36096 * normal/completion.c (iterate_dir): use new dir syntax
36097 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36098 last modification time of a volume
7dd4a573 36099 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36100 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36102 (normal_mod_SOURCES): likewise
36103 (datetime_mod_SOURCES): Removed lib/datetime.c
36104 * conf/i386-efi.rmk: likewise
7dd4a573 36105 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36106 * conf/i386-pc.rmk: likewise
36107 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36108 * conf/sparc64-ieee1275.rmk: likewise
36109 * conf/x86_64-efi.rmk: likewise
05aaebfb 36110
8a7e1a14 361112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36112
36113 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36114
36115 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36116 on grub_fat_find_dir
36117 (grub_fat_find_dir): use grub_fat_iterate_dir
36118 (grub_fat_label): likewise
36119
04186a9c 361202009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36121
7dd4a573 36122 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36123 and command.h
36124 remove extraneous kernel_elf_HEADERS
36125
da4c0bb6 361262009-04-04 Bean <bean123ch@gnail.com>
36127
36128 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36129
36130 * util/misc.c: Likewise.
36131
54ad9555 361322009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36133
36134 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36135 instead of grub_printf.
36136
7a6bf9f2 361372009-04-03 Robert Millan <rmh@aybabtu.com>
36138
36139 * loader/i386/linux.c (grub_linux_setup_video): Fill
36140 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36141 values from `mode info' structure instead of hardcoded
36142 values.
36143
3fcc2083 361442009-04-01 Pavel Roskin <proski@gnu.org>
36145
36146 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36147 unused now.
36148 * genmk.rb: Likewise.
36149 * configure.ac: Likewise.
36150
5ec9740b 361512009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36152
36153 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36154 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36155
5270cec8 361562009-04-01 David S. Miller <davem@davemloft.net>
36157
36158 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36159 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36160 (grub_setjmp): Mark with 'returns_twice' attribute.
36161 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36162 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36163 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36164
9c3dd854 361652009-04-01 Robert Millan <rmh@aybabtu.com>
36166
36167 Reapply fix from 2008-07-28 which was accidentally reverted; also
36168 perform the same fix to a similar check in same function.
36169
36170 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36171 with the same number are found, just use issue a warning with
36172 grub_dprintf(), as this error has been reported to be non-fatal.
36173
0d818b7e 361742009-03-31 Pavel Roskin <proski@gnu.org>
36175
36176 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36177 for cross-compilation.
36178
95646d92 361792009-03-30 Robert Millan <rmh@aybabtu.com>
36180
36181 Fix i386-ieee1275 build.
36182
36183 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36184 Remove declaration.
36185
6a003ed1 361862009-03-30 Pavel Roskin <proski@gnu.org>
36187
36188 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36189 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36190 zero-terminated, rely only on the strlen value. Fix comparison
36191 of strings differing in length.
36192
92f33540 361932009-03-30 Robert Millan <rmh@aybabtu.com>
36194
36195 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36196 checking for abi version. Improve error messages on BIOS to notify
36197 user about `linux16' command.
36198
a8c48fd5 361992009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36200
f968172e 36201 Leak fixes
a8c48fd5 36202
f968172e 36203 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36204 in case of collision
36205 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36206
9c323f09 362072009-03-29 Robert Millan <rmh@aybabtu.com>
36208
36209 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36210 set `vid_mode' accordingly.
36211 (grub_linux_boot): Process `vid_mode' and set video mode.
36212
ae68f423 362132009-03-29 Robert Millan <rmh@aybabtu.com>
36214
36215 * util/grub.d/10_linux.in (linux_entry): New function.
36216 Factorize generation of Linux boot entries.
36217
5709cfc4 362182009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36219
36220 Make the format of Environment Block plain text. The boot loader
36221 part is not tested well yet.
7dd4a573 36222
5709cfc4 36223 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36224 (buffer): Removed.
36225 (envblk): Likewise.
36226 (usage): Remove "info" and "clear". Add "unset". Update the
36227 description of "set", as this does not delete variables any
36228 longer.
36229 (create_envblk_file): Complete rewrite.
36230 (open_envblk_file): Likewise.
36231 (cmd_info): Removed.
36232 (cmd_list): Likewise.
36233 (cmd_set): Likewise.
36234 (cmd_clear): Likewise.
36235 (list_variables): New function.
36236 (write_envblk): Likewise.
36237 (set_variables): Likewise.
36238 (unset_variables): Likewise.
36239 (main): Complete rewrite.
36240
36241 * commands/loadenv.c (buffer): Removed.
36242 (envblk): Likewise.
36243 (open_envblk_file): New function.
36244 (read_envblk_file): Complete rewrite.
36245 (grub_cmd_load_env): Likewise.
36246 (grub_cmd_list_env): Likewise.
36247 (struct blocklist): New struct.
36248 (free_blocklists): New function.
36249 (check_blocklists): Likewise.
36250 (write_blocklists): Likewise.
36251 (grub_cmd_save_env): Complete rewrite.
36252
36253 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36254 a plain text signature.
36255 (GRUB_ENVBLK_MAXLEN): Removed.
36256 (struct grub_envblk): Complete rewrite.
36257 (grub_envblk_find): Removed.
36258 (grub_envblk_insert): Likewise.
36259 (grub_envblk_open): New prototype.
36260 (grub_envblk_set): Likewise.
36261 (grub_envblk_delete): Put const to VALUE.
36262 (grub_envblk_iterate): Put const to NAME and VALUE.
36263 (grub_envblk_close): New prototype.
36264 (grub_envblk_buffer): New inline function.
36265 (grub_envblk_size): Likewise.
36266
36267 * lib/envblk.c: Include grub/mm.h.
36268 (grub_env_find): Removed.
36269 (grub_envblk_open): New function.
36270 (grub_envblk_close): Likewise.
36271 (escaped_value_len): Likewise.
36272 (find_next_line): Likewise.
36273 (grub_envblk_insert): Removed.
36274 (grub_envblk_set): New function.
36275 (grub_envblk_delete): Complete rewrite.
36276 (grub_envblk_iterate): Likewise.
36277
a9368fd3 362782009-03-28 Robert Millan <rmh@aybabtu.com>
36279
36280 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36281 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36282 variables. Use 16-bit loader.
36283 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36284 loader.
36285 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36286 (grub_linux16_boot): ... this. Update all users.
36287 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36288 (grub_linux_boot): ... this. Update all users.
36289
36290 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36291 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36292 commands to `linux16' and `initrd16'.
36293 (GRUB_MOD_FINI(linux)): Rename to ...
36294 (GRUB_MOD_FINI(linux16)): ... this.
36295
e4dd5a7e 362962009-03-24 Pavel Roskin <proski@gnu.org>
36297
36298 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36299 not just for compilation.
36300
c04d6e05 363012009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36302
36303 Move multiboot helper out of kernel
36304
36305 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36306 `loader/i386/multiboot_helper.S'.
36307 * conf/i386-coreboot.rmk: Likewise
36308 * conf/i386-ieee1275.rmk: Likewise
36309
36310 * kern/i386/loader.S: Move multiboot helpers from here...
36311 * loader/i386/multiboot_helper.S: ...moved here
36312 * include/grub/i386/loader.h: Move declarations of multiboot
36313 helpers from here...
36314 * include/grub/i386/multiboot.h: ...moved here
36315 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36316
42a5b3fc 363172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36318
36319 * kern/env.c (grub_env_context_open): Added an argument to specify
36320 whether a new context inherits exported variables from current
36321 one. This is useful when making a sandbox to interpret a config
36322 file.
36323 All callers updated.
36324
36325 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36326
b28bbc4e 363272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36328
36329 * kern/env.c (grub_env_context_close): Fix memory leaks.
36330
f04f02e4 363312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36332
36333 * normal/main.c (grub_normal_execute): Added an argument
36334 BATCH to specify if an interactive interface should be provided
36335 after reading a config file.
36336 All callers updated.
36337 (read_command_list): Prevent being executed twice.
36338 (read_fs_list): Likewise.
36339
42a5b3fc 36340 * include/grub/normal.h (grub_normal_execute): Updated the
36341 prototype.
f04f02e4 36342
41473ac2 363432009-03-22 Pavel Roskin <proski@gno.org>
36344
fbc00b0c 36345 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36346 _start.
36347 * kern/i386/pc/startup.S: Likewise.
36348 * kern/i386/efi/startup.S: Likewise.
36349 * kern/i386/ieee1275/startup.S: Likewise.
36350 * kern/i386/coreboot/startup.S: Likewise.
36351 * kern/x86_64/efi/startup.S: Likewise.
36352
41473ac2 36353 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36354 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36355 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36356
2274cc8f 363572009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36358
36359 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36360
36361 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36362 limit detection.
36363 Use vaddr of correct segment for entry_point.
36364
b1b797cb 363652009-03-21 Bean <bean123ch@gmail.com>
36366
36367 * commands/blocklist.c: Add include file <grub/command.h>, remove
36368 <grub/normal.h> and <grub/arg.h>.
36369 (grub_cmd_blocklist): Use the new command interface.
36370 (GRUB_MOD_INIT): Likewise.
36371 (GRUB_MOD_FINI): Likewise.
36372 * commands/boot.c: Likewise.
36373 * commands/cat.c: Likewise.
36374 * commands/cmp.c: Likewise.
36375 * commands/configfile.c: Likewise.
36376 * commands/crc.c: Likewise.
36377 * commands/echo.c: Likewise.
36378 * commands/halt.c: Likewise.
36379 * commands/handler.c: Likewise.
36380 * commands/hdparm.c: Likewise.
36381 * commands/help.c: Likewise.
36382 * commands/hexdump.c: Likewise.
36383 * commands/loadenv.c: Likewise.
36384 * commands/ls.c: Likewise.
36385 * commands/lsmmap.c: Likewise.
36386 * commands/lspci.c: Likewise.
36387 * commands/loadenv.c: Likewise.
36388 * commands/read.c: Likewise.
36389 * commands/reboot.c: Likewise.
36390 * commands/search.c: Likewise.
36391 * commands/sleep.c: Likewise.
36392 * commands/test.c: Likewise.
36393 * commands/usbtest.c: Likewise.
36394 * commands/videotest.c: Likewise.
36395 * commands/i386/cpuid.c: Likewise.
36396 * commands/i386/pc/halt.c: Likewise.
36397 * commands/i386/pc/play.c: Likewise.
36398 * commands/i386/pc/pxecmd.c: Likewise.
36399 * commands/i386/pc/vbeinfo.c: Likewise.
36400 * commands/i386/pc/vbetest.c: Likewise.
36401 * commands/ieee1275/suspend.c: Likewise.
36402 * disk/loopback.c: Likewise.
36403 * font/font_cmd.c: Likewise.
36404 * hello/hello.c: Likewise.
36405 * loader/efi/appleloader.c: Likewise.
36406 * loader/efi/chainloader.c: Likewise.
36407 * loader/i386/bsd.c: Likewise.
36408 * loader/i386/efi/linux.c: Likewise.
36409 * loader/i386/ieee1275/linux.c: Likewise.
36410 * loader/i386/linux.c: Likewise.
36411 * loader/i386/pc/chainloader.c: Likewise.
36412 * loader/i386/pc/linux.c: Likewise.
36413 * loader/powerpc/ieee1275/linux.c: Likewise.
36414 * loader/multiboot_loader.c: Likewise.
36415 * term/gfxterm.c: Likewise.
36416 * term/i386/pc/serial.c: Likewise.
36417 * term/terminfo.c: Likewise.
36418
36419 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36420 * term/i386/pc/vga.c: Likewise.
36421 * video/readers/jpeg.c: Likewise.
36422 * video/readers/png.c: Likewise.
36423 * video/readers/tga.c: Likewise.
36424
36425 * util/grub-fstest (cmd_loopback): Removed.
36426 (cmd_blocklist): Likewise.
36427 (cmd_ls): Likewise.
36428 (grub_register_command): Likewise.
36429 (grub_unregister_command): Likewise.
36430 (execute_command): Use grub_command_find to locate command and execute
36431 it.
36432
36433 * include/grub/efi/chainloader.h: Removed.
36434 * loader/efi/chainloader_normal.c: Likewise.
36435 * loader/i386/bsd_normal.c: Likewise.
36436 * loader/i386/pc/chainloader_normal.c: Likewise.
36437 * loader/i386/pc/multiboot_normal.c: Likewise.
36438 * loader/linux_normal.c: Likewise.
36439 * loader/multiboot_loader_normal.c: Likewise.
36440 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36441
36442 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36443 and grub_register_command_p1.
36444
36445 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36446 kern/command.c, lib/arg.c and commands/extcmd.c.
36447 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36448 (minicmd_mod_SOURCES): New variable.
36449 (minicmd_mod_CFLAGS): Likewise.
36450 (minicmd_mod_LDFLAGS): Likewise.
36451 (extcmd_mod_SOURCES): Likewise.
36452 (extcmd_mod_CFLAGS): Likewise.
36453 (extcmd_mod_LDFLAGS): Likewise.
36454 (boot_mod_SOURCES): Removed.
36455 (boot_mod_CFLAGS): Likewise.
36456 (boot_mod_LDFLAGS): Likewise.
36457
36458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36459 kern/corecmd.c.
36460 (kernel_img_HEADERS): Add command.h.
36461 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36462 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36463 and lib/arg.c.
36464 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36465 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36466 remove the corresponding normal mode command.
36467 (normal_mod_SOURCES): Remove normal/arg.c.
36468 * conf/i386-coreboot.rmk: Likewise.
36469 * conf/i386-efi.rmk: Likewise.
36470 * conf/i386-ieee1275.rmk: Likewise.
36471 * conf/powerpc-ieee1275.rmk: Likewise.
36472 * conf/x86_64-efi.rmk: Likewise.
36473
36474 * include/grub/arg.h: Move from here ...
36475 * include/grub/lib/arg.h: ... to here.
36476
36477 * normal/arg.c: Move from here ...
36478 * lib/arg.c: ... to here.
36479
36480 * commands/extcmd.c: New file.
36481 * commands/minicmd.c: Likewise.
36482 * include/grub/command.h: Likewise.
36483 * include/grub/extcmd.h: Likewise.
36484 * kern/command.c: Likewise.
36485 * kern/corecmd.c: Likewise.
36486
36487 * kern/list.c (grub_list_iterate): Return int instead of void.
36488 (grub_list_insert): New function.
36489 (grub_prio_list_insert): Likewise.
36490
36491 * kern/rescue.c (grub_rescue_command): Removed.
36492 (grub_rescue_command_list): Likewise.
36493 (grub_rescue_register_command): Likewise.
36494 (grub_rescue_unregister_command): Likewise.
36495 (grub_rescue_cmd_boot): Move to minicmd.c
36496 (grub_rescue_cmd_help): Likewise.
36497 (grub_rescue_cmd_info): Likewise.
36498 (grub_rescue_cmd_boot): Likewise.
36499 (grub_rescue_cmd_testload): Likewise.
36500 (grub_rescue_cmd_dump): Likewise.
36501 (grub_rescue_cmd_rmmod): Likewise.
36502 (grub_rescue_cmd_lsmod): Likewise.
36503 (grub_rescue_cmd_exit): Likewise.
36504 (grub_rescue_print_devices): Moved to corecmd.c.
36505 (grub_rescue_print_files): Likewise.
36506 (grub_rescue_cmd_ls): Likewise.
36507 (grub_rescue_cmd_insmod): Likewise.
36508 (grub_rescue_cmd_set): Likewise.
36509 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36510 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36511 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36512 commands, remove grub_rescue_register_command calls.
b1b797cb 36513
7d074e3c 36514 * normal/command.c (grub_register_command): Removed.
b1b797cb 36515 (grub_unregister_command): Likewise.
36516 (grub_command_find): Likewise.
36517 (grub_iterate_commands): Likewise.
36518 (rescue_command): Likewise.
36519 (export_command): Moved to corecmd.c.
36520 (set_command): Removed.
36521 (unset_command): Likewise.
36522 (insmod_command): Likewise.
36523 (rmmod_command): Likewise.
36524 (lsmod_command): Likewise.
36525 (grub_command_init): Likewise.
36526
36527 * normal/completion.c (iterate_command): Use cmd->prio to check for
36528 active command.
36529 (complete_arguments): Use grub_extcmd_t structure to find options.
36530 (grub_normal_do_completion): Change function grub_iterate_commands to
36531 grub_command_iterate.
36532
36533 * normal/execute.c (grub_script_execute_cmd): No need to parse
36534 argument here.
36535
36536 * normal/main.c (grub_dyncmd_dispatcher): New function.
36537 (read_command_list): Register unload commands as dyncmd.
36538 (grub_cmd_normal): Use new command interface, register rescue,
36539 unregister normal at entry, register normal, unregister rescue at exit.
36540
36541 * include/grub/list.h (grub_list_test_t): New type.
36542 (grub_list_iterate): Return int instead of void.
36543 (grub_list_insert): New function.
36544 (GRUB_AS_NAMED_LIST_P): New macro.
36545 (GRUB_AS_PRIO_LIST): Likewise.
36546 (GRUB_AS_PRIO_LIST_P): Likewise.
36547 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36548 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36549 (grub_prio_list): New structure.
36550 (grub_prio_list_insert): New function.
36551 (grub_prio_list_remove): New inline function.
36552
36553 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36554 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36555 (GRUB_COMMAND_FLAG_MENU): Likewise.
36556 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36557 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36558 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36559 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36560 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36561 (grub_command): Likewise.
36562 (grub_register_command): Likewise.
36563 (grub_command_find): Likewise.
36564 (grub_iterate_commands): Likewise.
36565 (grub_command_init): Likewise.
36566 (grub_arg_parse): Likewise.
36567 (grub_arg_show_help): Likewise.
36568
36569 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36570 (grub_rescue_unregister_command): Likewise.
36571
36572 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36573 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36574 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36575
36576 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36577 grub_rescue_cmd_initrd.
36578 * include/grub/i386/loader.h: Likewise.
36579 * include/grub/x86_64/loader.h: Likewise.
36580
36581 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36582
1f4147aa 365832009-03-21 Bean <bean123ch@gmail.com>
36584
36585 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36586 instead of stat in mingw environment.
36587
36588 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36589
36590 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36591
36592 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36593 AC_CONFIG_LINKS.
36594
2156d5ba 365952009-03-21 Bean <bean123ch@gmail.com>
36596
36597 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36598 out of range error.
36599
177b82ca 366002009-03-18 Michel Dänzer <michel@daenzer.net>
36601
36602 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36603 checking inode flags for EXT4_EXTENTS_FLAG.
36604
14aad807 366052009-03-18 Robert Millan <rmh@aybabtu.com>
36606
36607 * loader/i386/linux.c: Include `<grub/video.h>' and
36608 `<grub/i386/pc/vbe.h>'..
36609 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36610 (grub_linux32_boot): Attempt to configure video settings with
36611 grub_linux_setup_video().
36612 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36613 to avoid grub_console_fini() which would step out of graphical mode
36614 unconditionally.
36615
8cf83a27 366162009-03-14 Robert Millan <rmh@aybabtu.com>
36617
36618 Fix build on powerpc.
36619 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36620
40164e75 366212009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36622
36623 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36624 background image command.
36625
c58bc32a 366262009-03-12 Colin D Bennett <colin@gibibit.com>
36627
36628 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36629 (grub_gfxterm_putchar): Extract pairs of identical calls to
36630 draw_cursor out of conditional blocks.
36631
5415144a 366322009-03-11 Pavel Roskin <proski@gnu.org>
36633
36634 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36635 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36636
6394042e 366372009-03-11 Robert Millan <rmh@aybabtu.com>
36638
36639 * loader/i386/multiboot_elfxx.c
36640 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36641
b7b50e5f 366422009-03-11 Felix Zielcke <fzielcke@z-51.de>
36643
36644 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36645 `kern/handler.c'.
36646
1ca7fc96 366472009-03-11 Robert Millan <rmh@aybabtu.com>
36648
36649 * loader/i386/multiboot.c (code_size): New variable.
36650 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36651 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36652 4-byte alignment to MBI and others by increasing
7d074e3c 36653 `boot_loader_name_length' appropriately.
1ca7fc96 36654
36655 * loader/i386/multiboot_elfxx.c
36656 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36657
a83ea1d2 366582009-03-09 Felix Zielcke <fzielcke@z-51.de>
36659
36660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36661 `fs/ext2.c'.
36662
aa9f3bff 366632009-03-08 Robert Millan <rmh@aybabtu.com>
36664
36665 Make loader/i386/linux.c usable on i386-pc again.
36666
36667 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36668 memory to heap.
36669 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36670 `#error' stanza.
36671
d8b3b60e 366722009-03-07 Bean <bean123ch@gmail.com>
36673
36674 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36675 allocation.
36676
b362c9e9 366772009-03-06 Robert Millan <rmh@aybabtu.com>
36678
36679 Fix display issue on terminals with screen size other than 80x25
36680 (e.g. gfxterm with resolution higher than 640x480).
36681
36682 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36683 position relative to the center of the terminal instead of relying
b362c9e9 36684 on a hardcoded offset.
36685
9304eef1 366862009-03-04 Robert Millan <rmh@aybabtu.com>
36687
36688 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36689 installed.
36690
36691 * Makefile.in (host_kernel): New variable.
36692 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36693 scripts instead of just the windows one.
36694 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36695
eabc95fb 366962009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36697
36698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36699 `kern/handler.c'.
36700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36704 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36706
ceb1223c 367072009-03-04 Felix Zielcke <fzielcke@z-51.de>
36708
36709 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36710 or if there's no space for the disk label and print the partition number on a
36711 invalid magic.
36712
4910684a 367132009-03-04 Felix Zielcke <fzielcke@z-51.de>
36714
36715 * util/misc.c: Include <time.h>.
36716 (grub_millisleep): New function.
36717
7e9ca17a 367182009-03-04 Bean <bean123ch@gmail.com>
36719
36720 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36721 another option -mno-red-zone.
36722
36723 * commands/handler.c: Change module description.
36724
36725 * kern/handler.c: Add missing space at the end of description line.
36726
36727 * kern/list.c: Likewise.
36728
f501677c 367292009-03-03 Robert Millan <rmh@aybabtu.com>
36730
36731 Move more components to the relocation area, and fix mbi pointer
36732 handling to use the destination rather than the origin (thanks to
36733 Vladimir Serbinenko for spotting).
36734
36735 * loader/i386/multiboot.c (mbi_dest): New variable.
36736 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36737 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36738 relocation area.
36739
9902d047 367402009-03-01 Bean <bean123ch@gmail.com>
36741
50fb7002 36742 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36743 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36744 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36745 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36746
36747 * loader/i386/efi/linux.c (acpi_guid): New variable.
36748 (acpi_guid): Likewise.
36749 (EBDA_SEG_ADDR): New constant.
36750 (LOW_MEM_ADDR): Likewise.
36751 (FAKE_EBDA_SEG): Likewise.
36752 (fake_bios_data): New function.
36753 (grub_linux_boot): Call fake_bios_data.
36754
71b9f361 367552009-03-01 Bean <bean123ch@gmail.com>
36756
36757 * commands/terminal.c: Removed.
36758
36759 * commands/handler.c: New file.
36760
36761 * include/grub/list.h: Likewise.
36762
36763 * include/grub/handler.h: Likewise.
36764
36765 * kern/list.c: Likewise.
36766
36767 * kern/handler.c: Likewise.
36768
36769 * kern/term.h: Include header file <grub/handler.h>.
36770 (grub_term_input): Move next field to the beginning.
36771 (grub_term_output): Likewise.
36772 (grub_term_input_class): New variable.
36773 (grub_term_output_class): Likewise.
36774 (grub_term_register_input): Changed to inline function.
36775 (grub_term_register_output): Likewise.
36776 (grub_term_unregister_input): Likewise.
36777 (grub_term_unregister_output): Likewise.
36778 (grub_term_set_current_input): Likewise.
36779 (grub_term_set_current_output): Likewise.
36780 (grub_term_get_current_input): Likewise.
36781 (grub_term_get_current_output): Likewise.
36782 (grub_term_iterate_input): Removed.
36783 (grub_term_iterate_output): Likewise.
36784
36785 * kern/term.c (grub_term_list_input): Removed.
36786 (grub_term_list_output): Likewise.
36787 (grub_term_input_class): New variable.
36788 (grub_term_output_class): Likewise.
50fb7002 36789 (grub_cur_term_input): Change variable as macro.
71b9f361 36790 (grub_cur_term_output): Likewise.
36791 (grub_term_register_input): Removed.
36792 (grub_term_register_output): Likewise.
36793 (grub_term_unregister_input): Likewise.
36794 (grub_term_unregister_output): Likewise.
36795 (grub_term_set_current_input): Likewise.
36796 (grub_term_set_current_output): Likewise.
36797 (grub_term_iterate_input): Likewise.
36798 (grub_term_iterate_output): Likewise.
36799 (grub_term_get_current_input): Likewise.
36800 (grub_term_get_current_output): Likewise.
36801
36802 * util/grub-editenv.c: Include header file <grub/handler.h>.
36803 (grub_term_get_current_input): Removed.
36804 (grub_term_get_current_output): Likewise.
36805 (grub_term_input_class): New variable.
50fb7002 36806 (grub_term_output_class): Likewise.
71b9f361 36807
36808 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36809 (grub_term_get_current_output): Likewise.
36810 (grub_term_input_class): New variable.
50fb7002 36811 (grub_term_output_class): Likewise.
71b9f361 36812
36813 * util/grub-probe.c (grub_term_get_current_input): Removed.
36814 (grub_term_get_current_output): Likewise.
36815 (grub_term_input_class): New variable.
50fb7002 36816 (grub_term_output_class): Likewise.
71b9f361 36817
36818 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36819 (grub_term_get_current_output): Likewise.
36820 (grub_term_input_class): New variable.
50fb7002 36821 (grub_term_output_class): Likewise.
71b9f361 36822
36823 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36824 (terminal_mod_SOURCES): Likewise.
36825 (terminal_mod_CFLAGS): Likewise.
36826 (terminal_mod_LDFLAGS): Likewise.
36827
36828 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36829 handler.c.
36830 (kernel_img_SOURCES): Add list.c and handler.c.
36831 (kernel_img_HEADERS): Add list.h and handler.h.
36832
36833 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36834 handler.c.
36835 (kernel_mod_SOURCES): Add list.c and handler.c.
36836 (kernel_mod_HEADERS): Add list.h and handler.h.
36837
36838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36839 handler.c.
36840 (kernel_elf_SOURCES): Add list.c and handler.c.
36841 (kernel_elf_HEADERS): Add list.h and handler.h.
36842
36843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36844 handler.c.
36845 (kernel_elf_SOURCES): Add list.c and handler.c.
36846 (kernel_elf_HEADERS): Add list.h and handler.h.
36847
36848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36849 handler.c.
36850 (kernel_mod_SOURCES): Add list.c and handler.c.
36851 (kernel_mod_HEADERS): Add list.h and handler.h.
36852
36853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36854 handler.c.
36855 (kernel_elf_SOURCES): Add list.c and handler.c.
36856 (kernel_elf_HEADERS): Add list.h and handler.h.
36857
8a31787f 368582009-02-27 Robert Millan <rmh@aybabtu.com>
36859
36860 Factorize elf32 / elf64 code in Multiboot loader. This will
36861 prevent it from getting out of sync again.
36862
36863 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36864 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36865 grub_multiboot_load_elf64): Move from here ...
36866 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36867 grub_multiboot_load_elf): ... to here (new file).
36868
51cd3dfc 368692009-02-27 Robert Millan <rmh@aybabtu.com>
36870
36871 * util/grub.d/10_linux.in: Rename "single-user mode" to
36872 "recovery mode".
36873
6e8c9c3a 368742009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36875
36876 Don't leak in SCSI code.
36877 * disk/scsi.c (grub_scsi_close): free `scsi'.
36878
4b6bf4f9 368792009-02-27 Robert Millan <rmh@aybabtu.com>
36880
36881 * loader/i386/pc/multiboot.c: Move from here ...
36882 * loader/i386/multiboot.c: ... to here. Update all users.
36883
b9413424 368842009-02-27 Robert Millan <rmh@aybabtu.com>
36885
36886 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36887 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36888
50fb7002 368892009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36890
36891 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36892 b-tree.
36893
8cc50345 368942009-02-27 Robert Millan <rmh@aybabtu.com>
36895
36896 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36897 `0x' qualifier as 0 when base is specified as parameter).
36898
6e09b8b7 368992009-02-24 Bean <bean123ch@gmail.com>
36900
36901 * configure.ac: Check for -mcmodel=large in x86_64 target.
36902
36903 * include/grub/efi/api.h (efi_call_10): New macro.
36904 (efi_wrap_10): New function.
36905
36906 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36907 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36908 (GRUB_PE32_REL_BASED_LOW): Likewise.
36909 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36910 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36911 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36912 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36913 (GRUB_PE32_REL_BASED_REL): Likewise.
36914 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36915 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36916 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36917
36918 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36919 issue.
36920
36921 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36922 (efi_wrap_10): New function.
36923
36924 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36925
36926 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36927 MB/MBP model (NV chipset).
36928 (devdata_devs): Add devpath_5 to the list.
36929
36930 * load/i386/efi/linux.c (video_base): Remove variable.
36931 (RGB_MASK): New macro.
36932 (RGB_MAGIC): Likewise.
36933 (LINE_MIN): Likewise.
36934 (LINE_MAX): Likewise.
36935 (FBTEST_STEP): Likewise.
36936 (FBTEST_COUNT): Likewise.
36937 (fb_list): New variable.
36938 (grub_find_video_card): Remove function.
36939 (find_framebuf): New function.
36940 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36941 line length.
36942
36943 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36944 problem for x86_64.
36945
74b21bee 369462009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36947
36948 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36949
36950 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36951 coding tool name.
36952
a455f472 369532009-02-22 Robert Millan <rmh@aybabtu.com>
36954
36955 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36956 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36957 in our relocation, instead of using it directly from heap. Also
36958 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36959
6374daf3 369602009-02-21 Robert Millan <rmh@aybabtu.com>
36961
36962 Implement USB keyboard support (based on patch by Marco Gerards)
36963
36964 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36965 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36966 (usb_keyboard_mod_LDFLAGS): New variables.
36967
36968 * term/usb_keyboard.c: New file.
36969
8fa4ea70 369702009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36971
36972 Corrected wrong declaration
36973
36974 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36975
353976ac 369762009-02-14 Christian Franke <franke@computer.org>
36977
36978 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36979 (grub_lspci_iter): Print class code and programming interface byte.
36980
6aa1169b 369812009-02-14 Christian Franke <franke@computer.org>
36982
36983 * gendistlist.sh: Ignore `.svn' directories.
36984
265372ca 369852009-02-14 Felix Zielcke <fzielcke@z-51.de>
36986
36987 * fs/fat.c: Add 2009 to Copyright line.
36988
9ff516f3 369892009-02-14 Christian Franke <franke@computer.org>
36990
36991 * commands/hdparm.c: New file. Provides `hdparm' command
36992 which sends ATA commands via grub_disk_ata_pass_through ().
36993
36994 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36995
36996 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36997 and <grub/cpu/io.h> to include/grub/ata.h.
36998 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36999 (GRUB_CDROM_SECTOR_SIZE): Remove.
37000 (GRUB_ATA_*): Move to include/grub/ata.h.
37001 (GRUB_ATAPI_*): Likewise.
37002 (enum grub_ata_commands): Likewise.
37003 (enum grub_ata_timeout_milliseconds): Likewise.
37004 (struct grub_ata_device): Likewise.
37005 (grub_ata_regset): Likewise.
37006 (grub_ata_regget): Likewise.
37007 (grub_ata_regset2): Likewise.
37008 (grub_ata_regget2): Likewise.
37009 (grub_ata_check_ready): Likewise.
37010 (grub_ata_wait_not_busy): Remove static, exported in
37011 include/grub/ata.h.
37012 (grub_ata_wait_drq): Likewise.
37013 (grub_ata_pio_read): Likewise.
37014
37015 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37016 function for hdparm.mod.
37017
37018 * include/grub/ata.h: New file, contains declarations from
37019 disk/ata.c.
37020 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37021
37022 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37023 (grub_disk_ata_pass_through): New exported variable.
37024
37025 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37026
772e23da 370272009-02-13 Colin D Bennett <colin@gibibit.com>
37028
37029 Support multiple fallback entries, and provide an API to support
37030 executing default+fallback menu entries. Renamed the `terminal' menu
37031 viewer to `text'.
37032
37033 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37034 variable declaration.
37035 (grub_menu_execute_callback): New structure declaration.
37036 (grub_menu_execute_callback_t): New typedef.
37037 (grub_menu_execute_with_fallback): New function declaration.
37038 (grub_menu_get_entry): Likewise.
37039 (grub_menu_get_timeout): Likewise.
37040 (grub_menu_set_timeout): Likewise.
37041
37042 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37043
37044 * normal/menu.c (grub_wait_after_message): Moved to
37045 `normal/menu_text.c'.
37046 (draw_border): Likewise.
37047 (print_message): Likewise.
37048 (print_entry): Likewise.
37049 (print_entries): Likewise.
37050 (grub_menu_init_page): Likewise.
37051 (get_entry_number): Likewise.
37052 (print_timeout): Likewise.
37053 (run_menu): Likewise.
37054 (grub_menu_execute_entry): Likewise.
37055 (show_text_menu): Likewise.
37056 (get_and_remove_first_entry_number): New function.
37057 (grub_menu_execute_with_fallback): Likewise.
37058 (get_entry): Renamed to ...
37059 (grub_menu_get_entry): .. this and made it global.
37060 (get_timeout): Renamed to ...
37061 (grub_menu_get_timeout): ... this and made it global.
37062 (set_timeout): Renamed to ...
37063 (grub_menu_set_timeout): ... this and made it global.
37064 (grub_normal_terminal_menu_viewer): Renamed to ...
37065 (grub_normal_text_menu_viewer): ... this.
37066
37067 * normal/menu_text.c: New file. Extracted text-menu-specific code
37068 from normal/menu.c.
37069
37070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37071 (normal_mod_SOURCES): Likewise.
37072
37073 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37074 (normal_mod_SOURCES): Likewise.
37075
37076 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37077 (normal_mod_SOURCES): Likewise.
37078
37079 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37080 (normal_mod_SOURCES): Likewise.
37081
37082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37083 (normal_mod_SOURCES): Likewise.
37084
37085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37086 (normal_mod_SOURCES): Likewise.
37087
37088 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37089 (normal_mod_SOURCES): Likewise.
37090
16ac430e 370912009-02-11 Robert Millan <rmh@aybabtu.com>
37092
37093 * util/grub.d/00_header.in: Update old reference to `font' command.
37094
06ff20fc 370952009-02-10 Felix Zielcke <fzielcke@z-51.de>
37096
37097 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37098
37099 Based on patch from Javier Martín.
37100
96da9407 371012009-02-09 Felix Zielcke <fzielcke@z-51.de>
37102
37103 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37104 to avoid false positives with FAT.
96da9407 37105 (grub_fstest_SOURCES): Likewise.
37106 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37107 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37111 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37112
6dca6fe4 371132009-02-09 Felix Zielcke <fzielcke@z-51.de>
37114
06ff20fc 37115 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37116 bpb.version_specific.fat12_or_fat16.fstype and
37117 bpb.version_specific.fat32.fstype.
37118
2550c62f 371192009-02-08 Robert Millan <rmh@aybabtu.com>
37120
be110b30 37121 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37122
56978920 371232009-02-08 Robert Millan <rmh@aybabtu.com>
37124
37125 * Makefile.in (host_os, host_cpu): New variables.
37126 (target_os): Remove. Update all users.
37127
d64399b5 371282009-02-08 Marco Gerards <marco@gnu.org>
37129
37130 * Makefile.in (enable_grub_emu_usb): New variable.
37131 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37132 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37133 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37134 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37135 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37136 `usbtest.mod' and `usbms.mod'.
37137 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37138 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37139 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37140 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37141 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37142 variables.
37143
37144 * disk/usbms.c: New file.
37145
37146 * include/grub/usb.h: Likewise.
37147
37148 * include/grub/usbtrans.h: Likewise.
37149
37150 * include/grub/usbdesc.h: Likewise.
37151
37152 * bus/usb/usbtrans.c: Likewise.
37153
37154 * bus/usb/ohci.c: Likewise.
37155
37156 * bus/usb/uhci.c: Likewise.
37157
37158 * bus/usb/usbhub.c: Likewise.
37159
37160 * bus/usb/usb.c: Likewise.
37161
37162 * commands/usbtest.c: Likewise.
37163
37164 * util/usb.c: Likewise.
50fb7002 37165
d64399b5 37166 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37167
37168 * configure.ac: Test for libusb presence.
50fb7002 37169
d64399b5 37170 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37171
2b40d6bb 371722009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37173
37174 * kern/mm.c: Add more comments.
37175
73a4ce81 371762009-02-08 Robert Millan <rmh@aybabtu.com>
37177
37178 Patch from Javier Martín.
37179 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37180 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37181
f821ce59 371822009-02-08 Robert Millan <rmh@aybabtu.com>
37183
37184 * fs/cpio.c: Split tar functionality to ...
37185 * fs/tar.c: ... here (new file). Update all users.
37186
aebfc4b0 371872009-02-07 Robert Millan <rmh@aybabtu.com>
37188
37189 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37190 backward-incompatible features.
37191
37192 Based on patch from Javier Martín, with some adjustments.
37193
50fb7002 371942009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37195
37196 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37197
0bb5115e 371982009-02-07 Robert Millan <rmh@aybabtu.com>
37199
37200 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37201 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37202 after the RAID stuff.
37203
38a0f8e7 372042009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37205
50fb7002 37206 Fixes problem when running vbetest command as reported by
38a0f8e7 37207 Vladimir Serbinenko <phcoder@gmail.com>.
37208
37209 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37210
3143cc1c 372112009-02-04 Felix Zielcke <fzielcke@z-51.de>
37212
37213 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37214 /dev/md/NpN style mdraid devices.
37215
9cba6fce 372162009-02-03 Felix Zielcke <fzielcke@z-51.de>
37217
37218 * util/unifont2pff.rb: Remove.
37219
e507a2c1 372202009-02-03 Felix Zielcke <fzielcke@z-51.de>
37221
37222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37223 `#'.
37224
d2c2b4cd 372252009-02-03 Felix Zielcke <fzielcke@z-51.de>
37226
37227 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37229 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37232 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37234
b4315fb0 372352009-02-02 Christian Franke <franke@computer.org>
37236
37237 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37238
de3aa260 372392009-02-01 Felix Zielcke <fzielcke@z-51.de>
37240
7c3ff286 37241 * INSTALL: Note that we now require at least autoconf 2.59 and
37242 that LZO is optional.
de3aa260 37243
825a182b 372442009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37245
37246 Base on patch on bug #24154 created by Tomas Tintera
37247 <trosos@seznam.cz>.
37248
37249 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37250
a69ef770 372512009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37252
7c3ff286 37253 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37254 <bero@arklinux.org>.
37255
37256 * normal/parser.y (script_init): Add missing semicolon.
37257
6fa42fa6 372582009-01-31 Colin D Bennett <colin@gibibit.com>
37259
7c3ff286 37260 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37261 (free_menu_entry_classes): Added.
37262 (grub_normal_menu_addentry): Added class property handling.
37263 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37264 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37265
37266 * normal/menu_viewer.c: New file.
37267
37268 * normal/menu.c (run_menu_entry): Renamed to ...
37269 (grub_menu_execute_entry): ... this and made it as global.
37270 (grub_menu_run): Renamed to ...
37271 (show_text_menu): ... this and made it local.
37272 (show_text_menu): Adapt to new function names.
37273 (grub_normal_terminal_menu_viewer): New global variable.
37274
37275 * include/grub/menu.h: New file.
37276
37277 * include/grub/menu_viewer.h: New file.
37278
37279 * include/grub/normal.h: Added include to grub/menu.h.
37280 (grub_menu_entry): Moved to include/grub/menu.h.
37281 (grub_menu_entry_t): Likewise.
37282 (grub_menu): Likewise.
37283 (grub_menu_t): Likewise.
37284 (grub_normal_terminal_menu_viewer): Added.
37285 (grub_menu_execute_entry): Likewise.
37286 (grub_menu_run): Removed.
37287
37288 * DISTLIST: Added include/grub/menu.h.
37289 Added include/grub/menu_viewer.h.
37290 Added normal/menu_viewer.c.
37291
372922009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37293
37294 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37295 arglist for menutitle arguments.
37296
37297 * normal/main.c (grub_normal_menu_addentry): Likewise.
37298
37299 * normal/parser.y (menuentry): Likewise.
37300
37301 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37302
37303 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37304 (grub_script_create_cmdmenu): Likewise.
37305
37306 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37307
37308 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37309 changes.
37310
37311 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37312
37313 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37314
37315 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37316
37317 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37318
37319 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37320
37321 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37322
56192c23 373232009-01-30 Christian Franke <franke@computer.org>
37324
37325 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37326 in option help text.
37327
d72521b3 373282009-01-27 Pavel Roskin <proski@gnu.org>
37329
37330 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37331
994b5e84 373322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37333
37334 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37335
37336 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37337
37338 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37339 unregister function.
37340
6a7eab2c 373412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37342
37343 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37344
37345 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37346
37347 * util/grub-mkfont.c (usage): Fix typo.
37348
37349 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37350
1806b56e 373512009-01-26 Daniel Mierswa <impulze@impulze.org>
37352
3fb18f09 37353 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37354
336e1fb9 37355 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37356
1806b56e 37357 * kern/misc.c (grub_strcasecmp): New function.
37358 (grub_strcasecmp): Use grub_size_t instead of int for length.
37359 Fix return value.
37360 * include/grub/misc.h: Update function prototypes.
37361
580b2a0f 373622009-01-26 Robert Millan <rmh@aybabtu.com>
37363
37364 * configure.ac: Fix cross-compilation check.
ef257b36 37365
d31c24f1 373662009-01-22 Christian Franke <franke@computer.org>
37367
37368 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37369 (precision) digit string. Allow `.format2' without `format1' (width).
37370 Limit input chars for `%s' output to `format2' if specified. This is
37371 compatible with standard printf ().
37372
3138b44c 373732009-01-22 Christian Franke <franke@computer.org>
37374
37375 * disk/ata.c (grub_ata_wait_status): Replace by ...
37376 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37377 other status bits may be invalid while BSY is asserted.
37378 (grub_ata_check_ready): New function.
37379 (grub_ata_cmd): Removed.
37380 (grub_ata_wait_drq): New function.
37381 (grub_ata_strncpy): Remove inline.
37382 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37383 and error check now done by grub_ata_wait_drq ().
37384 (grub_ata_pio_write): Likewise.
37385 (grub_atapi_identify): Set DEV before check for !BSY. Use
37386 grub_ata_wait_drq () to wait for data.
37387 (grub_ata_device_initialize): Add status register check to
37388 detect missing SATA slave devices. Add debug messages.
37389 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37390 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37391 transfer loop by grub_ata_pio_write ().
37392 (grub_ata_identify): Set DEV before check for !BSY. Use
37393 grub_ata_wait_drq () to wait for data.
ef257b36 37394 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37395 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37396 read/write in one loop. Fix invalid command on write. Fix incomplete
37397 command on (size % batch) == 0. Add missing error check after write of
37398 last block. Add debug messages.
37399 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37400
59a64ef6 374012009-01-19 Christian Franke <franke@computer.org>
37402
37403 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37404 (GRUB_ATAPI_IREASON_*): Likewise.
37405 (grub_ata_pio_write): Fix timeout error return.
37406 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37407 (grub_atapi_wait_drq): New function.
37408 (grub_atapi_packet): New parameter `size'.
37409 Use grub_atapi_wait_drq () and direct write instead of
37410 grub_ata_pio_write ().
37411 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37412 reads the number of bytes requested by the device for each DRQ
37413 assertion.
37414 (grub_atapi_write): Remove old implementation, return not
37415 implemented instead.
37416
1cfe20b3 374172009-01-19 Christian Franke <franke@computer.org>
37418
37419 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37420 of 512 to calculate data size.
37421 (grub_scsi_read12): Likewise.
37422 (grub_scsi_write10): Likewise.
37423 (grub_scsi_write12): Likewise.
37424 (grub_scsi_read): Adjust size according to blocksize.
37425 Add checks for invalid blocksize and unaligned transfer.
37426
bee5fe5d 374272009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37428
37429 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37430
ef257b36 37431 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37432 width glyphs.
37433
3e643f8c 374342009-01-19 Robert Millan <rmh@aybabtu.com>
37435
37436 * config.guess: Update to latest version from config git.
37437 * config.sub: Likewise.
37438
4fa80998 374392009-01-17 Felix Zielcke <fzielcke@z-51.de>
37440
37441 * Makefile.in: Change font compilation to use new grub-mkfont instead
37442 of java version.
37443
37444 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37445 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37446 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37447 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37448 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37449 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37450 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37451 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37452 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37453
7086085b 374542009-01-16 Christian Franke <franke@computer.org>
37455
37456 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37457 (enum grub_ata_timeout_milliseconds): New enum.
37458 (grub_ata_wait_status): Add parameter milliseconds.
37459 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37460 recovery from timed-out commands.
37461 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37462 return grub_errno instead of REG_ERROR.
37463 (grub_ata_pio_write): Add parameter milliseconds.
37464 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37465 Pass milliseconds to grub_ata_wait_status () and
37466 grub_ata_pio_read ().
37467 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37468 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37469 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37470 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37471 It is not suitable for device detection, because DEV bit is ignored,
37472 the command may run too long, and not all devices set the signature
37473 properly.
37474 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37475 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37476 Fix device selection, DEV bit must be set first to address the registers
37477 of the correct device.
37478 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37479 grub_ata_pio_read/write ().
37480 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37481 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37482
4a412913 374832009-01-13 Carles Pina i Estany <carles@pina.cat>
37484
37485 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37486
7795c55e 374872009-01-13 Bean <bean123ch@gmail.com>
d913988c 37488
37489 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37490
7795c55e 374912009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37492
37493 * Makefile.in: (enable_grub_mkfont): New variable.
37494 (freetype_cflags): Likewise.
37495 (freetype_libs): Likewise.
37496
37497 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37498 (grub_mkfont_SOURCES): New variable.
37499 (grub_mkfont_CFLAGS): Likewise.
37500 (grub_mkfont_LDFLAGS): Likewise.
37501
37502 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37503 library if `--enable-grub-mkfont' is requested.
37504 (enable_grub_mkfont): New variable.
37505 (freetype_cflags): Likewise.
37506 (freetype_libs): Likewise.
37507
37508 * util/grub-mkfont.c: New file.
37509
093af1fe 375102009-01-12 Christian Franke <franke@computer.org>
37511
37512 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37513 mode check. Fix setting of compat_use[].
37514
f36cc108 375152009-01-10 Robert Millan <rmh@aybabtu.com>
37516
37517 Update a few copyright years which we forgot to do in 2008 (only for
37518 files whose changes made in 2008 were copyright-significant)
37519
37520 * Makefile.in: Add 2008 to Copyright line.
37521 * disk/ieee1275/ofdisk.c: Likewise.
37522 * disk/efi/efidisk.c: Likewise.
37523 * kern/dl.c: Likewise.
37524 * kern/sparc64/ieee1275/init.c: Likewise.
37525 * kern/mm.c: Likewise.
37526 * kern/efi/mm.c: Likewise.
37527 * boot/i386/pc/boot.S: Likewise.
37528 * genfslist.sh: Likewise.
37529 * fs/iso9660.c: Likewise.
37530 * fs/hfs.c: Likewise.
37531 * fs/jfs.c: Likewise.
37532 * fs/minix.c: Likewise.
37533 * fs/ufs.c: Likewise.
37534 * gensymlist.sh.in: Likewise.
37535 * genkernsyms.sh.in: Likewise.
37536 * include/grub/misc.h: Likewise.
37537 * include/grub/types.h: Likewise.
37538 * include/grub/symbol.h: Likewise.
37539 * include/grub/elf.h: Likewise.
37540 * include/grub/kernel.h: Likewise.
37541 * include/grub/disk.h: Likewise.
37542 * include/grub/dl.h: Likewise.
37543 * include/grub/i386/linux.h: Likewise.
37544 * include/grub/i386/pc/biosdisk.h: Likewise.
37545 * include/grub/efi/api.h: Likewise.
37546 * include/grub/efi/pe32.h: Likewise.
37547 * include/grub/util/misc.h: Likewise.
37548 * normal/execute.c: Likewise.
37549 * normal/arg.c: Likewise.
37550 * normal/completion.c: Likewise.
37551 * normal/lexer.c: Likewise.
37552 * normal/parser.y: Likewise.
37553 * normal/misc.c: Likewise.
37554 * commands/i386/pc/vbeinfo.c: Likewise.
37555 * commands/hexdump.c: Likewise.
37556 * commands/terminal.c: Likewise.
37557 * commands/ls.c: Likewise.
37558 * commands/help.c: Likewise.
37559 * partmap/pc.c: Likewise.
37560 * loader/efi/chainloader.c: Likewise.
37561 * loader/multiboot_loader.c: Likewise.
37562 * loader/i386/pc/multiboot2.c: Likewise.
37563 * term/efi/console.c: Likewise.
37564 * term/i386/pc/serial.c: Likewise.
37565 * util/lvm.c: Likewise.
37566 * util/console.c: Likewise.
37567 * util/i386/efi/grub-mkimage.c: Likewise.
37568 * util/raid.c: Likewise.
37569
7f02114b 375702009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37571
37572 * commands/videotest.c: Removed include to grub/machine/memory.h.
37573
37574 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37575 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37576 (video_mod_SOURCES): Removed.
37577 (video_mod_CFLAGS): Likewise.
37578 (video_mod_LDFLAGS): Likewise.
37579 (gfxterm_mod_SOURCES): Likewise.
37580 (gfxterm_mod_CFLAGS): Likewise.
37581 (gfxterm_mod_LDFLAGS): Likewise.
37582 (videotest_mod_SOURCES): Likewise.
37583 (videotest_mod_CFLAGS): Likewise.
37584 (videotest_mod_LDFLAGS): Likewise.
37585 (bitmap_mod_SOURCES): Likewise.
37586 (bitmap_mod_CFLAGS): Likewise.
37587 (bitmap_mod_LDFLAGS): Likewise.
37588 (tga_mod_SOURCES): Likewise.
37589 (tga_mod_CFLAGS): Likewise.
37590 (tga_mod_LDFLAGS): Likewise.
37591 (jpeg_mod_SOURCES): Likewise.
37592 (jpeg_mod_CFLAGS): Likewise.
37593 (jpeg_mod_LDFLAGS): Likewise.
37594 (png_mod_SOURCES): Likewise.
37595 (png_mod_CFLAGS): Likewise.
37596 (png_mod_LDFLAGS): Likewise.
37597
37598 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37599 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37600 (video_mod_SOURCES): Added.
37601 (video_mod_CFLAGS): Likewise.
37602 (video_mod_LDFLAGS): Likewise.
37603 (videotest_mod_SOURCES): Likewise.
37604 (videotest_mod_CFLAGS): Likewise.
37605 (videotest_mod_LDFLAGS): Likewise.
37606 (bitmap_mod_SOURCES): Likewise.
37607 (bitmap_mod_CFLAGS): Likewise.
37608 (bitmap_mod_LDFLAGS): Likewise.
37609 (tga_mod_SOURCES): Likewise.
37610 (tga_mod_CFLAGS): Likewise.
37611 (tga_mod_LDFLAGS): Likewise.
37612 (jpeg_mod_SOURCES): Likewise.
37613 (jpeg_mod_CFLAGS): Likewise.
37614 (jpeg_mod_LDFLAGS): Likewise.
37615 (png_mod_SOURCES): Likewise.
37616 (png_mod_CFLAGS): Likewise.
37617 (png_mod_LDFLAGS): Likewise.
37618 (gfxterm_mod_SOURCES): Likewise.
37619 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37620 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37621
37622 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37623 grub/machine/console.h.
37624
644fff97 376252009-01-04 Jerone Young <jerone@gmail.com>
37626
37627 Make on screen instructions clearer
37628
37629 Based on patch created by Jidanni <jidanni@jidanni.org>
37630
37631 * normal/menu.c: print clearer instructions on the screen
37632
1e901a75 376332009-01-02 Colin D Bennett <colin@gibibit.com>
37634
37635 New font engine.
34c44600 37636
1e901a75 37637 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37638 build system and fixed gfxterm.c to work with different sized fonts.
37639
37640 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37641
1e901a75 37642 * configure: Re-generated.
34c44600 37643
1e901a75 37644 * DISTLIST: Removed font/manager.c.
37645 Added font/font.c.
37646 Added font/font_cmd.c.
34c44600 37647
1e901a75 37648 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37649 compilation.
34c44600 37650
1e901a75 37651 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37652
37653 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37654
37655 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37656
1e901a75 37657 * normal/menu.c: Likewise.
34c44600 37658
1e901a75 37659 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37660 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37661
1e901a75 37662 * include/grub/font.h: Replaced with new file.
34c44600 37663
1e901a75 37664 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37665 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37666 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37667 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37668 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37669 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37670 fg_red, fg_green, fg_blue, fg_alpha.
37671 (grub_video_adapter): Removed blit_glyph.
34c44600 37672 (grub_video_blit_glyph): Removed.
37673
1e901a75 37674 * font/manager.c: Removed file.
34c44600 37675
37676 * font/font.c: New file.
37677
1e901a75 37678 * font/font_cmd.c: Likewise.
34c44600 37679
1e901a75 37680 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37681
1e901a75 37682 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37683 (grub_video_vbe_map_rgba): Likewise.
37684 (grub_video_vbe_unmap_color_int): Likewise.
37685 (grub_video_vbe_blit_glyph): Removed.
37686 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37687
1e901a75 37688 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37689 (get_pixel): Likewise.
34c44600 37690 (set_pixel): Likewise.
37691
1e901a75 37692 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37693
1e901a75 37694 * term/gfxterm.c: Adapted to new font engine.
34c44600 37695
1e901a75 37696 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37697
1e901a75 37698 * term/i386/pc/vga.c: Likewise.
34c44600 37699
1e901a75 37700 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37701
1e901a75 37702 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37703
1e901a75 37704 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37705
1e901a75 37706 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37707
1e901a75 37708 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37709
1e901a75 37710 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37711
1e901a75 37712 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37713
1e901a75 37714 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37715
1e901a75 37716 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37717
37718 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37719
1e901a75 37720 * util/grub-mkconfig_lib.in: Changed font extension.
37721
278922e8 377222008-12-28 Felix Zielcke <fzielcke@z-51.de>
37723
37724 * util/getroot.c (grub_util_get_grub_dev): Add support for
37725 /dev/md/dNNpNN style partitionable mdraid devices.
37726
3ced05cf 377272008-12-12 Alex Smith <alex@alex-smith.me.uk>
37728
37729 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37730 at a time limit of the PXE TFTP API correctly.
37731 (grub_pxefs_close): Likewise.
37732
7fd0ee30 377332008-11-29 Robert Millan <rmh@aybabtu.com>
37734
34c44600 37735 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37736 grub_ata_device_initialize() calls.
37737
34c44600 377382008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37739
37740 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37741 iteration failed.
37742 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37743
89313780 377442008-11-28 Robert Millan <rmh@aybabtu.com>
37745
37746 Fix build on powerpc-ieee1275. Based on patch created by
37747 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37748 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37749 `kern/ieee1275/mmap.c'.
37750 * include/grub/powerpc/ieee1275/memory.h: New file.
37751
15257703 37752 Provide grub-install on coreboot.
37753 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37754 (grub_install_SOURCES): New variable.
37755 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37756 usable on coreboot.
37757
9fc5388a 377582008-11-25 Felix Zielcke <fzielcke@z-51.de>
37759
37760 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37761 to `grub_term_input_t'.
37762 (grub_term_get_current_output): Change return type to
37763 `grub_term_output_t'.
37764
bc3a2f31 377652008-11-22 Robert Millan <rmh@aybabtu.com>
37766
34c44600 37767 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37768 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37769 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37770 grub_vga_text_cls().
37771
80fc88f2 37772 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37773 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37774
cbf36fd3 37775 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37776 to 0x200000 (avoids trouble with some OFW implementations, and matches
37777 with the one in Yaboot).
37778 Reported by Manoel Abranches
37779
73e8e268 377802008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37781
37782 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37783 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37784
73e8e268 37785 * util/grub-mkconfig_lib.in (grub_warn): New function.
37786 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37787 warnings, to obtain consistent formatting.
37788 * util/grub.d/00_header.in: Likewise.
37789 * util/update-grub_lib.in: Likewise.
37790
e94045a1 37791 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37792 Move comment text to `#error' stanza.
e94045a1 37793
79d29fd7 37794 Harmonize ieee1275's grub_available_iterate() with the generic
37795 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37796 build problem on i386-ieee1275):
37797 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37798 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37799 parameter `type'. Update all users of this function.
37800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37801 `kern/ieee1275/mmap.c'.
37802 * kern/ieee1275/init.c
37803 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37804 with ...
37805 (grub_machine_mmap_iterate): ... this.
37806 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37807 return type to `grub_err_t'. Update all implementations of this
37808 function prototype.
37809 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37810 Likewise.
37811
60d6b16e 37812 Add `lsmmap' command (lists firmware-provided memory map):
37813 * commands/lsmmap.c: New file.
37814 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37815 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37816 variables.
37817 * conf/powerpc-ieee1275.rmk: Likewise.
37818 * conf/i386-coreboot.rmk: Likewise.
37819 * conf/i386-ieee1275.rmk: Likewise.
37820
ebaaf49b 378212008-11-19 Robert Millan <rmh@aybabtu.com>
37822
37823 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37824 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37825 constraints to initrd allocation (based on code from
37826 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37827 for Linux to find it.
ebaaf49b 37828
dfab719f 378292008-11-14 Robert Millan <rmh@aybabtu.com>
37830
37831 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37832 order to cope with duplicate slashes.
37833
10fc3eb9 378342008-11-14 Robert Millan <rmh@aybabtu.com>
37835
37836 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37837 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37838 don't want to mess with lower memory, because it is used in the Linux
37839 loader.
37840
37841 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37842 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37843 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37844 is in our heap (probably as a result of it being corrupted during
2f2a3442 37845 decompression). Add #error instance with comment to explain why this
37846 loader isn't currently usable on PC/BIOS.
10fc3eb9 37847
e2e07847 378482008-11-14 Robert Millan <rmh@aybabtu.com>
37849
37850 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37851 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37852
fe8e8d69 378532008-11-12 Robert Millan <rmh@aybabtu.com>
37854
37855 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37856
37857 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37858 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37859 from here ...
37860 * include/grub/i386/pc/memory.h: ... to here.
37861
976b07d0 378622008-11-12 Robert Millan <rmh@aybabtu.com>
37863
37864 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37865 split).
37866
37867 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37868 (grub_console_cur_color, grub_console_real_putchar)
37869 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37870 (grub_console_setcolorstate, grub_console_setcolor)
37871 (grub_console_getcolor): Move from here ...
37872 * include/grub/i386/vga_common.h: ... to here (new file).
37873
37874 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37875 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37876 `<grub/i386/io.h>'.
37877 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37878 `<grub/i386/vga_common.h>'.
37879
76679cd3 378802008-11-12 Robert Millan <rmh@aybabtu.com>
37881
37882 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37883 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37884 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37885 variables.
37886 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37887 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37888
37889 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37890 grub_console_init() with call to grub_vga_text_init().
37891 (grub_machine_fini): Replace call to
37892 grub_console_fini() with call to grub_vga_text_fini() and
37893 grub_at_keyboard_fini().
37894
37895 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37896 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37897 (grub_console_setcolorstate, grub_console_setcolor)
37898 (grub_console_getcolor): New function prototypes.
37899
37900 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37901 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37902 (grub_vga_text_setcursor): Static-ize.
37903 (grub_vga_text_term): New structure.
37904 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37905
37906 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37907 (grub_console_cur_color, grub_console_standard_color)
37908 (grub_console_normal_color, grub_console_highlight_color)
37909 (map_char, grub_console_putchar, grub_console_getcharwidth)
37910 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37911 (grub_console_getcolor): Move from here ...
37912 * term/i386/vga_common.c: ... to here (same function names).
37913
95b841d3 379142008-11-12 Robert Millan <rmh@aybabtu.com>
37915
37916 Use newly-added Multiboot support in coreboot.
37917
37918 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37919 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37920
37921 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37922 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37923 (codestart): Store the MBI in `startup_multiboot_info' when we're
37924 being loaded using Multiboot.
37925
37926 * kern/i386/coreboot/init.c (grub_machine_init): Move
37927 grub_at_keyboard_init() call to beginning of function (useful for
37928 debugging). Call grub_machine_mmap_init() before attempting to use
37929 grub_machine_mmap_iterate().
37930 (grub_lower_mem, grub_upper_mem): Move from here ...
37931 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37932 here (new file).
37933
37934 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37935 function prototype.
37936
761ca975 379372008-11-12 Robert Millan <rmh@aybabtu.com>
37938
37939 Fix a regression introduced by the at_keyboard.mod split. Because
37940 some terminals are default on some platforms and non-default on
37941 others, the first terminal being registered determines which is
37942 going to be default.
37943
37944 * kern/term.c (grub_term_register_input): If this is the first
37945 terminal being registered, set it as the current one.
37946 (grub_term_register_output): Likewise.
37947
37948 * term/efi/console.c (grub_console_init): Do not call
37949 grub_term_set_current_output() or grub_term_set_current_input().
37950 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37951 * term/i386/pc/console.c (grub_console_init): Likewise.
37952 (grub_console_fini): Do not call grub_term_set_current_input()
37953 (but leave grub_term_set_current_output() to restore text mode).
37954
6c529df7 379552008-11-10 Robert Millan <rmh@aybabtu.com>
37956
37957 * util/grub.d/00_header.in: Add backward compatibility check for
37958 versions of terminal.mod that don't understand `terminal_input' or
37959 `terminal_output'.
37960
132e4113 379612008-11-09 Robert Millan <rmh@aybabtu.com>
37962
37963 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37964 `terminal_input' / `terminal_output', not `terminal'.
37965
ac293d50 379662008-11-08 Robert Millan <rmh@aybabtu.com>
37967
37968 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37969 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37970
0025933a 379712008-11-08 Robert Millan <rmh@aybabtu.com>
37972
37973 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37974 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37975 members. Update all users.
37976 * util/console.c (grub_ncurses_term): Split in ...
37977 (grub_ncurses_term_input): ... this, and ...
37978 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37979 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37980
37c86336 379812008-11-08 Robert Millan <rmh@aybabtu.com>
37982
37983 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37984 (PKGDATA): Add $(pkgdata_SRCDIR).
37985 (pkglib_BUILDDIR): New variable.
37986 (pkgdata_SRCDIR): New variable.
37987 (build_env.mk): New target.
37988 (include_DATA): New variable.
37989 (install-local): Install $(include_DATA) files in $(includedir).
37990
b6c15a2d 379912008-11-07 Pavel Roskin <proski@gnu.org>
37992
d99d46f1 37993 * gendistlist.sh: Use C locale for sorting to ensure consistent
37994 output on all systems.
37995
b6c15a2d 37996 * util/grub.d/00_header.in: Remove incorrect space before
37997 "serial".
37998
c32ee8c9 379992008-11-07 Robert Millan <rmh@aybabtu.com>
38000
38001 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38002 per specification.
38003 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38004 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38005 (based on find_multi_boot1_header).
38006 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38007 using find_multi_boot2_header(), and abort if neither Multiboot or
38008 Multiboot headers were found.
38009
651c29b7 380102008-11-07 Robert Millan <rmh@aybabtu.com>
38011
38012 Modularize at_keyboard.mod:
38013
38014 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38015 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38016 (at_keyboard_mod_LDFLAGS): New variables.
38017
38018 Actual terminal split:
38019
38020 * include/grub/term.h (struct grub_term): Split in ...
38021 (struct grub_term_input): ... this, and ...
38022 (struct grub_term_output): ... this. Update all users.
38023 (grub_term_set_current): Split in ...
38024 (grub_term_set_current_input): ... this, and ...
38025 (grub_term_set_current_output): ... this.
38026 (grub_term_get_current): Split in ...
38027 (grub_term_get_current_input): ... this, and ...
38028 (grub_term_get_current_output): ... this.
38029 (grub_term_register): Split in ...
38030 (grub_term_register_input): ... this, and ...
38031 (grub_term_register_output): ... this.
38032 (grub_term_unregister): Split in ...
38033 (grub_term_unregister_input): ... this, and ...
38034 (grub_term_unregister_output): ... this.
38035 (grub_term_iterate): Split in ...
38036 (grub_term_iterate_input): ... this, and ...
38037 (grub_term_iterate_output): ... this.
38038
38039 * kern/term.c (grub_term_list): Split in ...
38040 (grub_term_list_input): ... this, and ...
38041 (grub_term_list_output): ... this. Update all users.
38042 (grub_cur_term): Split in ...
38043 (grub_cur_term_input): ... this, and ...
38044 (grub_cur_term_output): ... this. Update all users.
38045 (grub_term_set_current): Split in ...
38046 (grub_term_set_current_input): ... this, and ...
38047 (grub_term_set_current_output): ... this.
38048 (grub_term_get_current): Split in ...
38049 (grub_term_get_current_input): ... this, and ...
38050 (grub_term_get_current_output): ... this.
38051 (grub_term_register): Split in ...
38052 (grub_term_register_input): ... this, and ...
38053 (grub_term_register_output): ... this.
38054 (grub_term_unregister): Split in ...
38055 (grub_term_unregister_input): ... this, and ...
38056 (grub_term_unregister_output): ... this.
38057 (grub_term_iterate): Split in ...
38058 (grub_term_iterate_input): ... this, and ...
38059 (grub_term_iterate_output): ... this.
38060
38061 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38062 a check for input and one for output (and only attempt to get keys
38063 from user when input works).
38064
38065 * util/grub-probe.c (grub_term_get_current): Split in ...
38066 (grub_term_get_current_input): ... this, and ...
38067 (grub_term_get_current_output): ... this.
38068 * util/grub-fstest.c: Likewise.
38069 * util/i386/pc/grub-setup.c: Likewise.
38070 * util/grub-editenv.c: Likewise.
38071
38072 Portability adjustments:
38073
38074 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38075 `term/i386/pc/at_keyboard.c'.
38076 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38077 grub_keyboard_controller_init() (now handled by terminal .init).
38078 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38079 grub_at_keyboard_init().
38080 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38081 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38082 at_keyboard.mod via input terminal interface).
38083 * include/grub/i386/coreboot/console.h: Convert into a stub for
38084 `<grub/i386/pc/console.h>'.
38085
38086 Migrate full terminals to new API:
38087
38088 * term/efi/console.c (grub_console_term): Split into ...
38089 (grub_console_term_input): ... this, and ...
38090 (grub_console_term_output): ... this. Update all users.
38091 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38092 (grub_ofconsole_init): Split into ...
38093 (grub_ofconsole_init_input): ... this, and ...
38094 (grub_ofconsole_init_output): ... this.
38095 (grub_ofconsole_term): Split into ...
38096 (grub_ofconsole_term_input): ... this, and ...
38097 (grub_ofconsole_term_output): ... this. Update all users.
38098 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38099 (grub_serial_term_input): ... this, and ...
38100 (grub_serial_term_output): ... this. Update all users.
38101 * term/i386/pc/console.c (grub_console_term): Split into ...
38102 (grub_console_term_input): ... this, and ...
38103 (grub_console_term_output): ... this. Update all users.
38104 (grub_console_term_input): Only enable it on PC/BIOS platform.
38105 (grub_console_init): Remove grub_keyboard_controller_init() call.
38106
38107 Migrate input terminals to new API:
38108
38109 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38110 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38111 i386-specific anyway).
38112 (grub_console_checkkey): Rename to ...
38113 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38114 users.
38115 (grub_keyboard_controller_orig): New variable.
38116 (grub_console_getkey): Rename to ...
38117 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38118 users.
38119 (grub_keyboard_controller_init): Static-ize. Save original
38120 controller value so that it can be restored ...
38121 (grub_keyboard_controller_fini): ... here (new function).
38122 (grub_at_keyboard_term): New structure.
38123 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38124 functions.
38125
38126 Migrate output terminals to new API:
38127
38128 * term/i386/pc/vga.c (grub_vga_term): Change type to
38129 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38130 members. Update all users.
38131 * term/gfxterm.c (grub_video_term): Change type to
38132 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38133 members. Update all users.
38134 * include/grub/i386/pc/console.h (grub_console_checkkey)
38135 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38136 etc).
38137
38138 Migrate `terminal' command and userland tools to new API:
38139
38140 * commands/terminal.c (grub_cmd_terminal): Split into ...
38141 (grub_cmd_terminal_input): ... this, and ...
38142 (grub_cmd_terminal_output): ... this.
38143 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38144 `terminal_input' and `terminal_output'.
38145 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38146 `terminal_input' / `terminal_output' API.
38147 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38148 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38149 provided ${GRUB_TERMINAL}, convert it).
38150
96e5d876 381512008-11-04 Robert Millan <rmh@aybabtu.com>
38152
38153 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38154 for FreeBSD.
38155 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38156
556f3775 381572008-11-03 Bean <bean123ch@gmail.com>
38158
38159 * kern/elf.c (grub_elf32_load): Revert to previous code.
38160 (grub_elf64_load): Likewise.
38161
38162 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38163
926b9823 381642008-11-01 Robert Millan <rmh@aybabtu.com>
38165
38166 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38167 (TARGET_CPPFLAGS): Likewise.
38168 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38169
1432e958 381702008-11-01 Carles Pina i Estany <carles@pina.cat>
38171
38172 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38173
dba3f844 381742008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38175
38176 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38177 addition of objects until the code is not going to be able to fail.
38178
dba3f844 381792008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38180
38181 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38182 (add a missing NULL check, and correct them by moving the pointer
38183 operations after the actual check).
38184
7ab28c21 381852008-10-29 Robert Millan <rmh@aybabtu.com>
38186
38187 * util/i386/pc/grub-install.in: Handle empty string as output from
38188 make_system_path_relative_to_its_root().
38189
1b7748eb 381902008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38191
38192 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38193 circular metadata worst case scenario. If the metadata is circular
38194 then copy the wrap in place.
38195 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38196 project lib/format_text/layout.h
38197 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38198
c9618ab2 381992008-10-03 Felix Zielcke <fzielcke@z-51.de>
38200
7a36edca 38201 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38202
bf981c62 382032008-10-03 Felix Zielcke <fzielcke@z-51.de>
38204
38205 * util/update-grub_lib.in: Mention filename in warning message.
38206
6d994591 382072008-09-29 Felix Zielcke <fzielcke@z-51.de>
38208
38209 * NEWS: Update for rename of update-grub to grub-mkconfig.
38210
18ade780 382112008-09-29 Felix Zielcke <fzielcke@z-51.de>
38212
38213 * util/update-grub_lib.in: Copy to ...
38214 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38215 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38216 * util/update-grub.in: Rename to ...
38217 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38218 option. Add `--output' option to allow users to specify the generated
38219 configuration file. Default to stdout.
38220 (update_grub_dir): Rename to ...
38221 (grub_mkconfig_dir): ... this.
38222 (grub_cfg): Default to an empty string.
38223 * conf/common.rmk (update-grub): Rename to ...
38224 (grub-mkconfig): ... this.
38225 (update-grub_lib): Copy to ...
38226 (grub-mkconfig_lib): ... this.
38227 (update-grub_SCRIPTS): Copy to ...
38228 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38229 (update-grub_DATA): Rename to ...
38230 (grub-mkconfig_DATA): ... this.
38231
556ce6ac 382322008-09-28 Robert Millan <rmh@aybabtu.com>
38233
38234 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38235 to `modified'. Add the real `created' field.
38236 (grub_iso9660_uuid): Use `modified' rather than `created' for
38237 constructing the UUID.
38238
382392008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38240
38241 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38242 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38243
92274e85 382442008-09-28 Bean <bean123ch@gmail.com>
38245
38246 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38247 Thanks to Christian Franke for finding this bug.
38248
add6f17a 382492008-09-25 Robert Millan <rmh@aybabtu.com>
38250
38251 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38252 instances of grub_util_get_disk_name() (see previous commit).
38253
d2a367b8 382542008-09-25 Robert Millan <rmh@aybabtu.com>
38255
38256 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38257 `util/i386/get_disk_name.c'.
38258 * conf/i386-efi.rmk: Likewise.
38259 * conf/x86_64-efi.rmk: Likewise.
38260 * conf/i386-coreboot.rmk: Likewise.
38261 * conf/i386-ieee1275.rmk: Likewise.
38262 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38263 `util/ieee1275/get_disk_name.c'.
38264 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38265 * util/ieee1275/get_disk_name.c: Remove file.
38266 * util/i386/get_disk_name.c: Remove file.
38267 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38268 "hd%d" for device.map entries, rather than using
38269 grub_util_get_disk_name().
38270
81a06771 382712008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38272
38273 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38274 warning.
38275 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38276
5a004279 382772008-09-24 Carles Pina i Estany <carles@pina.cat>
38278
38279 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38280 Changed to 0x5100.
38281 (GRUB_TERM_PPAGE): Changed to 0x4900.
38282
397093d3 382832008-09-24 Robert Millan <rmh@aybabtu.com>
38284
38285 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38286 macros (they were i386-pc specific).
38287 * include/grub/sparc64/ieee1275/console.h: Likewise.
38288 * include/grub/efi/console.h: Likewise.
38289
a91b6c7c 382902008-09-22 Bean <bean123ch@gmail.com>
38291
38292 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38293 resident and in attribute list.
38294
38295 * include/grub/ntfs.h (BMP_LEN): Removed.
38296
c40fd116 382972008-09-22 Bean <bean123ch@gmail.com>
38298
81a06771 38299 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38300 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38301
38302 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38303 error occurs, as grub_disk_open will call grub_disk_close, which will
38304 call p->close (scsi).
38305
81a06771 383062008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38307
38308 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38309 (AC_PREREQ): Bumped to 2.59.
38310 (AC_TRY_COMPILE): Replace obsolete macro with ...
38311 (AC_COMPILE_IFELSE): ... this.
38312 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38313 (AC_LINK_IFELSE): ... this.
38314
5dc43410 383152008-09-21 Felix Zielcke <fzielcke@z-51.de>
38316
38317 * autogen.sh: Add a call to `gendistlist.sh'.
38318
9035dce4 383192008-09-19 Christian Franke <franke@computer.org>
38320
38321 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38322 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38323 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38324 Export __enable_execute_stack() to modules.
38325 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38326 New function.
38327
7fd75377 383282008-09-09 Felix Zielcke <fzielcke@z-51.de>
38329
040030b3 38330 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38331 Sort the list.
38332
383332008-09-09 Felix Zielcke <fzielcke@z-51.de>
38334
38335 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38336 #include <grub/util/hostdisk.h>.
38337
89d5ffcf 383382008-09-08 Robert Millan <rmh@aybabtu.com>
38339
38340 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38341 segments when their filesz is zero (grub_file_read() interprets
81a06771 38342 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38343 Use `lowest_segment' rather than 0 for calculating the current
38344 segment load address.
38345
40da438f 383462008-09-08 Robert Millan <rmh@aybabtu.com>
38347
38348 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38349 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38350 clobbered useful information.
38351
ddbf5556 383522008-09-08 Robert Millan <rmh@aybabtu.com>
38353
38354 * include/grub/util/biosdisk.h: Move to ...
38355 * include/grub/util/hostdisk.h: ... here. Update all users.
38356 * util/biosdisk.c: Move to ...
38357 * util/hostdisk.c: ... here. Update all users.
38358
783d0f48 383592008-09-07 Robert Millan <rmh@aybabtu.com>
38360
38361 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38362 variables.
38363 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38364 and length can be stored directly in the `mbi->mmap_addr' and
38365 `mbi->mmap_length' struct fields.
38366
548e2ea5 383672008-09-07 Robert Millan <rmh@aybabtu.com>
38368
38369 * conf/i386.rmk: New file. Provides declaration for building
38370 `cpuid.mod'.
38371 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38372 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38373 variables.
38374 Include `conf/i386.mk'.
38375 * conf/i386-efi.rmk: Likewise.
38376 * conf/x86_64-efi.rmk: Likewise.
38377 * conf/i386-coreboot.rmk: Likewise.
38378 * conf/i386-ieee1275.rmk: Likewise.
38379
0ea85a37 383802008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38381
38382 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38383 Adds optimization support for BGR based modes.
38384
38385 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38386 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38388 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38389 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38390 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38391 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38393 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38394 (grub_video_i386_vbeblit_index_index): Likewise.
38395 (grub_video_i386_vbeblit_replace_directN): Added.
38396 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38397 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38398 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38399 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38400 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38401 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38402 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38403 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38404 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38405 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38406 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38407 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38408 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38409
38410 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38411 (grub_video_i386_vbefill_R8G8B8): Likewise.
38412 (grub_video_i386_vbefill_index): Likewise.
38413 (grub_video_i386_vbefill_direct32): Added.
38414 (grub_video_i386_vbefill_direct24): Likewise.
38415 (grub_video_i386_vbefill_direct16): Likewise.
38416 (grub_video_i386_vbefill_direct8): Likewise.
38417
81a06771 38418 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38419 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38420 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38421 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38422 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38423 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38424
0ea85a37 38425 * video/video.c (grub_video_get_blit_format): Updated to use new
38426 blit formats. Added handling for 16 bit color modes.
81a06771 38427
38428 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38429 fillers.
38430 (common_blitter): Updated to use new blitters.
38431
38432 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38433 Removed.
38434 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38436 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38437 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38438 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38439 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38440 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38441 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38442 (grub_video_i386_vbeblit_index_index): Likewise.
38443 (grub_video_i386_vbeblit_replace_directN): Added.
38444 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38445 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38446 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38447 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38448 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38449 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38450 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38451 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38452 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38453 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38454 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38455 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38456 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38457
0ea85a37 38458 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38459 (grub_video_i386_vbefill_R8G8B8): Likewise.
38460 (grub_video_i386_vbefill_index): Likewise.
38461 (grub_video_i386_vbefill_direct32): Added.
38462 (grub_video_i386_vbefill_direct24): Likewise.
38463 (grub_video_i386_vbefill_direct16): Likewise.
38464 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38465
0ea85a37 38466 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38467 types.
81a06771 38468
0ea85a37 38469 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38470 types.
81a06771 38471
0ea85a37 38472 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38473 blitter types.
81a06771 38474
0ea85a37 38475 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38476 types.
38477
e8a83df6 384782008-09-06 Felix Zielcke <fzielcke@z-51.de>
38479
38480 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38481 RAID level 1.
38482
6bcd8ee5 384832008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38484
6bcd8ee5 38485 * fs/iso9660.c (grub_iso9660_date): New structure.
38486 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38487 (grub_iso9660_uuid): New function.
c375ae58 38488
59261157 384892008-09-05 Bean <bean123ch@gmail.com>
38490
38491 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38492
38493 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38494 insensitive bit for names in Win32 and Win32 & DOS namespace.
38495
38496 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38497
38498 * include/grub/types.h (LONG_MAX): Likewise.
38499
58b6645a 385002008-09-04 Felix Zielcke <fzielcke@z-51.de>
38501
4ee55921 38502 * util/getroot.c: Include <config.h>.
38503 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38504 add support for /dev/md/N devices and handle LVM double dash escaping.
38505
385062008-09-04 Felix Zielcke <fzielcke@z-51.de>
38507
38508 * config.guess: Update to latest version from config git.
38509 * config.sub: Likewise.
58b6645a 38510
9124f65d 385112008-09-03 Robert Millan <rmh@aybabtu.com>
38512
38513 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38514 `disk->total_sectors'.
38515
81a06771 385162008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38517
38518 * include/grub/normal.h: Fixed incorrect comment for
38519 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38520
81a06771 385212008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38522
38523 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38524 values with defines.
38525
38526 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38527 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38528 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38529 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38530 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38531 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38532 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38533 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38534 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38535 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38536 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38537 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38538 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38539 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38540 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38541 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38542 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38543 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38544 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38545
93d5cbf8 385462008-08-31 Robert Millan <rmh@aybabtu.com>
38547
38548 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38549 declaration.
38550 (grub_multiboot): Fix a few warnings.
38551
21751d50 385522008-08-31 Robert Millan <rmh@aybabtu.com>
38553
38554 * loader/i386/pc/multiboot.c: Update comment not to say that
38555 boot_device support is unimplemented.
38556
e27a75c5 385572008-08-31 Robert Millan <rmh@aybabtu.com>
38558
38559 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38560 or memory map support are unimplemented.
38561
81a06771 385622008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38563
38564 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38565
81a06771 385662008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38567
38568 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38569 total video memory in 'vbeinfo' output; show color format details for
38570 each video mode.
38571
7c5d8d95 385722008-08-30 Pavel Roskin <proski@gnu.org>
38573
38574 * util/genmoddep.c: Remove for real this time.
38575 * DISTLIST: Remove util/genmoddep.c.
38576
4cebd25a 385772008-08-30 Robert Millan <rmh@aybabtu.com>
38578
38579 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38580 as required by Multiboot spec (it was already 4-byte aligned, but
38581 only by chance).
38582
b497a269 385832008-08-29 Pavel Roskin <proski@gnu.org>
38584
e3925185 38585 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38586 * kern/powerpc/ieee1275/startup.S: ... this.
38587 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38588 * DISTLIST: Likewise.
38589
b497a269 38590 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38591 grub/cpu/kernel.h. Add start label for consistency with other
38592 platforms. Add grub_prefix immediately after start. Add jump
38593 to the code after grub_prefix.
38594 * include/grub/powerpc/kernel.h: Provide valid values for
38595 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38596
6e5a42fe 385972008-08-29 Bean <bean123ch@gmail.com>
38598
38599 * configure.ac: Change host_os to cygwin for mingw.
38600 (asprintf): New check for function.
38601
38602 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38603 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38604
38605 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38606 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38607 sync, sleep and grub_util_get_disk_size for mingw.
38608
38609 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38610 to get size in mingw.
38611 (open_device): Use flag O_BINARY if it's defined.
38612 (find_root_device): Add dummy code for mingw.
38613
38614 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38615 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38616 (get_scsi_disk_name): Return 0 for mingw.
38617
38618 * util/hostfs.c: #include <grub/util/misc.h>.
38619 (grub_hostfs_open): Use "rb" flag to open file, use
38620 grub_util_get_disk_size to get disk size for mingw.
38621
38622 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38623 (asprintf): New function if HAVE_ASPRINTF is not set.
38624 (sync): New function for mingw.
38625 (sleep): Likewise.
38626 (grub_util_get_disk_size): Likewise.
38627
ab3f2673 386282008-08-28 Pavel Roskin <proski@gnu.org>
38629
38630 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38631 kern/time.c.
38632
1c282483 386332008-08-28 Robert Millan <rmh@aybabtu.com>
38634
38635 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38636
678e849c 386372008-08-28 Robert Millan <rmh@aybabtu.com>
38638
38639 Change find_grub_drive() syntax so it doesn't prevent it from
38640 detecting NULL names as errors.
38641
38642 * util/biosdisk.c (find_grub_drive): Move free slot search code
38643 from here ...
38644 (find_free_slot): ... to here.
38645 (read_device_map): Use find_free_slot() to search for free slots.
38646
965c75ca 386472008-08-27 Marco Gerards <marco@gnu.org>
38648
38649 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38650 (scsi_mod_SOURCES): New variable.
38651 (scsi_mod_CFLAGS): Likewise
38652 (scsi_mod_LDFLAGS): Likewise.
38653
38654 * disk/scsi.c: New file.
38655
38656 * include/grub/scsi.h: Likewise.
38657
38658 * include/grub/scsicmd.h: Likewise.
38659
38660 * disk/ata.c: Include <grub/scsi.h>.
38661 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38662 instead.
38663 (grub_ata_iterate): Skip ATAPI devices.
38664 (grub_ata_open): Only handle ATAPI devices.
38665 (struct grub_atapi_read): Removed.
38666 (grub_atapi_readsector): Likewise.
38667 (grub_ata_read): No longer handle ATAPI devices.
38668 (grub_ata_write): Likewise.
38669 (grub_atapi_iterate): New function.
38670 (grub_atapi_read): Likewise.
38671 (grub_atapi_write): Likewise.
38672 (grub_atapi_open): Likewise.
38673 (grub_atapi_close): Likewise.
38674 (grub_atapi_dev): New variable.
38675 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38676 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38677
38678 * include/grub/disk.h (enum grub_disk_dev_id): Add
38679 `GRUB_DISK_DEVICE_SCSI_ID'.
38680
c07ae501 386812008-08-26 Robert Millan <rmh@aybabtu.com>
38682
38683 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38684 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38685 descriptive.
38686
5ed20adc 386872008-08-23 Bean <bean123ch@gmail.com>
38688
38689 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38690 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38691 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38692 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38693 dm_nv.mod.
38694 (raid5rec_mod_SOURCES): New macro.
38695 (raid5rec_mod_CFLAGS): Likewise.
38696 (raid5rec_mod_LDFLAGS): Likewise.
38697 (raid6rec_mod_SOURCES): Likewise.
38698 (raid6rec_mod_CFLAGS): Likewise.
38699 (raid6rec_mod_LDFLAGS): Likewise.
38700 (mdraid_mod_SOURCES): Likewise.
38701 (mdraid_mod_CFLAGS): Likewise.
38702 (mdraid_mod_LDFLAGS): Likewise.
38703 (dm_nv_mod_SOURCES): Likewise.
38704 (dm_nv_mod_CFLAGS): Likewise.
38705 (dm_nv_mod_LDFLAGS): Likewise.
38706
38707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38708 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38709 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38710
38711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38712 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38713
38714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38715
38716 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38717
38718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38719
38720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38721
38722 * disk/raid5_recover.c: New file.
38723
38724 * disk/raid6_recover.c: Likewise.
38725
38726 * disk/mdraid_linux.c: Likewise.
38727
38728 * disk/dmraid_nvidia.c: Likewise.
38729
38730 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38731 ULONG_MAX.
38732
38733 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38734 calculate the size of raid device.
38735 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38736 different layout of raid5.
38737 (grub_raid_scan_device): Remove code specific to mdraid.
38738 (grub_raid_list): New variable.
38739 (free_array): New function.
38740 (grub_raid_register): Likewise.
38741 (grub_raid_unregister): Likewise.
38742 (grub_raid_rescan): Likewise.
38743 (GRUB_MOD_INIT): Don't iterate device here.
38744 (GRUB_MOD_FINI): Use free_array to release resource.
38745
38746 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38747 (grub_raid5_recover_func_t): New function variable type.
38748 (grub_raid6_recover_func_t): Likewise.
38749 (grub_raid5_recover_func): New variable.
38750 (grub_raid6_recover_func): Likewise.
38751 (grub_raid_register): New function.
38752 (grub_raid_unregister): Likewise.
38753 (grub_raid_rescan): Likewise.
38754 (grub_raid_block_xor): Likewise.
38755
38756 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38757 (CMD_CRC): New macro.
38758 (part): Removed.
38759 (read_file): Handle device as well as file.
38760 (cmd_crc): New function.
38761 (fstest): Handle multiple disks.
38762 (options): Remove part, raw and long, add root and diskcount.
38763 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38764 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38765 add handling for the new options, support multiple disks.
38766
38767 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38768
29c18915 387692008-08-23 Bean <bean123ch@gmail.com>
38770
38771 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38772
38773 * genfslist.sh: Ignore kernel.mod.
38774
38775 * genpartmaplist.sh: Likewise.
38776
8415f261 387772008-08-23 Robert Millan <rmh@aybabtu.com>
38778
38779 * util/getroot.c (find_root_device): Skip anything that starts with
38780 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38781
d5a7dc5b 387822008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38783
d5a7dc5b 38784 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38785 * util/grub.d/00_header.in: Allow the administrator to change default
38786 gfxmode via ${GRUB_GFXMODE}.
38787
380cfbb4 387882008-08-21 Felix Zielcke <fzielcke@z-51.de>
38789
38790 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38791
c9baafe7 387922008-08-21 Robert Millan <rmh@aybabtu.com>
38793
38794 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38795 loader.
38796 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38797 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38798
e290bef2 387992008-08-20 Carles Pina i Estany <carles@pina.cat>
38800
38801 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38802 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38803
f9dbfc96 388042008-08-19 Robert Millan <rmh@aybabtu.com>
38805
38806 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38807 (struct grub_virtual_screen): Remove `cursor_color'.
38808 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38809 initialization.
38810 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38811
dd6bd6ab 388122008-08-18 Robert Millan <rmh@aybabtu.com>
38813
38814 Unify (identical) linux_normal.c files.
38815 * loader/i386/efi/linux_normal.c: Move from here ...
38816 * loader/linux_normal.c: ... to here. Update all users.
38817 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38818 * loader/i386/ieee1275/linux_normal.c: Likewise.
38819
7f42f83e 388202008-08-18 Robert Millan <rmh@aybabtu.com>
38821
38822 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38823 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38824 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38825 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38826 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38827 New macros.
38828 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38829 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38830 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38831 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38832 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38833 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38834 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38835 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38836 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38837 portably using grub_getxy().
38838 Replace `-EFI' with `-bzImage' in boot message.
38839
38487ddb 388402008-08-17 Robert Millan <rmh@aybabtu.com>
38841
38842 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38843
deceb3ec 388442008-08-17 Robert Millan <rmh@aybabtu.com>
38845
38846 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38847
38848 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38849 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38850 (grub_machine_mmap_iterate): New function declaration.
38851 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38852 structure.
38853 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38854 macros.
38855
38856 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38857 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38858 Move e820 parsing from here ...
38859 * kern/i386/pc/mmap.c: New file.
38860 (grub_machine_mmap_iterate): ... to here.
38861
38862 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38863 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38864 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38865 (grub_available_iterate): Redeclare to return `void', and redeclare
38866 its hook to use grub_uint64_t as addr and size parameters, and rename
38867 to ...
38868 (grub_machine_mmap_iterate): ... this. Update all users.
38869
38870 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38871 to make it more readable. Rename to ...
38872 (grub_machine_mmap_iterate): ... this.
38873
38874 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38875 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38876 (grub_multiboot): Allocate an extra region after the payload, and fill
38877 it with a Multiboot memory map. Adjust a.out loader to calculate size
38878 with the extra space.
38879 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38880 with the extra space.
38881
f8aa0f43 388822008-08-17 Carles Pina i Estany <carles@pina.cat>
38883
9807deb9 38884 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38885
605f5bb6 388862008-08-17 Felix Zielcke <fzielcke@z-51.de>
38887
38888 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38889 mdate-sh to the list `find' searches for.
38890 * DISTLIST: Regenerated.
38891
210db6c6 388922008-08-16 Felix Zielcke <fzielcke@z-51.de>
38893
38894 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38895 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38896 genmoddep.awk, gensymlist.sh.in.
38897 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38898 * DISTLIST: Regenerated.
48cdbfd4 38899 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38900
1082b929 389012008-08-16 Robert Millan <rmh@aybabtu.com>
38902
38903 * disk/raid.c (grub_raid_init): Handle/report errors set by
38904 grub_device_iterate().
38905 * disk/lvm.c (grub_lvm_init): Likewise.
38906
42ce5170 389072008-08-15 Bean <bean123ch@gmail.com>
38908
38909 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38910 and datehook.mod.
38911 (datetime_mod_SOURCES): New macro.
38912 (datetime_mod_CFLAGS): Likewise.
38913 (datetime_mod_LDFLAGS): Likewise.
38914 (date_mod_SOURCES): Likewise.
38915 (date_mod_CFLAGS): Likewise.
38916 (date_mod_LDFLAGS): Likewise.
38917 (datehook_mod_SOURCES): Likewise.
38918 (datehook_mod_CFLAGS): Likewise.
38919 (datehook_mod_LDFLAGS): Likewise.
38920
38921 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38922 and datehook.mod.
38923 (datetime_mod_SOURCES): New macro.
38924 (datetime_mod_CFLAGS): Likewise.
38925 (datetime_mod_LDFLAGS): Likewise.
38926 (date_mod_SOURCES): Likewise.
38927 (date_mod_CFLAGS): Likewise.
38928 (date_mod_LDFLAGS): Likewise.
38929 (datehook_mod_SOURCES): Likewise.
38930 (datehook_mod_CFLAGS): Likewise.
38931 (datehook_mod_LDFLAGS): Likewise.
38932
38933 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38934 and datehook.mod.
38935 (datetime_mod_SOURCES): New macro.
38936 (datetime_mod_CFLAGS): Likewise.
38937 (datetime_mod_LDFLAGS): Likewise.
38938 (date_mod_SOURCES): Likewise.
38939 (date_mod_CFLAGS): Likewise.
38940 (date_mod_LDFLAGS): Likewise.
38941 (datehook_mod_SOURCES): Likewise.
38942 (datehook_mod_CFLAGS): Likewise.
38943 (datehook_mod_LDFLAGS): Likewise.
38944
38945 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38946 and datehook.mod.
38947 (datetime_mod_SOURCES): New macro.
38948 (datetime_mod_CFLAGS): Likewise.
38949 (datetime_mod_LDFLAGS): Likewise.
38950 (date_mod_SOURCES): Likewise.
38951 (date_mod_CFLAGS): Likewise.
38952 (date_mod_LDFLAGS): Likewise.
38953 (datehook_mod_SOURCES): Likewise.
38954 (datehook_mod_CFLAGS): Likewise.
38955 (datehook_mod_LDFLAGS): Likewise.
38956
38957 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38958 and datehook.mod.
38959 (datetime_mod_SOURCES): New macro.
38960 (datetime_mod_CFLAGS): Likewise.
38961 (datetime_mod_LDFLAGS): Likewise.
38962 (date_mod_SOURCES): Likewise.
38963 (date_mod_CFLAGS): Likewise.
38964 (date_mod_LDFLAGS): Likewise.
38965 (datehook_mod_SOURCES): Likewise.
38966 (datehook_mod_CFLAGS): Likewise.
38967 (datehook_mod_LDFLAGS): Likewise.
38968
38969 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38970
38971 * commands/date.c: New file.
38972
38973 * hook/datehook.c: Likewise.
38974
38975 * include/grub/lib/datetime.h: Likewise.
38976
38977 * include/grub/i386/cmos.h: Likewise.
38978
38979 * lib/datetime.c: Likewise.
38980
38981 * lib/i386/datetime.c: Likewise.
38982
38983 * lib/efi/datetime.c: Likewise.
38984
0e9242da 389852008-08-14 Robert Millan <rmh@aybabtu.com>
38986
38987 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38988 (grub_mkelfimage_SOURCES): New variable.
38989 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38990
38991 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38992 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38993 * conf/powerpc-ieee1275.rmk: Likewise.
38994 * conf/i386-ieee1275.rmk: Likewise.
38995
38996 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38997 * kern/i386/coreboot/init.c: Likewise.
38998
38999 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39000 with `<grub/cpu/kernel.h>'.
39001 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39002 to ...
39003 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39004 * kern/i386/coreboot/startup.S: Likewise.
39005
39006 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39007 (GRUB_MOD_GAP): Remove.
39008 * include/grub/powerpc/kernel.h: New file.
39009 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39010 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39011 * include/grub/i386/kernel.h: New file.
39012 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39013 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39014 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39015
39016 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39017 `grub-mkelfimage'.
39018 Use --directory when invoking grub_mkimage.
39019
39020 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39021 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39022 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39023 and GRUB_KERNEL_CPU_PREFIX.
39024
b86408f8 390252008-08-14 Felix Zielcke <fzielcke@z-51.de>
39026
d5e619ca 39027 * include/grub/err.h (grub_err_printf): New function prototype.
39028 * util/misc.c (grub_err_printf): New function.
39029 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39030 grub_printf.
39031 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39032
7161f0e0 390332008-08-13 Robert Millan <rmh@aybabtu.com>
39034
39035 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39036
a1967522 390372008-08-13 Robert Millan <rmh@aybabtu.com>
39038
39039 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39040 boot entry.
39041
371458b5 390422008-08-12 Robert Millan <rmh@aybabtu.com>
39043
39044 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39045 of the relocation code from here ...
39046 (grub_multiboot): ... to here.
39047 (forward_relocator, backward_relocator): Move from here ...
39048 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39049 (grub_multiboot_backward_relocator): ... to here.
39050 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39051 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39052 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39053 (grub_multiboot_forward_relocator_end)
39054 (grub_multiboot_backward_relocator)
39055 (grub_multiboot_backward_relocator_end): New variables.
39056
05f9452b 390572008-08-12 Bean <bean123ch@gmail.com>
39058
39059 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39060
20024ab0 390612008-08-11 Robert Millan <rmh@aybabtu.com>
39062
39063 * kern/i386/linuxbios/startup.S: Move from here ...
39064 * kern/i386/coreboot/startup.S: ... to here.
39065
39066 * kern/i386/linuxbios/init.c: Move from here ...
39067 * kern/i386/coreboot/init.c: ... to here.
39068
39069 * kern/i386/linuxbios/table.c: Move from here ...
39070 * kern/i386/coreboot/mmap.c: ... to here.
39071
39072 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39073
e352e9cd 390742008-08-11 Robert Millan <rmh@aybabtu.com>
39075
39076 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39077 errors. Leave it to the upper layer to handle them.
39078
2d05bc6a 390792008-08-09 Christian Franke <franke@computer.org>
39080
39081 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39082 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39083 Install `grub.d/10_windows' only on Cygwin.
39084 * configure.ac: Add subst of `target_os'.
39085 Check `target_os' also before setting TARGET_OBJ2ELF.
39086 Add `--enable-grub-pe2elf'.
39087
042bd419 390882008-08-08 Robert Millan <rmh@aybabtu.com>
39089
39090 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39091 (grub_last_time): Change type to grub_uint64_t.
39092 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39093 (grub_disk_close): Likewise.
39094
39095 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39096 (run_menu): Migrate code from to using grub_get_time_ms().
39097
39098 * util/misc.c (grub_get_time_ms): New function.
39099
7f280db5 391002008-08-08 Marco Gerards <marco@gnu.org>
39101
39102 * disk/ata.c (grub_ata_regget): Change return type to
39103 `grub_uint8_t'.
39104 (grub_ata_regget2): Likewise.
39105 (grub_ata_wait_status): New function.
39106 (grub_ata_wait_busy): Removed function, updated all users to use
39107 `grub_ata_wait_status'.
39108 (grub_ata_wait_drq): Likewise.
39109 (grub_ata_cmd): New function.
39110 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39111 error handling.
39112 (grub_ata_pio_write): Add error handling.
39113 (grub_atapi_identify): Likewise.
39114 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39115 handling.
39116 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39117 handling. Actually use the detected registers. Reorder the
39118 detection logic such that it is easier to read.
39119 (grub_ata_pciinit): Do not assign the same ID to each controller.
39120 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39121 handling.
39122 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39123
39124 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39125
1fbc5e66 391262008-08-08 Marco Gerards <marco@gnu.org>
39127
39128 * NEWS: Update.
39129
819ce6c0 391302008-08-07 Bean <bean123ch@gmail.com>
39131
39132 * include/grub/x86_64/pci.h: New file.
39133
5c41d44d 391342008-08-07 Christian Franke <franke@computer.org>
39135
39136 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39137 (TIMER2_GATE): Likewise.
39138 (grub_pit_wait): Add enable/disable of the timer2 gate
39139 bit of port 0x61. This fixes a possible infinite loop.
39140
5ebc275d 391412008-08-07 Bean <bean123ch@gmail.com>
39142
39143 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39144 kern/i386/tsc.c and kern/i386/pit.c.
39145
39146 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39147 x86_64 platform.
39148
39149 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39150 <grub/i386/tsc.h>.
39151
39152 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39153
e383b3d0 391542008-08-07 Bean <bean123ch@gmail.com>
39155
39156 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39157
39158 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39159
39160 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39161 multiple inclusion. Add #include <grub/types.h>.
39162
1cbb58ac 391632008-08-06 Christian Franke <franke@computer.org>
39164
39165 * conf/common.rmk: Build and install `10_windows'.
39166 * util/grub.d/10_windows.in: New script.
39167
337f5a1e 391682008-08-06 Pavel Roskin <proski@gnu.org>
39169
39170 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39171
057bc4ac 391722008-08-06 Robert Millan <rmh@aybabtu.com>
39173
39174 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39175 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39176
2b99f123 391772008-08-06 Bean <bean123ch@gmail.com>
39178
39179 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39180 (grub_pxefs_fs_int): Remove dummy definition.
39181 (grub_pxefs_open): Use data->block_size to store the current block
39182 size setting.
39183 (grub_pxefs_read): Use block size stored in data->block_size. As the
39184 value of grub_pxe_blksize can be changed after the file is opened.
39185
9f0234cb 391862008-08-06 Bean <bean123ch@gmail.com>
39187
39188 * fs/i386/pc/pxe.c (curr_file): new variable.
39189 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39190 require the dummy internal file system anymore.
39191 (grub_pxefs_read): Removed.
39192 (grub_pxefs_close): Likewise.
39193 (grub_pxefs_fs_int): Likewise.
39194 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39195 connection when we switch file.
39196 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39197
a55d42e0 391982008-08-06 Robert Millan <rmh@aybabtu.com>
39199
39200 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39201 `halt.mod'.
39202 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39203 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39204
39205 * kern/i386/halt.c: New file.
39206 * kern/i386/reboot.c: Likewise.
39207 * include/grub/i386/reboot.h: Likewise.
39208 * include/grub/i386/halt.h: Likewise.
39209
39210 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39211 Include `<grub/cpu/halt.h>'.
39212 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39213 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39214
39215 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39216 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39217 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39218 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39219 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39220 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39221 from here ...
39222 * include/grub/i386/at_keyboard.h: ... to here.
39223
24371d26 392242008-08-05 Robert Millan <rmh@aybabtu.com>
39225
39226 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39227 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39229 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39230 `kern/generic/millisleep.c'.
39231
39232 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39233 instead of grub_get_rtc().
39234 (grub_tsc_init): Initialize `tsc_boot_time'.
39235
39236 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39237 (grub_machine_init): Use grub_tsc_init() rather than
39238 installing an RTC-based handler via grub_install_get_time_ms().
39239
39240 * kern/i386/pit.c: New file.
39241 * include/grub/i386/pit.h: Likewise.
39242
9e7007b3 392432008-08-05 Bean <bean123ch@gmail.com>
39244
39245 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39246
39247 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39248 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39249 (pxe_mod_SOURCES): New macro.
39250 (pxe_mod_CFLAGS): Likewise.
39251 (pxe_mod_LDFLAGS): Likewise.
39252 (pxecmd_mod_SOURCES): Likewise.
39253 (pxecmd_mod_CFLAGS): Likewise.
39254 (pxecmd_mod_LDFLAGS): Likewise.
39255
39256 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39257 (grub_pxe_call): Likewise.
39258
39259 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39260
39261 * commands/i386/pc/pxecmd.c: New file.
39262
9f0234cb 39263 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39264
39265 * include/grub/i386/pc/pxe.h: Likewise.
39266
6977d49f 392672008-08-05 Bean <bean123ch@gmail.com>
39268
39269 * util/console.c (grub_console_cur_color): New variable.
39270 (grub_console_standard_color): Likewise.
39271 (grub_console_normal_color): Likewise.
39272 (grub_console_highlight_color): Likewise.
39273 (color_map): Likewise.
39274 (use_color): Likewise.
39275 (NUM_COLORS): New macro.
39276 (grub_ncurses_setcolorstate): Handle color properly.
39277 (grub_ncurses_setcolor): Don't change color here, just remember the
39278 settings, color will be set in grub_ncurses_setcolorstate.
39279 (grub_ncurses_getcolor): New function.
39280 (grub_ncurses_init): Initialize color pairs.
39281 (grub_ncurses_term): New member grub_ncurses_getcolor.
39282
9c2ff3ee 392832008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39284
9c2ff3ee 39285 High resolution timer support. Implemented for x86 CPUs using TSC.
39286 Extracted generic grub_millisleep() so it's linked in only as needed.
39287 This requires a Pentium compatible CPU; if the RDTSC instruction is
39288 not supported, then it falls back on the generic grub_get_time_ms()
39289 implementation that uses the machine's RTC.
39290
39291 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39292 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39293 `kern/generic/millisleep.c'.
39294
39295 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39296 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39297
39298 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39299 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39300
39301 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39302
39303 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39304 `kern/generic/millisleep.c'.
39305
39306 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39307
39308 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39309
39310 * kern/generic/rtc_get_time_ms.c: New file.
39311
39312 * kern/generic/millisleep.c: New file.
337f5a1e 39313
9c2ff3ee 39314 * kern/misc.c: Don't include
39315 <kern/time.h> anymore.
39316 (grub_millisleep_generic): Removed.
39317
39318 * commands/sleep.c (grub_interruptible_millisleep): Uses
39319 grub_get_time_ms() instead of grub_get_rtc().
39320
39321 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39322 function.
39323 (grub_cpu_is_cpuid_supported): New inline function.
39324 (grub_cpu_is_tsc_supported): New inline function.
39325 (grub_tsc_init): New function prototype.
39326 (grub_tsc_get_time_ms): New function prototype.
39327
39328 * kern/i386/tsc.c (grub_get_time_ms): New file.
39329
39330 * include/grub/time.h: Include <grub/types.h.
39331 (grub_millisleep_generic): Removed.
39332 (grub_get_time_ms): New prototype.
39333 (grub_install_get_time_ms): New prototype.
39334 (grub_rtc_get_time_ms): New prototype.
39335
39336 * kern/time.c (grub_get_time_ms): New function.
39337 (grub_install_get_time_ms): New function.
39338
39339 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39340 <grub/time.h> anymore.
39341 (grub_millisleep): Removed.
39342 (grub_machine_init): Call grub_tsc_init.
39343
39344 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39345 get_time_ms() implementation.
39346
39347 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39348 (ieee1275_get_time_ms): New function.
39349 (grub_machine_init): Install get_time_ms() implementation.
39350
39351 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39352 (grub_machine_init): Call grub_tsc_init().
39353 (grub_millisleep): Removed.
bf06a93f 39354
9c2ff3ee 39355 * kern/ieee1275/init.c (grub_millisleep): Removed.
39356 (grub_machine_init): Install ieee1275_get_time_ms()
39357 implementation.
39358 (ieee1275_get_time_ms): New function.
39359 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39360 real work.
39361
9ec92aaf 393622008-08-05 Marco Gerards <marco@gnu.org>
39363
39364 * disk/ata.c: Include <grub/pci.h>.
39365 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39366 (grub_ata_initialize): Rewritten.
39367 (grub_ata_device_initialize): New function.
39368
8d23f507 393692008-08-04 Pavel Roskin <proski@gnu.org>
39370
39371 * kern/main.c: Include grub/mm.h.
39372
5e15ee3d 393732008-08-04 Robert Millan <rmh@aybabtu.com>
39374
39375 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39376 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39377 corruption problem).
39378
a9053f8f 393792008-08-04 Robert Millan <rmh@aybabtu.com>
39380
39381 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39382 warnings introduced in my last commit.
39383
dd19c7d7 393842008-08-03 Robert Millan <rmh@aybabtu.com>
39385
39386 Make PCI available on all i386 architectures.
39387
39388 * include/grub/i386/pc/pci.h: Move from here ...
39389 * include/grub/i386/pci.h: ... to here.
39390
39391 * include/grub/i386/pc/pci.h: Remove.
39392 * include/grub/i386/efi/pci.h: Remove.
39393 * include/grub/x86_64/efi/pci.h: Remove.
39394
39395 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39396 `<grub/cpu/pci.h>'.
39397
39398 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39399 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39400 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39401
39402 * conf/i386-ieee1275.rmk: Likewise.
39403
e14a6184 394042008-08-03 Robert Millan <rmh@aybabtu.com>
39405
39406 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39407 (grub_console_setcursor): Make it possible to set cursor off.
39408
52768e37 394092008-08-03 Robert Millan <rmh@aybabtu.com>
39410
39411 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39412 of modules instead of assuming which platform provides what.
39413 * util/update-grub.in: Likewise.
39414
2d52f57f 394152008-08-03 Robert Millan <rmh@aybabtu.com>
39416
39417 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39418 instead of `grub_install_dos_part' to determine whether a drive needs
39419 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39420 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39421
2a5cd121 394222008-08-02 Robert Millan <rmh@aybabtu.com>
39423
39424 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39425
93808428 394262008-08-02 Robert Millan <rmh@aybabtu.com>
39427
39428 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39429 of informational grub_dprintf() calls.
39430
3bd0a12a 394312008-08-02 Robert Millan <rmh@aybabtu.com>
39432
39433 * disk/memdisk.c (memdisk_size): Don't initialize.
39434 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39435
39436 * include/grub/i386/pc/kernel.h
39437 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39438 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39439 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39440 (grub_arch_memdisk_size): Remove.
39441
39442 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39443 field (was only used to transfer a constant). Add `type' field to
39444 support multiple module types.
39445 (grub_module_iterate): New function.
39446
39447 * kern/device.c (grub_device_open): Do not hide error messages
39448 when grub_disk_open() fails. Use grub_print_error() instead.
39449
39450 * kern/i386/pc/init.c (grub_arch_modules_addr)
39451 (grub_arch_memdisk_size): Remove functions.
39452 (grub_arch_modules_addr): Return the module address in high memory
39453 (now that it isn't copied anymore).
39454
39455 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39456 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39457 decompression routine (grub_total_module_size already includes that
39458 now). Don't copy modules back to low memory.
39459
39460 * kern/main.c: Include `<grub/mm.h>'.
39461 (grub_load_modules): Split out (and use) ...
39462 (grub_module_iterate): ... this function, which iterates through
39463 module objects and runs a hook.
39464 Comment out grub_mm_init_region() call, as it would cause non-ELF
39465 modules to be overwritten.
39466
39467 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39468 the memdisk image in its own region, make it part of the module list.
39469 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39470 (main): Parse --memdisk|-m option, and pass user-provided path as
39471 parameter to generate_image().
39472 (add_segments): Pass `memdisk_path' down to load_modules().
39473 (load_modules): Embed memdisk image in module section when requested.
39474 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39475 `header.type' instead of `header.offset'.
39476
39477 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39478 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39479 (memdisk_mod_LDFLAGS): New variables.
39480 * conf/i386-coreboot.rmk: Likewise.
39481 * conf/i386-ieee1275.rmk: Likewise.
39482
a927cc73 394832008-08-02 Robert Millan <rmh@aybabtu.com>
39484
39485 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39486 (backward_relocator): New variables. Used to allocate and relocate
39487 the payload, respectively.
39488 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39489 address, install the appropriate relocator code in each bound of
a927cc73 39490 the payload, and set the entry point such that
39491 grub_multiboot_real_boot() will jump to one of them.
39492
39493 * kern/i386/loader.S (grub_multiboot_payload_size)
39494 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39495 (grub_multiboot_payload_entry_offset): New variables.
39496 (grub_multiboot_real_boot): Set cpu context to what the relocator
39497 expects, and jump to the relocator instead of the payload.
39498
39499 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39500 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39501 (grub_multiboot_payload_entry_offset): Export.
39502
b15d8a0c 395032008-08-01 Bean <bean123ch@gmail.com>
39504
39505 * normal/menu_entry.c (editor_getline): Don't return the original
39506 string as result, as it will be released by lexer once it has done
39507 using it.
39508
cdfb3d22 395092008-08-01 Robert Millan <rmh@aybabtu.com>
39510
39511 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39512 within menuentries, not before them.
39513 util/grub.d/10_hurd.in: Likewise.
39514
9175e93d 395152008-08-01 Bean <bean123ch@gmail.com>
39516
39517 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39518 (bufio_mod_SOURCES): New macro.
39519 (bufio_mod_CFLAGS): Likewise.
39520 (bufio_mod_LDFLAGS): Likewise.
39521
39522 * include/grub/bufio.h: New file.
39523
39524 * io/bufio.c: Likewise.
39525
39526 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39527 (grub_video_reader_png): Use grub_buffile_open to open file.
39528
39529 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39530 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39531
39532 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39533 (grub_video_reader_tga): Use grub_buffile_open to open file.
39534
39535 * font/manager.c: Include <grub/bufio.h>.
39536 (add_font): Use grub_buffile_open to open file.
39537
3d8383e7 395382008-07-31 Robert Millan <rmh@aybabtu.com>
39539
39540 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39541 ELF segments, use a macro for arbitrarily accessing any of them instead
39542 of preparing a pointer that allows access to one at a time.
39543 (grub_multiboot_load_elf64): Likewise.
39544
16e641b6 395452008-07-31 Bean <bean123ch@gmail.com>
39546
39547 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39548 GRUB_KERNEL_MACHINE_DATA_END.
39549
59198b72 395502008-07-30 Robert Millan <rmh@aybabtu.com>
39551
39552 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39553 Increase from 0x50 to 0x60.
39554 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39555 use UUIDs to identify the root drive for them. If that's not
39556 possible, abort.
39557 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39558 check, for cross-disk installs.
39559
ae88bca3 395602008-07-30 Robert Millan <rmh@aybabtu.com>
39561
39562 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39563 is non-empty, use it to set the `prefix' environment variable instead
39564 of the usual approach.
39565 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39566 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39567 environment variable instead of dummy make_install_device().
39568
39569 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39570 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39571 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39572
39573 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39574 New variable reference.
39575 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39576 New macro. Defines offset of `grub_prefix' within startup.S (relative
39577 to `start').
39578 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39579 section within startup.S (relative to `start').
39580 * include/grub/i386/coreboot/kernel.h: Likewise.
39581
39582 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39583 Overwrite grub_prefix with its contents, at the beginning of the
39584 first segment.
39585 (main): Understand -p|--prefix.
39586
14f41dd1 395872008-07-30 Robert Millan <rmh@aybabtu.com>
39588
39589 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39590
4ca049a3 395912008-07-30 Robert Millan <rmh@aybabtu.com>
39592
39593 * term/i386/pc/vga_text.c (grub_console_cls): Use
39594 grub_console_gotoxy() to go back to beginning of the screen.
39595 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39596
2921d337 395972008-07-29 Christian Franke <franke@computer.org>
39598
39599 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39600 Add conversion of emulated mount points on Cygwin.
39601
b609876d 396022008-07-29 Christian Franke <franke@computer.org>
39603
39604 * util/update-grub.in: Add a check for admin
39605 group on Cygwin.
39606 Remove old `grub.cfg.new' before creation.
39607 Add `-f' to `mv' to handle the different filesystem
39608 semantics of Windows.
39609
e93e4679 396102008-07-29 Bean <bean123ch@gmail.com>
39611
39612 * normal/main.c (get_line): Fix buffer overflow bug.
39613
41694fd0 396142008-07-28 Robert Millan <rmh@aybabtu.com>
39615
39616 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39617 (struct grub_apple_header): New struct. Describes the layout of
39618 the partmap header.
39619 (apple_partition_map_iterate): Check the header magic as well as the
39620 partition magic (which was already being checked).
39621
cfd0b4e6 396222008-07-28 Pavel Roskin <proski@gnu.org>
39623
39624 * genmk.rb: Add a warning to the beginning of the output that
39625 it's a generated file and should not be edited.
39626
93cce016 396272008-07-28 Robert Millan <rmh@aybabtu.com>
39628
39629 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39630 with the same number are found, just use issue a warning with
39631 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39632
cd1df915 396332008-07-27 Robert Millan <rmh@aybabtu.com>
39634
39635 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39636 information.
39637
b70a8427 396382008-07-27 Bean <bean123ch@gmail.com>
39639
39640 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39641 (grub_fat_find_dir): Ignore case when comparing filename.
39642
8f5e379f 396432008-07-27 Bean <bean123ch@gmail.com>
39644
39645 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39646 smallino, as it's more descriptive, and i8count can be confused with
39647 the other field count.
39648 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39649 inode type.
39650
a85cd5a0 396512008-07-27 Bean <bean123ch@gmail.com>
39652
39653 * commands/crc.c: New file.
39654
39655 * lib/crc.c: Likewise.
39656
39657 * include/grub/lib/crc.h: Likewise.
39658
39659 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39660
39661 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39662 (hexdump): Move this function to ...
39663
39664 * lib/hexdump.c: ... here.
39665
39666 * include/grub/hexdump.h: Renamed to ...
39667
39668 * include/grub/lib/hexdump.h: ... this.
39669
39670 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39671
39672 * util/grub-editenv.c: Likewise.
39673
39674 * include/envblk.h: Renamed to ...
39675
39676 * include/lib/envblk.h: ... this.
39677
39678 * util/envblk.c: Renamed to ...
39679
39680 * lib/envblk.c: ... this.
39681
39682 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39683 lib/hexdump.c.
39684 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39685 (pkglib_MODULES): Add crc.mod.
39686 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39687 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39688 (crc_mod_SOURCES): New macro.
39689 (crc_mod_CFLAGS): Likewise.
39690 (crc_mod_LDFLAGS): Likewise.
39691
39692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39693
39694 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39695
39696 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39697
39698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39699
39700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39701
c298def0 397022008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39703
39704 * commands/help.c: Include <grub/term.h>.
39705 (TERM_WIDTH): Removed. Updated all users.
39706
cc349fb3 397072008-07-27 Pavel Roskin <proski@gnu.org>
39708
39709 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39710 spurious warnings about a comment within a comment.
39711
9051607e 397122008-07-25 Robert Millan <rmh@aybabtu.com>
39713
39714 * util/getroot.c (find_root_device): Skip devices that match
39715 /dev/dm-[0-9]. This lets the real device be found for any type of
39716 abstraction (LVM, EVMS, RAID..).
39717 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39718 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39719 device is found first, find_root_device() will now skip it.
39720
01453bfc 397212008-07-24 Pavel Roskin <proski@gnu.org>
39722
39723 * include/grub/types.h: Use __builtin_bswap32() and
39724 __builtin_bswap64() with gcc 4.3 and newer.
39725
6af9849f 397262008-07-24 Christian Franke <franke@computer.org>
39727
3a0fa256 39728 * util/i386/pc/grub-install.in: If `--debug' is specified,
39729 pass `--verbose' to grub-setup.
39730 Abort script if make_system_path_relative_to_its_root() fails.
39731
7810e747 397322008-07-24 Bean <bean123ch@gmail.com>
39733
39734 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39735 variable `target_platform' should be `platform'.
39736
42290e17 397372008-07-24 Bean <bean123ch@gmail.com>
39738
51cc5193 39739 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39740 (grub_png_init_fixed_block): New function.
39741 (grub_png_decode_image_data): Handle fixed huffman code compression.
39742
2a8a80e4 397432008-07-24 Bean <bean123ch@gmail.com>
39744
39745 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39746 (grub_pe2elf_SOURCES): New macro.
39747 (CLEANFILES): Add grub-pe2elf.
39748
39749 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39750 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39751 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39752 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39753 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39754 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39755 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39756 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39757 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39758 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39759 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39760 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39761 (GRUB_PE32_DT_FUNCTION): Likewise.
39762 (GRUB_PE32_REL_I386_DIR32): Likewise.
39763 (GRUB_PE32_REL_I386_REL32): Likewise.
39764 (grub_pe32_symbol): New structure.
39765 (grub_pe32_reloc): Likewise.
39766
39767 * util/grub-pe2elf.c: New file.
39768
39769 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39770 start symbol in non pc platform.
39771
39772 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39773
39774 The following patches are from Christian Franke.
39775
39776 * include/grub/dl.h: Remove .previous, gas supports this only
39777 for ELF format.
39778
39779 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39780 Remove .type, gas supports this only for ELF format.
39781
39782 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39783 nullbytes in symbol table. This fixes an infinite loop if table is
39784 zero filled.
39785
39786 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39787 TARGET_IMG_LDFLAGS and EXEEXT.
39788
39789 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39790 TARGET_IMG_LDFLAGS_AC.
39791 (grub_CHECK_STACK_ARG_PROBE): New function.
39792
39793 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39794
39795 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39796
39797 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39798 to set TARGET_IMG_LD* accordingly.
39799 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39800 Add call to grub_CHECK_STACK_ARG_PROBE.
39801 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39802
39803 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39804
39805 * genmk.rb: Add EXEEXT to CLEANFILES.
39806
12ccdb75 398072008-07-23 Robert Millan <rmh@aybabtu.com>
39808
39809 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39810 define the codes for arrows and lines used for the menu).
39811 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39812 as well.
39813
39814 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39815 fonts, because the latter are too slow.
39816
18eeaf04 398172008-07-21 Bean <bean123ch@gmail.com>
39818
39819 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39820 a20. Run keyboard test last, as it will cause macbook to halt.
39821
b095e2ad 398222008-07-18 Pavel Roskin <proski@gnu.org>
39823
39824 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39825 load foreign architecture modules correctly anyway. Keep
39826 support for loading host architecture modules, whether we
39827 compile them or not.
39828
737feb35 398292008-07-17 Pavel Roskin <proski@gnu.org>
39830
3f4ce737 39831 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39832 change target_cpu. The compiler default can mismatch target_cpu
39833 in any case.
39834
4ad2d049 39835 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39836 * kern/efi/efi.c: Likewise.
39837
f6130a12 39838 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39839 target compiler is functional.
39840 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39841 are set up.
39842
58393a2d 39843 * configure.ac: Default to efi platform for x86_64-apple. Allow
39844 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39845 adjustments from the rest, only do them if target is not
39846 explicitly given. Merge other adjustments with the final sanity
39847 check. Remove an extraneous check for supported CPU. Be
39848 specific which CPU and which platform is not supported.
39849
737feb35 39850 * configure.ac: Default to pc platform for x86_64.
39851
546f966a 398522008-07-17 Robert Millan <rmh@aybabtu.com>
39853
39854 Partial LinuxBIOS -> Coreboot rename.
39855
39856 * conf/i386-linuxbios.rmk: Renamed to ...
39857 * conf/i386-coreboot.rmk: ... this.
39858 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39859 * configure.ac: Accept "coreboot" as input platform (but maintain
39860 compatibility with "linuxbios").
39861 * include/grub/i386/linuxbios: Renamed to ...
39862 * include/grub/i386/coreboot: ... this.
39863
20011694 398642008-07-17 Bean <bean123ch@gmail.com>
39865
39866 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39867 (appleldr_mod_SOURCE): New variable.
20011694 39868 (appleldr_mod_CFLAGS): Likewise.
39869 (appleldr_mod_LDFLAGS): Likewise.
39870 (pci_mod_SOURCES): Likewise.
39871 (pci_mod_CFLAGS): Likewise.
39872 (pci_mod_LDFLAGS): Likewise.
39873 (lspci_mod_SOURCES): Likewise.
39874 (lspci_mod_CFLAGS): Likewise.
39875 (lspci_mod_LDFLAGS): Likewise.
39876
39877 * conf/x86_64-efi.rmk: New file.
39878
39879 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39880 macro.
39881 (grub_efidisk_write): Likewise.
39882
39883 * include/efi/api.h (efi_call_0): New macro.
39884 (efi_call_1): Likewise.
39885 (efi_call_2): Likewise.
39886 (efi_call_3): Likewise.
39887 (efi_call_4): Likewise.
39888 (efi_call_5): Likewise.
39889 (efi_call_6): Likewise.
39890
39891 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39892 grub_rescue_cmd_chainloader.
39893
39894 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39895 (grub_pe32_optional_header): Change some fields based on i386 or
39896 x86_64 platform.
39897 (GRUB_PE32_PE32_MAGIC): Likewise.
39898
39899 * include/grub/efi/uga_draw.h: New file.
39900
39901 * include/grub/elf.h (STN_ABS): New constant.
39902 (R_X86_64_NONE): Relocation constant for x86_64.
39903 (R_X86_64_64): Likewise.
39904 (R_X86_64_PC32): Likewise.
39905 (R_X86_64_GOT32): Likewise.
39906 (R_X86_64_PLT32): Likewise.
39907 (R_X86_64_COPY): Likewise.
39908 (R_X86_64_GLOB_DAT): Likewise.
39909 (R_X86_64_JUMP_SLOT): Likewise.
39910 (R_X86_64_RELATIVE): Likewise.
39911 (R_X86_64_GOTPCREL): Likewise.
39912 (R_X86_64_32): Likewise.
39913 (R_X86_64_32S): Likewise.
39914 (R_X86_64_16): Likewise.
39915 (R_X86_64_PC16): Likewise.
39916 (R_X86_64_8): Likewise.
39917 (R_X86_64_PC8): Likewise.
39918
39919 * include/grub/i386/efi/pci.h: New file.
39920
39921 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39922 Change it value based on platform.
39923 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39924 (GRUB_E820_RAM): Likewise.
39925 (GRUB_E820_RESERVED): Likewise.
39926 (GRUB_E820_ACPI): Likewise.
39927 (GRUB_E820_NVS): Likewise.
39928 (GRUB_E820_EXEC_CODE): Likewise.
39929 (GRUB_E820_MAX_ENTRY): Likewise.
39930 (grub_e820_mmap): New structure.
39931 (linux_kernel_header): Change the efi field according to different
39932 kernel version, also field from linux_kernel_header.
39933
39934 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39935
39936 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39937 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39938 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39939 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39940 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39941 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39942 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39943 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39944 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39945 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39946
39947 * include/grub/x86_64/efi/kernel.h: New file.
39948
39949 * include/grub/x86_64/efi/loader.h: Likewise.
39950
39951 * include/grub/x86_64/efi/machine.h: Likewise.
39952
39953 * include/grub/x86_64/efi/pci.h: Likewise.
39954
39955 * include/grub/x86_64/efi/time.h: Likewise.
39956
39957 * include/grub/x86_64/linux.h: Likewise.
39958
39959 * include/grub/x86_64/setjmp.h: Likewise.
39960
39961 * include/grub/x86_64/time.h: Likewise.
39962
39963 * include/grub/x86_64/types.h: Likewise.
39964
39965 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39966 GRUB_TARGET_SIZEOF_VOID_P.
39967
39968 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39969 (grub_efi_locate_handle): Likewise.
39970 (grub_efi_open_protocol): Likewise.
39971 (grub_efi_set_text_mode): Likewise.
39972 (grub_efi_stall): Likewise.
39973 (grub_exit): Likewise.
39974 (grub_reboot): Likewise.
39975 (grub_halt): Likewise.
39976 (grub_efi_exit_boot_services): Likewise.
39977 (grub_get_rtc): Likewise.
39978
39979 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39980 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39981 (grub_efi_allocate_pages): Wrap efi calls.
39982 (grub_efi_free_pages): Wrap efi calls.
39983 (grub_efi_get_memory_map): Wrap efi calls.
39984
39985 * kern/x86_64/dl.c: New file.
39986
39987 * kern/x86_64/efi/callwrap.S: Likewise.
39988
39989 * kern/x86_64/efi/startup.S: Likewise.
39990
39991 * loader/efi/appleloader.c: Likewise.
39992
39993 * loader/efi/chainloader.c (cmdline): New variable.
39994 (grub_chainloader_unload): Wrap efi calls.
39995 (grub_chainloader_boot): Likewise.
39996 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39997 command line.
39998
39999 * loader/efi/chainloader_normal.c (chainloader_command):
40000 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40001 command line.
40002
40003 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40004 method.
40005 (grub_e820_add_region): New function.
40006 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40007 booting.
40008 (grub_find_video_card): New function.
40009 (grub_linux_setup_video): New function.
40010 (grub_rescue_cmd_linux): Probe for video information.
40011
40012 * normal/x86_64/setjmp.S: New file.
40013
40014 * term/efi/console.c (map_char): New function.
40015 (grub_console_putchar): Map unicode char.
40016 (grub_console_checkkey): Wrap efi calls.
40017 (grub_console_getkey): Likewise.
40018 (grub_console_getwh): Likewise.
40019 (grub_console_gotoxy): Likewise.
40020 (grub_console_cls): Likewise.
40021 (grub_console_setcolorstate): Likewise.
40022 (grub_console_setcursor): Likewise.
40023
40024 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40025
59652a20 400262008-07-16 Pavel Roskin <proski@gnu.org>
40027
ef294055 40028 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40029 format strings.
40030
59652a20 40031 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40032 pointer, not an integer. This fixes a warning and prevents
40033 precision loss on 64-bit systems.
40034 (relocate_addresses): Remove unneeded cast.
40035
afc3b5d7 400362008-07-15 Pavel Roskin <proski@gnu.org>
40037
506b2b3e 40038 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40039
62ead89c 40040 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40041
c4cd51d7 40042 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40043 Fix comparison between signed and unsigned.
40044
0d3d8f28 40045 * include/grub/i386/ieee1275/console.h: Declare
40046 grub_console_init() and grub_console_fini().
40047
8804b286 40048 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40049 It's empty and unused.
40050
ee01cf35 40051 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40052 beginning to avoid warnings with some compilers.
40053
afc3b5d7 40054 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40055 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40056
e4e8eaa5 400572008-07-14 Pavel Roskin <proski@gnu.org>
40058
407aceb4 40059 * kern/env.c (grub_register_variable_hook): Don't copy empty
40060 string, it leaks memory. Pass "" to grub_env_set(), it should
40061 handle constant strings.
40062
e4e8eaa5 40063 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40064 * commands/cmp.c (grub_cmd_cmp): Likewise.
40065 * kern/dl.c (grub_dl_flush_cache): Likewise.
40066 (grub_dl_load_core): Likewise.
40067 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40068 (grub_elf64_load_phdrs): Likewise.
40069
d4e2dad3 400702008-07-13 Pavel Roskin <proski@gnu.org>
40071
40072 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40073 between signed and unsigned.
40074 (LzmaEnc_Finish): Fix warning about an unused parameter.
40075
aa24b516 400762008-07-13 Bean <bean123ch@gmail.com>
40077
40078 * Makefile.in (enable_lzo): New rule.
40079
40080 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40081
40082 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40083
40084 * boot/i386/pc/lnxboot.S: #include <config.h>.
40085
40086 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40087 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40088
40089 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40090 compression algorithm according to configure macro.
40091
40092 * kern/i386/pc/startup.S (codestart): Likewise.
40093
40094 * kern/i386/pc/lzma_decode.S: New file.
40095
40096 * include/grub/lib/LzFind.h: Likewise.
40097
40098 * include/grub/lib/LzHash.h: Likewise.
40099
40100 * include/grub/lib/LzmaDec.h: Likewise.
40101
40102 * include/grub/lib/LzmaEnc.h: Likewise.
40103
40104 * include/grub/lib/LzmaTypes.h: Likewise.
40105
40106 * lib/LzFind.c: Likewise.
40107
40108 * lib/LzmaDec.c: Likewise.
40109
40110 * lib/LzmaEnc.c: Likewise.
40111
4ae821ac 401122008-07-13 Bean <bean123ch@gmail.com>
40113
40114 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40115 (grub_ext4_extent_header): New structure.
40116 (grub_ext4_extent): Likewise.
40117 (grub_ext4_extent_idx): Likewise.
40118 (grub_ext4_find_leaf): New function.
40119 (grub_ext2_read_block): Handle extents.
40120
9a745147 401212008-07-12 Robert Millan <rmh@aybabtu.com>
40122
40123 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40124
d49a4cf6 401252008-07-11 Robert Millan <rmh@aybabtu.com>
40126
40127 * util/grub.d/40_custom.in: New file. Example on how to add custom
40128 entries to /etc/grub.d.
40129 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40130 40_custom (implicitly, by merging all the grub.d rules).
40131
947414b4 401322008-07-11 Pavel Roskin <proski@gnu.org>
40133
0059cf6f 40134 * commands/read.c (grub_getline): Fix invalid memory access.
40135 Don't add newline to the variable value.
40136
947414b4 40137 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40138 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40139 (serial_hw_get_port): Check validity of the port number.
40140 (grub_cmd_serial): Check return value of serial_hw_get_port().
40141
62a02d00 401422008-07-07 Pavel Roskin <proski@gnu.org>
40143
40144 * boot/i386/pc/diskboot.S (notification_string): Replace
40145 "Loading kernel" with just "loading". This is shorter, less
40146 confusing and saves a few bytes for possible future changes.
40147
3e5581b0 401482008-07-05 Pavel Roskin <proski@gnu.org>
40149
ea387a48 40150 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40151 size for ATAPI devices, they are undefined. Output sector
40152 number in decimal form.
40153
3e5581b0 40154 * disk/ata.c: Use named constants for status bits.
40155
fdecb8fd 401562008-07-04 Pavel Roskin <proski@gnu.org>
40157
bcd35b90 40158 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40159 grub_addr_t before casting it to the void pointer to fix a
40160 warning. Non-addressable regions are discarded earlier.
40161 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40162 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40163 (check_signature): Don't shadow table_header.
40164 (grub_linuxbios_table_iterate): Cast numeric constants to
40165 grub_linuxbios_table_header_t.
40166 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40167 grub_stop().
40168
af58ab3d 40169 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40170 prevent warnings.
40171
1759aa57 40172 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40173 pointer, which can cause warnings. Support 64-bit addresses.
40174
fdecb8fd 40175 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40176 of sizeof(long). This fixes PowerPC image generation on x86_64.
40177
8516d2a8 401782008-07-04 Robert Millan <rmh@aybabtu.com>
40179
40180 This fixes a performance issue when pc & gpt partmap iterators
40181 didn't abort iteration even after our hook found what it was
fe987087 40182 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40183
40184 Some callers relied on previous buggy behaviour, since they would
34c44600 40185 raise an error when their own hooks caused early abortion of its
8516d2a8 40186 iteration.
40187
40188 * kern/device.c (grub_device_open): Improve error message.
40189 * disk/lvm.c (grub_lvm_open): Likewise.
40190 * disk/raid.c (grub_raid_open): Likewise.
40191
40192 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40193 when hook requests it, independently of grub_errno.
40194 (pc_partition_map_probe): Do not fail when find_func() caused
40195 early abortion of pc_partition_map_iterate().
40196
40197 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40198 when hook requests it, independently of grub_errno.
40199 (gpt_partition_map_probe): Do not fail when find_func() caused
40200 early abortion of gpt_partition_map_iterate().
40201
40202 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40203 when hook requests it, independently of grub_errno. Do not fail when
40204 part_map_iterate_hook() caused early abortion of p->iterate().
40205
40206 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40207 when grub_partition_iterate() returned with non-zero.
40208
277d0de9 402092008-07-03 Pavel Roskin <proski@gnu.org>
40210
40211 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40212 like we do in grub_ata_pio_read().
40213 (grub_ata_readwrite): Always write individual sectors. Fix the
40214 sector count for the remainder.
40215 (grub_ata_write): Enable writing to ATA devices. Correctly
40216 report error for ATAPI devices.
40217
d4c9b428 402182008-07-02 Pavel Roskin <proski@gnu.org>
40219
e43fc690 40220 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40221 warning.
40222
f707af42 40223 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40224 for every read sector, we already increment it for the whole
40225 batch. This fixes reading more than 256 sectors at once.
40226
11e16b15 40227 * util/grub-editenv.c (cmd_info): Cast argument to long
40228 explicitly. ptrdiff_t reduces to int on i386.
40229
cbabfdd4 40230 * util/grub-editenv.c (main): Be specific which parameter is
40231 missing.
40232
b8fbce0a 40233 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40234 (memdisk): Make memdisk_orig_addr a pointer.
40235
c9c8e606 40236 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40237 for file offsets, use grub_off_t instead. Fix printf format
40238 warnings.
40239
ca62e598 40240 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40241 there. Real unexpected warnings should not drown in the noise
40242 about known problems.
40243
ce8d1766 40244 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40245 grub_disk_addr_t for memory addresses.
40246
00c7a56a 40247 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40248 explicitly to fix a warning.
40249
08d3ef09 40250 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40251
cb71ba20 40252 * Makefile.in (MODULE_LDFLAGS): New variable.
40253 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40254 the linker accepts --build-id=none.
40255 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40256 MODULE_LDFLAGS.
40257 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40258
d4c9b428 40259 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40260 those in Linux XFS code. Provide a way to access 64-bit parent
40261 inode.
40262 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40263 the end of struct grub_xfs_dir_header.
40264
d4156eee 402652008-07-02 Bean <bean123ch@gmail.com>
40266
40267 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40268 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40269 and GRUB_IEEE1275_FLAG_NO_ANSI.
40270
40271 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40272 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40273 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40274
40275 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40276 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40277
40278 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40279 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40280
40281 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40282 esc sequence on non ANSI terminal.
40283 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40284
40285 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40286 beginning of file.
40287
2270f77b 402882008-07-02 Bean <bean123ch@gmail.com>
40289
40290 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40291 (grub_editenv_SOURCES): New variable.
40292 (pkglib_MODULES): Add loadenv.mod.
40293 (loadenv_mod_SOURCES): New variable.
40294 (loadenv_mod_CFLAGS): Likewise.
40295 (loadenv_mod_LDFLAGS): Likewise.
40296
40297 * include/grub/envblk.h: New file.
40298
40299 * util/envblk.c: New file.
40300
40301 * util/grub-editenv.c: New file.
40302
40303 * commands/loadenv.c: New file.
40304
0e9e51ec 403052008-07-01 Pavel Roskin <proski@gnu.org>
40306
d89b7634 40307 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40308 not unsigned char. This fixes warnings and is consistent with
40309 other tags.
40310
bf1835b1 40311 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40312
8222a04b 40313 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40314
6a42d99d 40315 * term/tparm.c (analyze): Always set *popcount.
40316
10b159d1 40317 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40318 cast to fix a warning.
40319
b8789f6c 40320 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40321 cast to suppress a warning.
40322
29d7e38a 40323 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40324 grub_fshelp_read_file() expects.
40325
f341f669 40326 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40327 write uuid as a 32-bit value in CPU byte order, so declare and
40328 use it as such.
40329
0e9e51ec 40330 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40331 long if the format specifier expects it.
40332 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40333 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40334 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40335 long to fix a warning.
40336 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40337 grub_dprintf() arguments to fix warnings.
40338
3aefa857 403392008-06-30 Pavel Roskin <proski@gnu.org>
40340
56c7668b 40341 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40342 install_bsd_part immediately before core.img is embedded or
40343 modified on disk. This fixes core.img verification if core.img
40344 cannot be embedded.
40345
3aefa857 40346 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40347 core_path to calculate the blocklist.
40348 Patch from Javier Martín <lordhabbit@gmail.com>
40349
5444088d 403502008-06-29 Robert Millan <rmh@aybabtu.com>
40351
40352 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40353 block to disk block.
40354 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40355 Patch from Niels Böhm <bitbucket@arcor.de>
40356
674835c8 403572008-06-29 Robert Millan <rmh@aybabtu.com>
40358
40359 * util/update-grub_lib.in (font_path): Search for fonts in
40360 /boot/grub first, which is more likely to be readable (we aren't
40361 deciding where fonts live, just looking for them).
40362
f527dbc8 403632008-06-26 Pavel Roskin <proski@gnu.org>
40364
6c2d8df6 40365 * util/biosdisk.c (read_device_map): Don't leave dead map
40366 entries for devices failing stat() check.
40367
f527dbc8 40368 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40369 core_path_dev for the core.img path on the target device.
40370
aebe3d13 403712008-06-26 Robert Millan <rmh@aybabtu.com>
40372
40373 * disk/fs_uuid.c: New file.
40374 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40375 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40376 (fs_uuid_mod_LDFLAGS): New variables.
40377 * include/grub/disk.h (grub_disk_dev_id): Add
40378 `GRUB_DISK_DEVICE_UUID_ID'.
40379 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40380 implement iterate().
40381
37aaf354 403822008-06-26 Robert Millan <rmh@aybabtu.com>
40383
40384 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40385 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40386 Linux image includes no initrd.
40387
25ff262a 403882008-06-21 Javier Martín <lordhabbit@gmail.com>
40389
40390 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40391 call to resolve the core image location that effectively appended the
40392 name twice.
40393
76a2bd44 403942008-06-21 Robert Millan <rmh@aybabtu.com>
40395
40396 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40397 call from here ...
40398
40399 * util/grub.d/10_hurd.in: ... to here ...
40400 * util/grub.d/10_linux.in: ... and here.
40401
650e1c79 404022008-06-19 Robert Millan <rmh@aybabtu.com>
40403
fe987087 40404 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40405 after it has been set by grub_machine_set_prefix().
40406
6ce63911 404072008-06-19 Robert Millan <rmh@aybabtu.com>
40408
40409 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40410 search result when not saving to variable, not the other way around.
40411 When saving to variable, abort iteration as soon as a match is found.
40412
73940cec 404132008-06-19 Robert Millan <rmh@aybabtu.com>
40414
40415 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40416 check for partition that provides /boot/grub. Its logic is flawed,
40417 as it prevents prepare_grub_to_access_device() from being called
40418 multiple times.
40419
3c62a39d 404202008-06-19 Robert Millan <rmh@aybabtu.com>
40421
40422 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40423 "insmod" command directly when abstraction modules are needed,
fe987087 40424 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40425 since it had already been processed).
40426
47395a42 404272008-06-19 Pavel Roskin <proski@gnu.org>
40428
40429 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40430 changed. This is needed in case GRUB_LIBDIR changes.
40431 * conf/i386-ieee1275.rmk: Likewise.
40432 * conf/i386-linuxbios.rmk: Likewise.
40433 * conf/i386-pc.rmk: Likewise.
40434 * conf/powerpc-ieee1275.rmk: Likewise.
40435
a145ac2d 404362008-06-18 Pavel Roskin <proski@gnu.org>
40437
40438 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40439 kernel_elf_symlist.c to symlist.c for consistency with other
40440 architectures. Update all users.
40441 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40442
7847c51e 404432008-06-18 Robert Millan <rmh@aybabtu.com>
40444
40445 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40446 it in prefix.
40447
40448 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40449 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40450 a RAID device, run setup() for all members independently on whether
40451 LVM abstraction is being used.
40452 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40453 If grub-mkimage has set `*install_dos_part == -2', don't override this
40454 value.
40455 Perform *install_dos_part adjustments independently on whether
40456 we're embedding or not.
40457 Clarify error message when image is too big for embedding.
40458 Remove duplicate *install_dos_part stanza.
40459
b23e5644 404602008-06-17 Robert Millan <rmh@aybabtu.com>
40461
40462 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40463 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40464 variables.
40465 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40466 values in grub_ofconsole_normal_color and
40467 grub_ofconsole_highlight_color (they're not directly related to
40468 background and foreground).
40469 (grub_ofconsole_setcolorstate): Extract background and foreground
40470 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40471
0aac2f79 404722008-06-17 Robert Millan <rmh@aybabtu.com>
40473
40474 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40475 /boot/grub for the check in last commit, not /boot (they could be
40476 different partitions).
40477
3cca7ef3 404782008-06-16 Robert Millan <rmh@aybabtu.com>
40479
40480 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40481 asked to setup access for the same partition that provides /boot,
40482 don't bother using UUIDs since our root already has the value we
40483 want.
40484
347396d8 404852008-06-16 Robert Millan <rmh@aybabtu.com>
40486
40487 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40488 I2O devices.
40489 Patch from Sven Mueller <sven@debian.org>.
40490
991477f8 404912008-06-16 Robert Millan <rmh@aybabtu.com>
40492
40493 * util/update-grub.in: Check for $EUID instead of $UID.
40494 Reported by Vincent Zweije.
40495
d31a32a1 404962008-06-16 Bean <bean123ch@gmail.com>
40497
fe987087 40498 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40499 (grub_ext2_read_block): Likewise.
40500 (grub_ext2_read_inode): Likewise.
40501 (grub_ext2_mount): Likewise.
40502 (grub_ext2_close): Likewise.
40503 (grub_ext3_get_journal): Removed.
40504
fe987087 40505 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40506 (grub_reiserfs_read_symlink): Likewise.
40507 (grub_reiserfs_mount): Likewise.
40508 (grub_reiserfs_open): Likewise.
40509 (grub_reiserfs_read): Likewise.
40510 (grub_reiserfs_close): Likewise.
40511 (grub_reiserfs_get_journal): Removed.
40512
40513 * fs/fshelp.c (grub_fshelp_read): Removed.
40514 (grub_fshelp_map_block): Likewise.
40515
40516 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40517 (grub_fshelp_journal): Likewise.
40518 (grub_fshelp_read): Likewise.
40519 (grub_fshelp_map_block): Likewise.
40520
3540a760 405212008-06-16 Pavel Roskin <proski@gnu.org>
40522
40523 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40524 floating point anymore.
40525 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40526
95614c84 405272008-06-15 Pavel Roskin <proski@gnu.org>
40528
40529 * commands/ls.c (grub_ls_list_files): Use integer calculations
40530 for human readable format, avoid floating point use.
40531 * kern/misc.c (grub_ftoa): Remove.
40532 (grub_vsprintf): Remove floating point support.
40533
50465dd6 405342008-06-15 Robert Millan <rmh@aybabtu.com>
40535
fe6b695a 40536 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40537 devices.
40538 Reported by Max Vozeler.
40539
a9207284 405402008-06-15 Robert Millan <rmh@aybabtu.com>
40541
40542 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40543 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40544 skipped later.
40545 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40546 the beginning of the prefix.
40547
40548 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40549 It is assumed that if we have a memdisk, grub-mkimage has set
40550 grub_prefix to include the "(memdisk)" drive in it.
40551
a7cbd45a 405522008-06-15 Robert Millan <rmh@aybabtu.com>
40553
40554 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40555 Initialize keyboard controller after registering the terminal, so that
40556 grub_printf() can be called from grub_keyboard_controller_init().
40557
21cf716a 405582008-06-15 Robert Millan <rmh@aybabtu.com>
40559
40560 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40561 extent-btree which is written as big endian on disk.
40562 Reported by Alain Greppin <al@chilibi.org>.
40563
23a64d8e 405642008-06-14 Robert Millan <rmh@aybabtu.com>
40565
40566 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40567 * util/i386/pc/grub-install.in (modules): Likewise.
40568
d687651c 405692008-06-13 Pavel Roskin <proski@gnu.org>
40570
40571 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40572
dfe9ddd4 405732008-06-13 Bean <bean123ch@gmail.com>
40574
40575 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40576
40577 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40578
40579 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40580 to indicate sparse block.
40581
16ae7781 405822008-06-12 Pavel Roskin <proski@gnu.org>
40583
e6d1a308 40584 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40585 number, grub_fshelp_read() does it for us.
40586
16ae7781 40587 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40588 linear disk read with journal translation.
40589 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40590 * include/grub/fshelp.h: Declare grub_fshelp_read().
40591
40fd3a2b 405922008-06-09 Pavel Roskin <proski@gnu.org>
40593
40594 * fs/minix.c (grub_minix_mount): Handle error reading
40595 superblock.
40596
f5679726 405972008-06-08 Robert Millan <rmh@aybabtu.com>
40598
40599 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40600 don't append the RAID prefix afterwards.
40601 Reported by Clint Adams.
40602
ce525529 406032008-06-08 Robert Millan <rmh@aybabtu.com>
40604
40605 Based on description from Pavel:
40606 * kern/disk.c (grub_disk_check_range): Rename to ...
40607 (grub_disk_adjust_range): ... this. Add a comment explaining the
40608 tasks performed by this function.
40609
ad4936a0 406102008-06-08 Robert Millan <rmh@aybabtu.com>
40611
40612 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40613 `num_serial' (for consistency with other variables).
40614 (struct grub_ntfs_data): Add `uuid' member.
40615 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40616 (grub_ntfs_uuid): New function.
40617 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40618
dc20b0f9 406192008-06-07 Pavel Roskin <proski@gnu.org>
40620
40621 * util/biosdisk.c (open_device): Revert last change to the
40622 function, it broke installation. The sector needs to be
40623 different dependent on which device is opened.
40624
c5e3cfba 406252008-06-06 Robert Millan <rmh@aybabtu.com>
40626
40627 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40628 rest of GRUB, and breakage doesn't happen if its value were modified.
40629
40630 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40631 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40632 a constant (same value).
40633 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40634 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40635
26a1f8c4 406362008-06-06 Robert Millan <rmh@aybabtu.com>
40637
40638 * util/biosdisk.c (open_device): Do not modify sector offset when
40639 accessing a partition. kern/disk.c already handles this for us.
40640
25d6b327 406412008-06-06 Robert Millan <rmh@aybabtu.com>
40642
40643 * util/grub-emu.c (grub_machine_init): Move code in this function from
40644 here ...
40645 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40646 segfault in case grub_printf() is called).
40647
40648 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40649 grub_probe. Update all users not to explicitly add it again.
40650 (grub_device): New variable; contains corresponding device for grubdir.
40651 (fs_module, partmap_module, devabstraction_module): Pass
40652 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40653 every time.
40654
9ece62fb 406552008-06-05 Robert Millan <rmh@aybabtu.com>
40656
40657 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40658 is found, print it (same layout as with labels).
40659
1ad36d37 406602008-06-04 Robert Millan <rmh@aybabtu.com>
40661
40662 * util/biosdisk.c (get_drive): Rename to ...
40663 (find_grub_drive): ... this. Update all users.
40664
40665 (get_os_disk): Rename to ...
40666 (convert_system_partition_to_system_disk): ... this. Update all users.
40667
40668 (find_drive): Rename to ...
40669 (find_system_device): ... this. Update all users.
40670
e6a30859 406712008-06-04 Robert Millan <rmh@aybabtu.com>
40672
40673 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40674 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40675 (make_device_map): Likewise.
40676
00c108a4 406772008-06-01 Robert Millan <rmh@aybabtu.com>
40678
40679 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40680 before dereferencing it.
40681
40682 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40683 union with fat12/fat16-specific ones. Add some new fields, including
40684 `num_serial' for both versions.
40685 (struct grub_fat_data): Add `uuid' member.
40686 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40687 names. Initialize `data->uuid' using `num_serial'.
40688 (grub_fat_uuid): New function.
40689 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40690
40691 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40692 (grub_reiserfs_uuid): New function.
40693 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40694 member.
40695
40696 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40697 (grub_xfs_uuid): New function.
40698 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40699
1385c5bb 407002008-06-01 Robert Millan <rmh@aybabtu.com>
40701
40702 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40703 code that is backward compatible with pre-uuid search command.
40704
c682dfd7 407052008-05-31 Robert Millan <rmh@aybabtu.com>
40706
40707 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40708 floppies after everything else, to ensure floppy drive isn't accessed
40709 unnecessarily (patch from Bean).
40710
b7db5d47 407112008-05-31 Robert Millan <rmh@aybabtu.com>
40712
40713 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40714 not print device names when we were asked to set a variable.
40715
6e037aa9 407162008-05-31 Robert Millan <rmh@aybabtu.com>
40717
40718 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40719 using "cursor-on" and "cursor-off" commands (understood at least by
40720 the Open Firmware flavour on OLPC).
40721
41305bc8 407222008-05-31 Michael Gorven <michael@gorven.za.net>
40723
40724 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40725 on and off sequences.
40726
69ba137e 407272008-05-31 Robert Millan <rmh@aybabtu.com>
40728
40729 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40730 * util/update-grub.in: Likewise.
40731
520ae21b 407322008-05-30 Pavel Roskin <proski@gnu.org>
40733
40734 * util/biosdisk.c (linux_find_partition): Simplify logic and
40735 make the code more universal. Keep special processing for
40736 devfs, but use a simple rule for all other devices. If the
40737 device ends with a number, append 'p' and the partition number.
40738 Otherwise, append only the partition number.
40739
5786569b 407402008-05-30 Robert Millan <rmh@aybabtu.com>
40741
40742 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40743 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40744 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40745 the `root' parameter to Linux.
40746
51500452 407472008-05-30 Robert Millan <rmh@aybabtu.com>
40748
40749 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40750 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40751 --fs_uuid with --fs-uuid.
40752 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40753 all filesystems support them).
40754
811d3878 407552008-05-30 Robert Millan <rmh@aybabtu.com>
40756
40757 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40758 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40759
cab63c95 407602008-05-30 Robert Millan <rmh@aybabtu.com>
40761
40762 * util/grub.d/00_header.in: Remove obsolete comment referencing
40763 convert_system_path_to_grub_path().
40764 * util/update-grub.in: Likewise.
40765 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40766 (convert_system_path_to_grub_path): Add a warning message explaining
40767 that this function is deprecated. Rely on is_path_readable_by_grub()
40768 for the readability checks.
40769 (font_path): Use is_path_readable_by_grub() for the readability
40770 check rather than convert_system_path_to_grub_path().
40771
972e2f7a 407722008-05-30 Robert Millan <rmh@aybabtu.com>
40773
40774 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40775 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40776 converting it first.
40777 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40778 grub.cfg for access to font file, and afterwards call it again to set
40779 the root device.
40780
62191274 407812008-05-30 Robert Millan <rmh@aybabtu.com>
40782
40783 * commands/search.c (options): Add --fs_uuid option.
40784 (search_fs_uuid): New function.
40785 (grub_cmd_search): Fix --set argument passing.
40786 Use search_fs_uuid() when requested via --fs_uuid.
40787 (grub_search_init): Update help message.
40788 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40789 and redeclare it as an array of 16-bit words.
40790 (grub_ext2_uuid): New function.
40791 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40792 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40793 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40794 (GRUB_DEVICE_BOOT_UUID): New variables.
40795 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40796 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40797 whenever possible.
40798 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40799 just assume `root' variable has the right value.
40800 * util/grub.d/10_linux.in: Likewise.
40801 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40802 via PRINT_FS_UUID.
40803 (main): Recognise `-t fs_uuid' argument.
40804
01b73ec8 408052008-05-30 Robert Millan <rmh@aybabtu.com>
40806
40807 * util/biosdisk.c (map): Redefine structure to hold information
40808 about GRUB drive name.
fe6b695a 40809 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40810 drive names.
40811 (call_hook): Remove.
40812 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40813 member. Assume drive has partitions.
40814 (grub_util_biosdisk_open): Access device names via `.device' struct
40815 member.
40816 (open_device): Likewise.
40817 (find_drive): Likewise.
40818 (read_device_map): Adjust map[] usage to match the new struct
40819 definition. Don't check for duplicates (still possible, but not cheap
40820 anymore).
40821 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40822 (make_device_name): Remove assumption of BIOS-like drive names.
40823
22f16596 408242008-05-30 Pavel Roskin <proski@gnu.org>
40825
40826 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40827 compiling execute.c doesn't need grub_script.tab.h anymore.
40828 (normal/command.c_DEPENDENCIES): Likewise.
40829 (normal/function.c_DEPENDENCIES): Likewise.
40830 * conf/i386-ieee1275.rmk: Likewise.
40831 * conf/i386-linuxbios.rmk: Likewise.
40832 * conf/i386-pc.rmk: Likewise.
40833 * conf/powerpc-ieee1275.rmk: Likewise.
40834 * conf/sparc64-ieee1275.rmk: Likewise.
40835
528ad8f2 408362008-05-29 Pavel Roskin <proski@gnu.org>
40837
d1dff95d 40838 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40839 when scanning metadata for volume group name.
40840
528ad8f2 40841 * include/grub/script.h: Don't include grub_script.tab.h. It's
40842 a generated file, which may only be included from the files with
40843 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40844 use union YYSTYPE, as the later allows forward declaration.
40845 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40846
47248e08 408472008-05-29 Robert Millan <rmh@aybabtu.com>
40848
40849 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40850 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40851 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40852 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40853 scan codes.
40854
ee632529 408552008-05-29 Robert Millan <rmh@aybabtu.com>
40856
40857 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40858 control key combinations.
40859
eee96e08 408602008-05-29 Robert Millan <rmh@aybabtu.com>
40861
40862 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40863 * util/ieee1275/grub-install.in: ... to here.
40864 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40865 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40866 (grub_install_SOURCES): Likewise.
40867
da9a6a94 408682008-05-29 Robert Millan <rmh@aybabtu.com>
40869
40870 * fs/affs.c: Update copyright year.
40871 * fs/ext2.c: Likewise.
40872 * fs/fshelp.c: Likewise.
40873 * fs/hfsplus.c: Likewise.
40874 * fs/ntfs.c: Likewise.
40875 * fs/xfs.c: Likewise.
40876 * include/grub/fshelp.h: Likewise.
40877 * util/grub-mkdevicemap.c: Likewise.
40878
12e65f3a 408792008-05-28 Robert Millan <rmh@aybabtu.com>
40880
40881 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40882 might need to be fatfs to support some firmware implementations
40883 (e.g. OFW or EFI).
40884
23023641 408852008-05-28 Robert Millan <rmh@aybabtu.com>
40886
40887 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40888 devices.
40889 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40890 (make_device_map): Likewise.
40891
887d2619 408922008-05-20 Bean <bean123ch@gmail.com>
40893
40894 * fs/fshelp.c (grub_fshelp_map_block): New function.
40895 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40896 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40897
40898 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40899 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40900 (grub_fshelp_journal): New structure.
40901 (grub_fshelp_map_block): New function prototype.
40902 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40903 (grub_fshelp_map_block): Likewise.
40904
40905 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40906 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40907 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40908 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40909 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40910 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40911 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40912 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40913 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40914 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40915 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40916 (grub_ext2_sblock): New members for journal support.
40917 (grub_ext3_journal_header): New structure.
40918 (grub_ext3_journal_revoke_header): Likewise.
40919 (grub_ext3_journal_block_tag): Likewise.
40920 (grub_ext3_journal_sblock): Likewise.
40921 (grub_fshelp_node): New members logfile and journal.
40922 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40923 grub_fshelp_map_block to get real block number.
40924 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40925 number.
40926 (grub_ext2_read_inode): Likewise.
40927 (grub_ext3_get_journal): New function.
40928 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40929 (grub_ext2_close): Release memory used by journal.
40930
40931 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40932 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40933 (grub_reiserfs_transaction_header): Renamed to
40934 grub_reiserfs_description_block, replace field data with real_blocks.
40935 (grub_reiserfs_commit_block): New structure.
40936 (grub_reiserfs_data): New member journal.
40937 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40938 number.
40939 (grub_reiserfs_read_symlink): Likewise.
40940 (grub_reiserfs_iterate_dir): Likewise.
40941 (grub_reiserfs_open): Likewise.
40942 (grub_reiserfs_read): Likewise.
40943 (grub_reiserfs_get_journal): New function.
40944 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40945 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40946 using grub_reiserfs_get_journal.
40947 (grub_reiserfs_close): Release memory used by journal.
40948
40949 * fs/affs.c (grub_affs_read_block): Change block type to
40950 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40951
40952 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40953
40954 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40955
40956 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40957
40958 * fs/udf.c (grub_udf_read_block): Change block type to
40959 grub_disk_addr_t. Use type cast to avoid warning.
40960
40961 * fs/xfs.c (grub_xfs_read_block): Likewise.
40962
b7c6bed5 409632008-05-16 Christian Franke <franke@computer.org>
40964
40965 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40966 to ensure that break with ESC will always work.
40967 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40968 Remove ESC from keyboard queue.
40969
eedf167f 409702008-05-16 Christian Franke <franke@computer.org>
40971
40972 * util/biosdisk.c: [__CYGWIN__] Add includes.
40973 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40974 (get_os_disk): Move variable declarations to OS specific
40975 parts to avoid warning.
40976 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40977 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40978 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40979 Cygwin.
40980 * util/getroot.c: [__CYGWIN__] Add includes.
40981 (strip_extra_slashes): Fix "/" case.
40982 [__CYGWIN__] (get_win32_path): New function.
40983 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40984 [__CYGWIN__] (find_root_device): Disable.
40985 [__CYGWIN__] (get_bootsec_serial): New function.
40986 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40987 [__linux__] (grub_guess_root_device): Add early returns to simplify
40988 structure.
40989 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40990 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40991 check for Linux only.
40992
a079699e 409932008-05-15 Bean <bean123ch@gmail.com>
40994
40995 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40996 keyboard hang problem in apple's intel mac.
40997
1cf4059a 409982008-05-09 Robert Millan <rmh@aybabtu.com>
40999
41000 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41001 devices.
41002 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41003 (make_device_map): Likewise.
41004 Reported by Aurelien Jarno <aurel32@debian.org>
41005
ed759390 410062008-05-07 Ian Campbell <ijc@hellion.org.uk>
41007
41008 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41009 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41010 (make_device_map): Output entries for xvd type disks.
41011
b56c4eaa 410122008-05-07 Robert Millan <rmh@aybabtu.com>
41013
41014 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41015 devices.
41016 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41017 (make_device_map): Likewise.
41018 Reported by Roland Dreier <rdreier@cisco.com>
41019
7f8866ed 410202008-05-07 Robert Millan <rmh@aybabtu.com>
41021
41022 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41023 grub_strstr() call. Correct a few mistakes in failure path handling.
41024
b0346e0f 410252008-05-06 Robert Millan <rmh@aybabtu.com>
41026
41027 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41028 Do not print a trailing slash (therefore, the root directory is an
41029 empty string).
41030 (convert_system_path_to_grub_path): Do not remove trailing slash
41031 from make_system_path_relative_to_its_root() output.
41032
41033 * util/i386/pc/grub-install.in: Add trailing slash to output from
41034 make_system_path_relative_to_its_root().
41035
6cf12cbd 410362008-05-06 Robert Millan <rmh@aybabtu.com>
41037
41038 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41039 ensures that output lines aren't intermangled with those sent to
41040 stderr (via grub_util_info()).
41041 * util/grub-probe.c (grub_refresh): Likewise.
41042 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41043
0fbb3117 410442008-05-05 Christian Franke <franke@computer.org>
41045
41046 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41047 Add Cygwin device names.
41048 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41049 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41050 (check_device): Return error instead of success on empty name.
41051 (make_device_map): Move label inside linux specific code to
41052 prevent compiler warning.
41053
8124cdb7 410542008-04-30 Robert Millan <rmh@aybabtu.com>
41055
41056 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41057 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41058 first boot option.
41059 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41060
094c01d0 410612008-04-29 Robert Millan <rmh@aybabtu.com>
41062
41063 * docs/grub.cfg: New file (example GRUB configuration).
41064
f4b1fc02 410652008-04-26 Robert Millan <rmh@aybabtu.com>
41066
329ce2a5 41067 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41068 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41069 and `disk/ieee1275/nand.c'.
f4b1fc02 41070
25f16ec1 410712008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41072
25f16ec1 41073 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41074 i386-linuxbios.
41075
41076 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41077 change the buffer size to 4096 for cdrom device.
41078
41079 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41080 and nand.mod.
41081 (_linux_mod_SOURCES): New variable.
41082 (_linux_mod_CFLAGS): Likewise.
41083 (_linux_mod_LDFLAGS): Likewise.
41084 (linux_mod_SOURCES): Likewise.
41085 (linux_mod_CFLAGS): Likewise.
41086 (linux_mod_LDFLAGS): Likewise.
41087 (nand_mod_SOURCES): Likewise.
41088 (nand_mod_CFLAGS): Likewise.
41089 (nand_mod_LDFLAGS): Likewise.
41090
41091 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41092 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41093 type property. (nand device in olpc don't have this property)
41094
41095 * include/grub/disk.h (grub_disk_dev_id): New macro
41096 GRUB_DISK_DEVICE_NAND_ID.
41097
41098 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41099 function prototype.
41100 (grub_rescue_cmd_initrd): Likewise.
41101
41102 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41103 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41104 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41105
25f16ec1 41106 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41107 GRUB_MACHINE_IEEE1275 is defined.
41108
41109 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41110 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41111
41112 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41113 on nested function heap_init.
41114 (grub_upper_mem): New variable for i386-ieee1275.
41115 (grub_get_extended_memory): New function for i386-ieee1275.
41116 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41117
41118 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41119 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41120 property.
f19dbdb7 41121
25f16ec1 41122 * loader/i386/ieee1275/linux.c: New file.
41123
41124 * loader/i386/ieee1275/linux_normal.c: New file.
41125
41126 * disk/ieee1275/nand.c: New file.
41127
e89d61e9 411282008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41129
41130 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41131 value.
41132 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41133
602566f6 411342008-04-18 Robert Millan <rmh@aybabtu.com>
41135
41136 Restructures early code path on ieee1275 to unify grub_main() as
41137 the first C function that is executed in every platform.
41138
41139 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41140 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41141 cmain().
41142 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41143 * kern/ieee1275/cmain.c (cmain): Rename to ...
41144 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41145 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41146 at the beginning.
41147
57490c2b 411482008-04-18 Robert Millan <rmh@aybabtu.com>
41149
41150 * util/update-grub.in: Fix syntax error when setting
41151 `GRUB_PRELOAD_MODULES'.
41152 Reported by Stephane Chazelas <stephane@artesyncp.com>
41153
1977517d 411542008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41155
41156 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41157 section into account, newer toolchains generate unique build ids
41158 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41159 we want build ids to be preserved
1977517d 41160 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41161 far from other sections don't cause the raw binary images grow
41162 size
41163
bfb1f1a2 411642008-04-15 Robert Millan <rmh@aybabtu.com>
41165
41166 * disk/lvm.c: Update copyright year.
41167 * kern/misc.c: Likewise.
41168
01979850 411692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41170
41171 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41172 there is no memory left for physical volume name.
01979850 41173
0a1150e2 411742008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41175
41176 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41177 volume name mapping to support bigger than 9 character names properly.
41178
82ead3fe 411792008-04-13 Robert Millan <rmh@aybabtu.com>
41180
41181 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41182 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41183
e54a72f5 411842008-04-13 Christian Franke <franke@computer.org>
41185
41186 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41187 to create a floppy emulation boot CD when non emulation mode
41188 does not work.
41189 Enable Joliet CD filesystem extension.
41190
9fe86034 411912008-04-13 Robert Millan <rmh@aybabtu.com>
41192
41193 * kern/misc.c (grub_strncat): Fix off-by-one error.
41194 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41195
41196 * kern/env.c (grub_env_context_close): Clear current context, not
41197 previous one.
41198 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41199
41200 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41201
7ceeee39 412022008-04-13 Robert Millan <rmh@aybabtu.com>
41203
41204 Improve robustness when handling LVM.
41205
41206 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41207 (and leave `*p' unmodified).
7ceeee39 41208 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41209 through it.
41210 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41211 iterating through it.
41212 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41213 through it.
fe6b695a 41214 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41215 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41216 Don't assume `vg->pvs != NULL' when iterating through it.
41217
58cd3d85 412182008-04-13 Robert Millan <rmh@aybabtu.com>
41219
41220 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41221 * genmk.rb (partmap): New variable.
41222 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41223 (#{partmap}): New target rule.
41224 * genpartmaplist.sh: New file.
41225 * Makefile.in (pkglib_DATA): Add partmap.lst.
41226 (partmap.lst): New target rule.
41227 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41228 modules (including all partition maps), instead of preloading them.
41229
78b51059 412302007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41231
41232 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41233 `linux-boot-prober' (if installed) to detect other operating
41234 systems which are installed on the computer and add them to
41235 the boot menu.
41236 * conf/common.rmk: Build and install 30_os-prober.
41237
a91627b4 412382008-04-12 Robert Millan <rmh@aybabtu.com>
41239
41240 * kern/powerpc/ieee1275/init.c: Move from here ...
41241 * kern/ieee1275/init.c: ... to here. Update all users.
41242
41243 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41244 * kern/ieee1275/cmain.c: ... to here. Update all users.
41245
41246 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41247 * kern/ieee1275/openfw.c: ... to here. Update all users.
41248
41249 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41250 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41251
322562ea 412522008-04-10 Pavel Roskin <proski@gnu.org>
41253
41254 * configure.ac: Always use "_cv_" in cache variables for
41255 compatibility with Autoconf 2.62.
41256
a02a73c5 412572008-04-07 Robert Millan <rmh@aybabtu.com>
41258
41259 Revert grub/machine/init.h addition by Pavel (since it breaks on
41260 i386-ieee1275 and others):
41261 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41262 * util/powerpc/ieee1275/misc.c: Likewise.
41263
25c024b1 412642008-04-07 Robert Millan <rmh@aybabtu.com>
41265
41266 * util/grub-probe.c (probe): Improve error message.
41267
3cbd2f98 412682008-04-07 Robert Millan <rmh@aybabtu.com>
41269
41270 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41271 (this prevents the presence of a bogus entry from ruining the whole
41272 thing).
41273
87a297bf 412742008-04-06 Pavel Roskin <proski@gnu.org>
41275
36747a62 41276 * util/biosdisk.c: Include grub/util/biosdisk.h.
41277 * util/grub-fstest.c (execute_command): Make static.
41278 * util/grub-mkdevicemap.c (check_device): Likewise.
41279 * util/i386/pc/misc.c: Include grub/machine/init.h.
41280 * util/powerpc/ieee1275/misc.c: Likewise.
41281 * util/lvm.c: Include grub/util/lvm.h.
41282 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41283 grub/cache.h.
41284 * util/raid.c: Include grub/util/raid.h.
41285 (grub_util_getdiskname): Make static.
41286
87a297bf 41287 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41288 grub_hostfs_fini(), as they are called from grub_init_all() and
41289 grub_fini_all() respectively. This fixes an infinite loop in
41290 grub-fstest due to double registration of hostfs.
41291 Reported by Christian Franke <Christian.Franke@t-online.de>
41292
f6ce7629 412932008-04-05 Pavel Roskin <proski@gnu.org>
41294
41295 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41296 all 8 functions. Otherwise, probe function 0 only.
41297
070e49e4 412982008-04-04 Pavel Roskin <proski@gnu.org>
41299
8b088a4c 41300 * commands/lspci.c (grub_lspci_iter): Print the bus number
41301 correctly.
41302
4f657021 41303 * commands/lspci.c (grub_pci_classes): Fix typos.
41304 (grub_lspci_iter): Don't print func twice. Print vendor ID
41305 before device ID, as it's normally done.
41306
070e49e4 41307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41308 Fix signedness warnings.
41309 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41310 Likewise.
41311 * util/ieee1275/get_disk_name.c: Include config.h so that
41312 _GNU_SOURCE is defined and getline() is declared. Mark an
41313 unused argument as such. Fix a signedness warning.
41314
ba7328dc 413152008-04-02 Pavel Roskin <proski@gnu.org>
41316
26887f22 41317 * genkernsyms.sh.in: Use more robust assignments for CC and
41318 srcdir. Quote srcdir.
41319 * gensymlist.sh.in: Likewise. Assert at the compile time that
41320 the symbol table is not empty.
41321
ba7328dc 41322 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41323 * fs/cpio.c (grub_cpio_read): Likewise.
41324
0f582c6b 413252008-04-01 Pavel Roskin <proski@gnu.org>
41326
4b6e1995 41327 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41328 * disk/host.c (grub_host_open): Likewise.
41329 * disk/loopback.c (grub_loopback_open): Likewise.
41330 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41331 disk->id as in disk/host.c, not a multi-character constant.
41332
828a2768 41333 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41334 later is obsolete, potentially dangerous and sets a bad example.
41335 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41336 * util/misc.c (grub_util_get_image_size): Likewise.
41337
2bb4fb47 41338 * disk/loopback.c (options): Improve help for "--partitions".
41339
0f582c6b 41340 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41341 options to align them with the short options, e.g. "echo -e".
41342
a33224e0 413432008-03-31 Bean <bean123ch@gmail.com>
41344
41345 * video/reader/png.c (grub_png_data): New member is_16bit and
41346 image_data.
41347 (grub_png_decode_image_header): Detect 16 bit png image.
41348 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41349 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41350 (grub_video_reader_png): Release memory occupied by image_data.
41351
41352 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41353 4096 bytes.
41354 (grub_nfs_mount): Skip the test for sector per cluster.
41355
41356 * include/grub/ntfs.h (MAX_SPC): Removed.
41357
86cb4f54 413582008-03-31 Bean <bean123ch@gmail.com>
41359
41360 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41361 (grub_probe_SOURCES): Add fs/afs.c.
41362 (grub_fstest_SOURCES): Likewise.
41363 (afs_mod_SOURCES): New variable.
41364 (afs_mod_CFLAGS): Likewise.
41365 (afs_mod_LDFLAGS): Likewise.
41366
41367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41368 (grub_emu_SOURCES): Likewise.
41369
41370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41371
41372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41373
41374 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41375
41376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41377
41378 * fs/afs.c: New file.
41379
17c74c21 413802008-03-30 Pavel Roskin <proski@gnu.org>
41381
4cb68e89 41382 * disk/host.c: Include grub/misc.h to fix a warning.
41383 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41384 warnings about implicit declarations.
41385
8790bb04 41386 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41387 variable.
41388 * include/grub/i386/loader.h: Change declaration of
41389 grub_linux_boot() to match what grub_loader_set() expects.
41390 * util/getroot.c (grub_guess_root_device): Return const char* to
41391 fix a warning.
41392 * util/grub-probe.c (probe): Fix a warning about uninitialized
41393 abstraction_name variable.
41394 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41395 second argument as unused to fix a warning.
41396
9a3f3296 41397 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41398 missing grub_error() call.
41399
0ecef90d 41400 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41401 2.60 and newer uses it to define datadir.
41402
0bf6d401 41403 * commands/sleep.c: Fix warning about implicit declaration.
41404 * disk/memdisk.c: Likewise.
41405 * loader/aout.c: Likewise.
41406 * loader/i386/bsd_normal.c: Likewise.
41407 * util/grub-probe.c: Likewise.
41408
7cdacf97 41409 * commands/i386/cpuid.c (has_longmode): Make static.
41410 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41411 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41412
17c74c21 41413 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41414 GDT. This is more robust, as %ds can change.
41415 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41416 calling real_to_prot().
41417 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41418
80a3e68b 414192008-03-28 Pavel Roskin <proski@gnu.org>
41420
41421 * kern/i386/pc/startup.S: Assert that uncompressed functions
41422 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41423 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41424 code, as they push parts of the code (error handlers) beyond
41425 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41426 code as correctness and size.
41427
77bcd272 414282008-03-28 Pavel Roskin <proski@gnu.org>
41429
41430 * kern/i386/pc/startup.S
41431 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41432 data block address to the real mode, keep offset minimal. This
41433 works around a bug in AWARD BIOS on old Athlon systems, which
41434 makes CD detection hang.
41435
c5dfd43b 414362008-03-26 Pavel Roskin <proski@gnu.org>
41437
41438 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41439 const.
41440 * include/grub/normal.h: Add grub_parse_color_name_pair()
41441 declaration.
41442
bf962df2 414432008-03-24 Bean <bean123ch@gmail.com>
41444
41445 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41446 (cd_count): Removed.
41447 (cd_drive): New variable.
41448 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41449 (grub_biosdisk_call_hook): Likewise.
41450 (grub_biosdisk_iterate): Change cdrom detection method.
41451 (grub_biosdisk_open): Replace cd_start with cd_drive.
41452 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41453 detect cdrom device.
41454
41455 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41456 Removed.
41457 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41458 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41459 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41460 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41461 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41462 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41463 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41464 (grub_biosdisk_cdrp): New structure.
41465 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41466
41467 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41468
41469 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41470 device.
41471
41472 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41473 New function.
41474
68e7fc7a 414752008-03-20 Robert Millan <rmh@aybabtu.com>
41476
41477 Remove 2 TiB limit in ata.mod.
41478 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41479 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41480 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41481 grub_uint64_t instead of grub_uint32_t.
41482
38ad2cf5 414832008-03-05 Bean <bean123ch@gmail.com>
41484
41485 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41486 (grub_multiboot): Set boot device.
41487
41488 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41489
2b89344e 414902008-03-02 Bean <bean123ch@gmail.com>
41491
41492 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41493 symlink_buffer.
41494
87a95d1f 414952008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41496
41497 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41498 texinfo.tex.
41499
41500 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41501 modified.
41502
41503 * docs/fdl.texi: New file.
f19dbdb7 41504
87a95d1f 41505 * docs/mdate-sh: New file. Copied from gnulib.
41506 * docs/texinfo.tex: Likewise.
41507
41508 * config.guess: Updated from gnulib.
41509 * install-sh: Likewise.
41510
7dc15d8e 415112008-02-28 Robert Millan <rmh@aybabtu.com>
41512
41513 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41514 (aout_mod_SOURCES): New variable.
41515 (aout_mod_CFLAGS): Likewise.
41516 (aout_mod_LDFLAGS): Likewise.
41517
41518 * conf/i386-ieee1275.rmk: Likewise.
41519
b00ab696 415202008-02-28 Robert Millan <rmh@aybabtu.com>
41521
41522 * util/update-grub.in: Reorganise terminal validity check. Accept
41523 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41524 Based on suggestion by Franklin PIAT.
41525
79ca2d78 415262008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41527
41528 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41529 function.
41530 * util/getroot.c (grub_util_check_block_device): New function that
41531 returns the given argument if it is a block device and returns NULL else.
41532 * util/grub-probe.c (argument_is_device): New variable.
41533 (probe): Promote device_name from a variable to an argument. Receive
41534 device_name from grub_util_check_block_device() if path is NULL and from
41535 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41536 (options): Introduce new parameter '-d, --device'.
79ca2d78 41537 (main): Add description of the new parameter to the help screen.
41538 Rename path variable to argument. Set argument_is_device if the '-d'
41539 option is given. Pass argument to probe() depending on
41540 argument_is_device.
41541
0d16e571 415422008-02-24 Bean <bean123ch@gmail.com>
41543
41544 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41545 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41546 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41547 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41548 (GRUB_ISO9660_VOLDESC_END): Likewise.
41549 (grub_iso9660_primary_voldesc): New member escape.
41550 (grub_iso9660_data): New member joliet.
41551 (grub_iso9660_convert_string): New function.
41552 (grub_iso9660_mount): Detect joliet extension.
41553 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41554 (grub_iso9660_iso9660_label): Likewise.
41555
41556 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41557 (grub_setup_SOURCES): Add fs/udf.c.
41558 (grub_fstest_SOURCES): Likewise.
41559 (udf_mod_SOURCES): New variable.
41560 (udf_mod_CFLAGS): Likewise.
41561 (udf_mod_LDFLAGS): Likewise.
41562
41563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41564 (grub_emu_SOURCES): Likewise.
41565
41566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41567
41568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41569
41570 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41571
41572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41573
41574 * fs/udf.c: New file.
41575
8a594a17 415762008-02-24 Robert Millan <rmh@aybabtu.com>
41577
41578 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41579 (normal/lexer.c_DEPENDENCIES): New variables.
41580 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41581 (normal/lexer.c_DEPENDENCIES): Likewise.
41582 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41583 (normal/lexer.c_DEPENDENCIES): Likewise.
41584 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41585 (normal/lexer.c_DEPENDENCIES): Likewise.
41586 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41587 (normal/lexer.c_DEPENDENCIES): Likewise.
41588 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41589 (normal/lexer.c_DEPENDENCIES): Likewise.
41590
2dc33c03 415912008-02-23 Robert Millan <rmh@aybabtu.com>
41592
41593 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41594 since they were intended to be in hex. This didn't break previously
41595 because of a bug in gpt_partition_map_iterate() (see below).
41596
41597 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41598 when checking the validity of GPT header.
41599 Remove `partno', since it always provides the same information as `i'.
41600
f6f4cfb0 416012008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41602
41603 * include/grub/efi/time.h: Fix a wrong comment.
41604
79ff665f 416052008-02-19 Pavel Roskin <proski@gnu.org>
41606
41607 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41608 message.
41609
d38e24c2 416102008-02-19 Bean <bean123ch@gmail.com>
41611
41612 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41613 (aout_mod_SOURCES): New variable.
41614 (aout_mod_CFLAGS): Likewise.
41615 (aout_mod_LDFLAGS): Likewise.
41616 (_bsd_mod_SOURCES): New variable.
41617 (_bsd_mod_CFLAGS): Likewise.
41618 (_bsd_mod_LDFLAGS): Likewise.
41619 (bsd_mod_SOURCES): New variable.
41620 (bsd_mod_CFLAGS): Likewise.
41621 (bsd_mod_LDFLAGS): Likewise.
41622
41623 * include/grub/aout.h: New file.
41624
41625 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41626
41627 * include/grub/i386/bsd.h: New file.
41628
41629 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41630 to make it public.
41631
41632 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41633 function is called, so that it's possible to change it inside the hook.
41634 (grub_elf64_load): Likewise.
41635 (grub_elf_file): Don't close the file if elf header is not found.
41636 (grub_elf_close): Close the file if grub_elf_file fails (The new
41637 grub_elf_file won't close it).
41638 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41639 (grub_elf64_size): Likewise.
41640
41641 * kern/i386/loader.S (grub_unix_real_boot): New function.
41642
41643 * loader/aout.c: New file.
41644
41645 * loader/i386/bsd.c: New file.
41646
41647 * loader/i386/bsd_normal.c: New file.
41648
41649 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41650
41651 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41652 can test other formats.
d38e24c2 41653
b93bdb0f 416542008-02-19 Robert Millan <rmh@aybabtu.com>
41655
41656 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41657 (grub_gpt_partition_type_empty): Redefine with macro from
41658 `<grub/gpt_partition.h>'.
41659 (gpt_partition_map_iterate): Adjust partition type comparison.
41660
41661 Export `entry' as partmap-specific `part.data' struct.
41662 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41663
41664 * include/grub/gpt_partition.h (grub_gpt_header)
41665 (grub_gpt_partentry): ... to here (new file).
41666
41667 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41668
41669 (grub_gpt_partition_type_bios_boot): New const variable, defined
41670 with macro from `<grub/gpt_partition.h>'.
41671
41672 (setup): Replace `first_start' with `embed_region', which keeps
41673 track of the embed region (and is partmap-agnostic).
41674
41675 Replace find_first_partition_start() with find_usable_region(),
41676 which finds a usable region for embedding using partmap-specific
41677 knowledge (supports PC/MSDOS and GPT).
41678
41679 Fix all assumptions that the embed region start at sector 1, using
41680 `embed_region.start' from now on. Similarly, use `embed_region.end'
41681 rather than `first_start' to calculate available size.
41682
41683 In grub_util_info() message, replace "into after the MBR" with an
41684 indication of the specific sector our embed region starts at.
41685
66cb40f6 416862008-02-19 Robert Millan <rmh@aybabtu.com>
41687
41688 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41689 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41690 `commands/reboot.c'.
41691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41692 (halt_mod_SOURCES): Likewise.
41693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41694 (halt_mod_SOURCES): Likewise.
41695
b7202015 416962008-02-17 Christian Franke <franke@computer.org>
41697
41698 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41699
32b0fc49 417002008-02-17 Robert Millan <rmh@aybabtu.com>
41701
41702 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41703 set `first_start' to 0 for non-PC/MSDOS partition maps.
41704
aca63502 417052008-02-16 Robert Millan <rmh@aybabtu.com>
41706
41707 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41708 do not assume partition map is PC/MSDOS before performing checks that
41709 are specific to that layout.
41710
0de8be86 417112008-02-13 Robert Millan <rmh@aybabtu.com>
41712
41713 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41714 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41715 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41716
c3db8364 417172008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41718
41719 * configure.ac: Only a cosmetic change on the handling of
41720 -fno-stack-protector.
41721
f714229e 417222008-02-12 Alexandre Boeglin <alex@boeglin.org>
41723
c3db8364 41724 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41725 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41726 reboot.c.
f714229e 41727 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41728 (halt_mod_SOURCES): New variable.
41729 (halt_mod_CFLAGS): Likewise.
41730 (halt_mod_LDFLAGS): Likewise.
41731 (reboot_mod_SOURCES): Likewise.
41732 (reboot_mod_CFLAGS): Likewise.
41733 (reboot_mod_LDFLAGS): Likewise.
41734
c3db8364 41735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41736 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41737 reboot.c.
f714229e 41738 (halt_mod_SOURCES): Likewise.
41739 (reboot_mod_SOURCES): Likewise.
41740
c3db8364 41741 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41742 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41743 (reboot_mod_SOURCES): Likewise.
41744
41745 * commands/i386/pc/reboot.c: merge this file ...
41746
41747 * commands/ieee1275/reboot.c: ... and this file ...
41748
41749 * commands/reboot.c: ... to this file.
c3db8364 41750 Add some precompiler directive to include the correct header for
41751 each machine.
f714229e 41752
41753 * commands/ieee1275/halt.c: move this file ...
41754
41755 * commands/halt.c: ... to here.
c3db8364 41756 Add some precompiler directive to include the correct header for
41757 each machine.
f714229e 41758
41759 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41760 (grub_halt): Likewise.
41761
41762 * kern/efi/efi.c (grub_reboot): New function.
41763 (grub_halt): Likewise.
41764
c74493e0 417652008-02-12 Robert Millan <rmh@aybabtu.com>
41766
41767 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41768 /dev (like it is done for /dev/mapper). This doesn't provide support
41769 for EVMS, but at least it is now easy to identify the problem when it
41770 arises.
41771
d0db4b04 417722008-02-11 Robert Millan <rmh@aybabtu.com>
41773
41774 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41775 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41776 comparing it with -1, not 0.
41777
bf748642 417782008-02-10 Robert Millan <rmh@aybabtu.com>
41779
41780 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41781 `disk/lvm.c'.
41782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41783 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41784
41785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41786 `disk/lvm.c' to the end of the list.
41787 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41789
b5db202a 417902008-02-10 Robert Millan <rmh@aybabtu.com>
41791
41792 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41793 grub_print_error() instead. This will let user know why we're entering
41794 rescue mode.
41795 Based on suggestions from Sam Morris.
41796
83abee31 417972008-02-10 Alexandre Boeglin <alex@boeglin.org>
41798
41799 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41800 on remaining N args, instead of "--" arg N times.
41801
78d5a08b 418022008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41803
41804 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41805 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41806 pattern for unknown glyphs.
41807
68807e5f 418082008-02-09 Robert Millan <rmh@aybabtu.com>
41809
41810 * configure.ac: Probe for `help2man'.
41811 * Makefile.in (builddir): New variable.
41812 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41813 or otherwise add a few flags/options to it.
41814 (install-local): For every executable utility or script that is
41815 installed, invoke $(HELP2MAN) to install a manpage based on --help
41816 output.
41817
41818 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41819 that it doesn't prevent --help from working in build tree.
41820
41821 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41822 with `bug-grub@gnu.org'.
41823 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41824 * util/update-grub.in (usage): New function.
41825 Implement proper argument check, with support for --help and --version
41826 (as well as existing -y).
41827
418282008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41829
41830 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41831 avoid overwriting previous output.
41832 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41833
c1962162 418342008-02-09 Robert Millan <rmh@aybabtu.com>
41835
41836 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41837 drawing the menu.
41838
3dac2e3f 418392008-02-09 Robert Millan <rmh@aybabtu.com>
41840
41841 * commands/sleep.c: New file.
41842 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41843 (sleep_mod_SOURCES): New variable.
41844 (sleep_mod_CFLAGS): Likewise.
41845 (sleep_mod_LDFLAGS): Likewise.
41846
7a634e08 418472008-02-09 Robert Millan <rmh@aybabtu.com>
41848
41849 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41850 situations in which we can deduce the RAID size and the superblock
41851 doesn't match it.
41852
b92f0c18 418532008-02-09 Robert Millan <rmh@aybabtu.com>
41854
41855 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41856 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41857 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41858
41859 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41860 and return a grub_diskmemberlist_t composed of physical array members.
41861 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41862
41863 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41864 prototype.
41865 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41866 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41867 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41868
41869 * util/grub-probe.c (probe): Move partmap probing code from here ...
41870 (probe_partmap): ... to here.
41871 (probe): Use probe_partmap() once for the disk we're probing, and
41872 additionally, when such disk contains a memberlist() struct member,
41873 once for each disk that is contained in the structure returned by
41874 memberlist().
41875
91a4bf68 418762008-02-09 Robert Millan <rmh@aybabtu.com>
41877
41878 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41879 environment variable to 'all' in order to obtain debug output from
41880 non-util/ code.
41881 * util/i386/pc/grub-setup.c (main): Likewise.
41882
a96f9caa 418832008-02-08 Robert Millan <rmh@aybabtu.com>
41884
41885 * disk/raid.c (grub_raid_scan_device): Check for
41886 `array->device[sb.this_disk.number]' rather than for
41887 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41888 guaranteed to be accessible.
a96f9caa 41889
b37a9222 418902008-02-08 Robert Millan <rmh@aybabtu.com>
41891
41892 * disk/raid.c: Update copyright.
41893 * fs/cpio.c: Likewise.
41894 * include/grub/raid.h: Likewise.
41895 * loader/i386/pc/multiboot.c: Likewise.
41896 * util/hostfs.c: Likewise.
41897
5626aee1 418982008-02-08 Robert Millan <rmh@aybabtu.com>
41899
41900 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41901 to a grub_disk_t array.
41902 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41903 `device[x]'.
41904 (grub_raid_scan_device): Replace `device[x].name' accesses with
41905 `device[x]->name'. Simplify initialization of `array->device[x]'.
41906
554f0187 419072008-02-08 Robert Millan <rmh@aybabtu.com>
41908
41909 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41910 grub_dprintf() calls.
41911 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41912 error message.
41913
1ec8425d 419142008-02-07 Christian Franke <franke@computer.org>
41915
41916 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41917 instead of fseek and ftell to support large files.
41918 (grub_hostfs_read): Likewise.
41919
f2156fda 419202008-02-07 Robert Millan <rmh@aybabtu.com>
41921
41922 Patch from Jeroen Dekkers.
41923 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41924 failure, since successfully reading all array members might not be
f2156fda 41925 required.
41926
9216e0e7 419272008-02-06 Robert Millan <rmh@aybabtu.com>
41928
41929 * util/grub-probe.c (probe): Simplify partmap probing (with the
41930 assumption that the first word up to the underscore equals to
41931 the module name).
41932
b0dfd29a 419332008-02-06 Christian Franke <franke@computer.org>
41934
41935 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41936 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41937 last block of a cpio or tar stream.
41938 Check for "TRAILER!!!" instead of any empty data
41939 block to detect last block of a cpio stream.
41940 (grub_cpio_dir): Fix constness of variable np.
41941 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41942 cpio or tar trailer is detected. This fixes a crash
41943 on open of a non existing file.
41944
c32865bf 419452008-02-05 Bean <bean123ch@gmail.com>
41946
41947 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41948 address of entry.
41949 (grub_multiboot_load_elf64): Likewise.
41950 (grub_multiboot): Initialize mbi structure.
41951
41952 * util/grub-fstest.c: Don't include unused header file script.h.
41953
fe6b695a 41954 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41955 of file.
41956 (grub_fstest_SOURCES): Likewise.
41957
409480b7 419582008-02-05 Robert Millan <rmh@aybabtu.com>
41959
41960 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41961 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41962 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41963 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41964
41965 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41966 (translation_table): Replace hardcoded values with macros
41967 provided by `<grub/term.h>'.
41968
41969 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41970 (keyboard_map): Correct/add a few values, with macros provided
41971 by `<grub/term.h>'.
41972 (keyboard_map_shift): Zero values that don't differ from their
41973 `keyboard_map' equivalents.
41974 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41975 Discard the second scan code that is always sent by Caps lock.
41976 Only use `keyboard_map_shift' when it provides a non-zero value,
41977 otherwise fallback to `keyboard_map'.
41978
99fadbaa 419792008-02-04 Bean <bean123ch@gmail.com>
41980
41981 * Makefile.in (enable_grub_fstest): New variable.
41982
41983 * conf/common.rmk (grub_fstest_init.lst): New rule.
41984 (grub_fstest_init.h): Likewise.
41985 (grub_fstest_init.c): Likewise.
41986 (util/grub-fstest.c_DEPENDENCIES): New variable.
41987 (grub_fstest_SOURCES): Likewise.
41988
41989 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41990
41991 * util/grub-fstest.c: New file.
41992
bf567c50 419932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41994
41995 Make grub-setup handle a separate root device.
f19dbdb7 41996
bf567c50 41997 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41998 so that the root device can be compared with the destination
41999 device.
42000 When embedding the core image, if the root and destination devices
42001 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42002 0xFF.
42003 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42004
9be6b98b 420052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42006
42007 Add support for having a grub directory in a different drive. This
42008 is still only the data handling part.
f19dbdb7 42009
9be6b98b 42010 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42011 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42012 (grub_root_drive): New variable.
42013
42014 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42015 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42016 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42017 as it was.
42018
42019 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42020
42021 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42022 macro.
42023 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42024
42025 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42026 is bogus, because PXE booting does not specify any drive
42027 correctly.
42028
42029 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42030 am not sure if this is really correct.
42031
42032 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42033 is always identical to the boot drive when booting from a CD.
42034
42035 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42036 longer.
42037 (root_drive): New variable.
42038 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42039 (setup_sectors): Push %dx right after popping it, because %dh will
42040 be modified later.
42041 (copy_buffer): Restore %dx.
42042
e0ca0677 420432008-02-03 Robert Millan <rmh@aybabtu.com>
42044
42045 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42046 use `cdboot.img' for cdrom images.
42047
3b3f6629 420482008-02-03 Robert Millan <rmh@aybabtu.com>
42049
42050 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42051 only setup gfxterm when `font' command has succeeded.
42052
d42b3672 420532008-02-03 Robert Millan <rmh@aybabtu.com>
42054
42055 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42056 (grub_rescue_cmd_multiboot_loader)
42057 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42058
fa370ea6 420592008-02-03 Pavel Roskin <proski@gnu.org>
42060
e0c5dacb 42061 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42062 %edx and %esi from stack only after grub_gate_a20() is called.
42063 grub_gate_a20() clobbers %edx.
42064
f2a76e1d 420652008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42066
42067 * configure.ac (AC_INIT): Bumped to 1.96.
42068
42069 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42070 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42071 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42072 video/readers/png.c.
42073
90fd32d1 420742008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42075
42076 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42077 (cdboot_img_SOURCES): New variable.
42078 (cdboot_img_ASFLAGS): New variable.
42079 (cdboot_img_LDFLAGS): New variable.
42080
42081 * boot/i386/pc/cdboot.S: New file.
42082
42083 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42084 (cd_count): Likewise.
42085 (grub_biosdisk_get_drive): Add support for cd device.
42086 (grub_biosdisk_call_hook): Likewise.
42087 (grub_biosdisk_iterate): Likewise.
42088 (grub_biosdisk_open): Likewise.
42089 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42090 (grub_biosdisk_rw): Support reading from cd device.
42091 (GRUB_MOD_INIT): Iterate cd devices.
42092
42093 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42094 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42095 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42096
42097 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42098
4020aa53 420992008-02-02 Robert Millan <rmh@aybabtu.com>
42100
42101 * commands/read.c: New file.
42102 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42103 (read_mod_SOURCES): New variable.
42104 (read_mod_CFLAGS): Likewise.
42105 (read_mod_LDFLAGS): Likewise.
42106
e03a1132 421072008-02-02 Robert Millan <rmh@aybabtu.com>
42108
42109 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42110 determining whether menu has to be displayed.
42111
58c69220 421122008-02-02 Marco Gerards <marco@gnu.org>
42113
42114 * bus/pci.c: New file.
42115
42116 * include/grub/pci.h: Likewise.
42117
42118 * include/grub/i386/pc/pci.h: Likewise.
42119
42120 * commands/lspci.c: Likewise.
42121
42122 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42123 `lspci.mod'.
42124 (pci_mod_SOURCES): New variable.
42125 (pci_mod_CFLAGS): Likewise.
42126 (pci_mod_LDFLAGS): Likewise.
42127 (lspci_mod_SOURCES): Likewise.
42128 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42129 (lspci_mod_LDFLAGS): Likewise.
58c69220 42130
c004e1b4 421312008-02-02 Bean <bean123ch@gmail.com>
42132
42133 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42134 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42135
42136 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42137 (grub_xfs_btree_node): New structure.
42138 (grub_xfs_btree_root): New structure.
42139 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42140 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42141 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42142 (GRUB_XFS_EXTENT_SIZE): Likewise.
42143 (grub_xfs_read_block): Support btree format type.
42144 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42145 Use directory block as basic unit.
42146
42147 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42148
42149 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42150 __attribute__ ((__regparm__ (1))).
42151
f95562bf 421522008-02-01 Robert Millan <rmh@aybabtu.com>
42153
42154 Correct a mistake in previous commit.
42155
42156 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42157 top.
42158 (normal/command.c_DEPENDENCIES): New variable.
42159
7d31f41f 421602008-02-01 Robert Millan <rmh@aybabtu.com>
42161
42162 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42163 top.
42164 (normal/command.c_DEPENDENCIES): New variable.
42165 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42166 * conf/i386-ieee1275.rmk: Likewise.
42167 * conf/i386-linuxbios.rmk: Likewise.
42168 * conf/i386-pc.rmk: Likewise.
42169 * conf/sparc64-ieee1275.rmk: Likewise.
42170 * conf/powerpc-ieee1275.rmk: Likewise.
42171 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42172
42173 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42174
60b6be74 421752008-02-01 Robert Millan <rmh@aybabtu.com>
42176
42177 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42178 call at beginning of function.
42179
078522ab 421802008-01-31 Pavel Roskin <proski@gnu.org>
42181
42182 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42183 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42184 (grub_mkrescue_SOURCES): Likewise.
078522ab 42185 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42186
ccaa8a5f 421872008-01-30 Robert Millan <rmh@aybabtu.com>
42188
42189 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42190 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42191 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42192 (grub_probe_SOURCES): ... to here.
42193
42194 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42195 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42196 * conf/i386-ieee1275.rmk: Likewise.
42197 * conf/i386-linuxbios.rmk: Likewise.
42198 * conf/powerpc-ieee1275.rmk: Likewise.
42199
ae5a9cd7 422002008-01-30 Tristan Gingold <gingold@free.fr>
42201
42202 * kern/rescue.c: Silently accept empty lines.
42203
70bc2ef2 422042008-01-29 Bean <bean123ch@gmail.com>
42205
42206 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42207 (real_code_2): Code cleanup and change comment style.
42208 (move_memory): Avoid using 32-bit address mode.
42209
6a4d50ea 422102008-01-29 Bean <bean123ch@gmail.com>
42211
42212 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42213 (png_mod_SOURCES): New variable.
42214 (png_mod_CFLAGS): Likewise.
42215 (png_mod_LDFLAGS): Likewise.
42216
42217 * video/readers/png.c: New file.
42218
11cc30ac 422192008-01-28 Robert Millan <rmh@aybabtu.com>
42220
42221 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42222 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42223 `ifndef GRUB_MOD_GAP' hack.
42224 * util/elf/grub-mkimage.c (add_segments): Likewise.
42225
3abc589f 422262008-01-27 Robert Millan <rmh@aybabtu.com>
42227
42228 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42229 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42230 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42231
e1907778 422322008-01-27 Robert Millan <rmh@aybabtu.com>
42233
42234 Get grub-emu to build again (including parallel builds).
42235
42236 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42237 Split into ...
42238 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42239 (normal/execute.c_DEPENDENCIES): ... this, ...
42240 (grub-emu_DEPENDENCIES): ... and this.
42241
42242 * conf/i386-efi.rmk: Likewise.
42243 * conf/i386-linuxbios.rmk: Likewise.
42244 * conf/i386-ieee1275.rmk: Likewise.
42245 * conf/powerpc-ieee1275.rmk: Likewise.
42246 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42247
2216b101 422482008-01-27 Robert Millan <rmh@aybabtu.com>
42249
42250 * NEWS: Add a few items.
42251
f75172d9 422522008-01-27 Robert Millan <rmh@aybabtu.com>
42253
42254 Fix parallel builds with grub-emu. Based on earlier commit for
42255 grub-probe and grub-setup.
42256
42257 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42258 (util/grub-emu.c_DEPENDENCIES): ... this.
42259 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42260 (util/grub-emu.c_DEPENDENCIES): ... this.
42261 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42262 (util/grub-emu.c_DEPENDENCIES): ... this.
42263 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42264 (util/grub-emu.c_DEPENDENCIES): ... this.
42265 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42266 (util/grub-emu.c_DEPENDENCIES): ... this.
42267
3f51de77 422682008-01-27 Pavel Roskin <proski@gnu.org>
42269
42270 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42271 to create a gap between _end and the modules added to the image
42272 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42273 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42274 * util/elf/grub-mkimage.c (add_segments): Likewise.
42275
2033f53e 422762008-01-26 Pavel Roskin <proski@gnu.org>
42277
42278 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42279 just return an error.
42280
22da1f6f 422812008-01-26 Bean <bean123ch@gmail.com>
42282
42283 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42284 (grub_reiserfs_get_item): Save offset of the next item.
42285 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42286
2a9525e6 422872008-01-25 Robert Millan <rmh@aybabtu.com>
42288
42289 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42290 make all filesystem sources appear together (possibly fixing omissions
42291 while at it).
42292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42294 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42296
42297 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42298 add `kern/file.c'.
42299 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42300 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42301 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42302 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42303
42304 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42305 (probe): Add a sanity check to make sure of our ability to read
42306 requested files when probing for filesystem type.
42307
42308 * genmk.rb: Update copyright year (2007).
42309
42310 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42311 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42312 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42313 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42314 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42315 : Remove function prototypes.
42316
b95f71b5 423172008-01-25 Robert Millan <rmh@aybabtu.com>
42318
42319 Revert my previous commits (based on wrong assumption of how grub_errno
42320 works).
42321
fe6b695a 42322 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42323 * kern/file.c (grub_file_open): Likewise.
42324
d08bbb49 423252008-01-24 Pavel Roskin <proski@gnu.org>
42326
42327 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42328 that hang if GRUB tries to setup colors.
42329 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42330 colors for firmwares that don't support it.
42331 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42332 Recognize Open Hack'Ware, set flags to work around its
42333 limitations.
42334
605e36ed 423352008-01-24 Robert Millan <rmh@aybabtu.com>
42336
42337 * kern/file.c (grub_file_open): Do not account previous failures of
42338 unrelated functions when grub_errno is checked for.
42339 Reported by Oleg Strikov.
42340
bac332a1 423412008-01-24 Bean <bean123ch@gmail.com>
42342
42343 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42344 (grub_ufs_sblock): New member volume name.
42345 (grub_ufs_find_file): Fix string copy bug.
42346 (grub_ufs_label): Implement this function properly.
42347
42348 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42349 (grub_hfs_iterate_records): Use the correct file number for extents
42350 and catalog file. Fix problem in next index calculation.
42351 (grub_hfs_find_node): Replace recursive function call with loop.
42352 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42353
15c80c09 423542008-01-23 Robert Millan <rmh@aybabtu.com>
42355
42356 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42357 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42358 (grub_multiboot2_real_boot): New function prototype.
42359
42360 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42361 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42362
42363 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42364 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42365
305338fd 423662008-01-23 Robert Millan <rmh@aybabtu.com>
42367
42368 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42369 #ifdef'ed out grub_printf().
42370
3ea52685 423712008-01-23 Robert Millan <rmh@aybabtu.com>
42372
42373 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42374 grub_dprintf calls, since they make "debug=all" mode unusable.
42375 (grub_console_checkkey): Likewise.
42376
5882ae4b 423772008-01-23 Robert Millan <rmh@aybabtu.com>
42378
42379 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42380 `term/i386/pc/at_keyboard.c'.
42381 (pkglib_MODULES): Add `serial.mod'.
42382 (serial_mod_SOURCES): New variable.
42383 (serial_mod_CFLAGS): Likewise.
42384 (serial_mod_LDFLAGS): Likewise.
42385
42386 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42387 `<grub/powerpc/ieee1275/console.h>'.
42388 (grub_keyboard_controller_init): New function prototype.
42389 (grub_console_checkkey): Likewise.
42390 (grub_console_getkey): Likewise.
42391
42392 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42393 keyboard on i386.
42394
42395 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42396 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42397
06ab5303 423982008-01-23 Robert Millan <rmh@aybabtu.com>
42399
42400 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42401 present, "(memdisk)/boot/grub" becomes the default prefix.
42402
42403 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42404 a memdisk tarball with all the modules. Add --overlay=DIR option that
42405 allows users to overlay additional files into the image.
42406
dbb475a4 424072008-01-23 Robert Millan <rmh@aybabtu.com>
42408
42409 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42410 and `machine/memory.h'.
42411 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42412 (_multiboot_mod_SOURCES): New variable.
42413 (_multiboot_mod_CFLAGS): Likewise.
42414 (_multiboot_mod_LDFLAGS): Likewise.
42415 (multiboot_mod_SOURCES): Likewise.
42416 (multiboot_mod_CFLAGS): Likewise.
42417 (multiboot_mod_LDFLAGS): Likewise.
42418
42419 * include/grub/i386/ieee1275/loader.h: New file.
42420
42421 * include/grub/i386/ieee1275/machine.h: Likewise.
42422
42423 * include/grub/i386/ieee1275/memory.h: Likewise.
42424
42425 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42426 variable declaration.
42427 (grub_os_area_size): Likewise.
42428
42429 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42430 (grub_lower_mem, grub_upper_mem): New variables.
42431 (grub_stop_floppy): New function (just to make
42432 grub_multiboot2_real_boot() happy).
42433
42434 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42435 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42436 (grub_stop): New function.
42437 Include `"../realmode.S"' and `"../loader.S"'.
42438
42439 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42440 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42441
42442 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42443 rely on grub_multiboot2_real_boot() for final boot.
42444
25638629 424452008-01-22 Robert Millan <rmh@aybabtu.com>
42446
42447 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42448 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42449 device that doesn't look like an SD card.
42450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42451 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42453 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42454 found.
42455
9dad816d 424562008-01-22 Robert Millan <rmh@aybabtu.com>
42457
42458 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42459 avoid claiming over our own code.
42460
34842f2d 424612008-01-22 Bean <bean123ch@gmail.com>
42462
42463 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42464 (jpeg_mod_SOURCES): New variable.
42465 (jpeg_mod_CFLAGS): Likewise.
42466 (jpeg_mod_LDFLAGS): Likewise.
42467
42468 * video/readers/jpeg.c : New file.
42469
44023a28 424702008-01-22 Bean <bean123ch@gmail.com>
42471
42472 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42473 there are no more items.
42474
bc2d8ac6 424752008-01-21 Robert Millan <rmh@aybabtu.com>
42476
42477 * kern/mm.c (grub_mm_init_region): Improve debug message.
42478
261bd4bc 424792008-01-21 Robert Millan <rmh@aybabtu.com>
42480
42481 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42482 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42483 address.
42484 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42485 a C macro.
42486 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42487 Indicates start of upper memory.
42488 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42489 (generate_image): Abort when image size is big enough to corrupt
42490 upper memory.
42491
42492 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42493 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42494 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42495 instead of hardcoding 0xA0000.
42496 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42497 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42498 instead of hardcoding 0xA0000.
42499
f970b55e 425002008-01-21 Robert Millan <rmh@aybabtu.com>
42501
42502 * disk/memdisk.c (memdisk_size): New variable.
42503 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42504 `memdisk_size'.
42505 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42506 image to dynamic memory.
42507 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42508 `memdisk_size'. Free memdisk block.
42509
1a8b0526 425102008-01-21 Robert Millan <rmh@aybabtu.com>
42511
42512 Fix detection of very small filesystems (like tar).
42513
42514 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42515 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42516 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42517 a problem with this disk).
42518
6e9b4aab 425192008-01-21 Robert Millan <rmh@aybabtu.com>
42520
42521 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42522 on grub_biosdisk_rw_standard() error.
42523
0d8837b2 425242008-01-21 Robert Millan <rmh@aybabtu.com>
42525
42526 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42527 recent changes.
42528 * kern/elf.c: Likewise.
42529 * kern/ieee1275/ieee1275.c: Likewise.
42530 * kern/powerpc/ieee1275/openfw.c: Likewise.
42531 * term/ieee1275/ofconsole.c: Likewise.
42532
ffd36e34 425332008-01-21 Robert Millan <rmh@aybabtu.com>
42534
42535 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42536
3f0093d0 42537 * include/grub/kernel.h (grub_arch_memdisk_addr)
42538 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42539
3f0093d0 42540 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42541 (grub_arch_memdisk_size): ... to here.
ffd36e34 42542
6c391b21 425432008-01-21 Robert Millan <rmh@aybabtu.com>
42544
42545 Mostly based on bugfix from Bean.
42546
42547 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42548 attribute with hook() parameter.
42549 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42550 declaration.
42551 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42552 attribute with hook() parameter.
42553 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42554 declaration.
42555
55a581dc 425562008-01-21 Robert Millan <rmh@aybabtu.com>
42557
42558 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42559 (pkglib_MODULES): Add `memdisk.mod'.
42560 (memdisk_mod_SOURCES): New variable.
42561 (memdisk_mod_CFLAGS): Likewise.
42562 (memdisk_mod_LDFLAGS): Likewise.
42563
42564 * disk/memdisk.c: New file.
42565
42566 * include/grub/disk.h (grub_disk_dev_id): Add
42567 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42568
42569 * include/grub/i386/pc/kernel.h
42570 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42571 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42572 (grub_kernel_image_size): New variable declaration.
42573 (grub_total_module_size): Likewise.
42574 (grub_memdisk_image_size): Likewise.
42575
42576 * include/grub/i386/pc/memory.h
42577 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42578
42579 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42580 (grub_arch_memdisk_addr): New variable declaration.
42581 (grub_arch_memdisk_size): Likewise.
42582
42583 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42584 (grub_arch_memdisk_size): Likewise.
42585
42586 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42587 (codestart): Replace hardcoded `0x100000' with
42588 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42589
42590 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42591 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42592 not NULL, append the contents of the file it refers to, at the end of
42593 the compressed kernel image. Initialize `grub_memdisk_image_size'
42594 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42595 (options): Add "memdisk"|'m' option.
42596 (main): Parse --memdisk|-m option, and pass user-provided path as
42597 parameter to generate_image().
42598
3d7f54c9 425992008-01-20 Robert Millan <rmh@aybabtu.com>
42600
42601 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42602 grub_dprintf() calls from here ...
42603 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42604
0bf74728 426052008-01-20 Robert Millan <rmh@aybabtu.com>
42606
42607 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42608
42609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42610 declaration.
42611 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42612 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42613 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42614 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42615 property).
42616 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42617 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42618
33bf70a7 426192008-01-19 Robert Millan <rmh@aybabtu.com>
42620
fe6b695a 42621 Get rid of confusing function (superseded by
33bf70a7 42622 `grub_ieee1275_get_integer_property')
42623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42624 prototype.
42625 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42626 function.
42627 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42628 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42629 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42630
e2da7d26 426312008-01-19 Robert Millan <rmh@aybabtu.com>
42632
42633 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42634 command after "shut-down", since implementations differ on which
42635 the command for halt is.
42636
59f1fd8d 426372008-01-19 Robert Millan <rmh@aybabtu.com>
42638
42639 * include/grub/i386/linuxbios/console.h: Add header protection.
42640 (grub_keyboard_controller_init): New function prototype.
42641 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42642 (KEYBOARD_COMMAND_READ): Likewise.
42643 (KEYBOARD_COMMAND_WRITE): Likewise.
42644 (KEYBOARD_SCANCODE_SET1): Likewise.
42645 (grub_keyboard_controller_write): New function.
42646 (grub_keyboard_controller_read): Likewise.
42647 (grub_keyboard_controller_init): Likewise.
42648
42649 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42650 (grub_console_init): On coreboot/LinuxBIOS, call
42651 grub_keyboard_controller_init().
42652
5f5a7c15 426532008-01-19 Robert Millan <rmh@aybabtu.com>
42654
42655 PowerPC changes provided by Pavel Roskin.
42656
42657 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42658 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42659 don't rely on cmain() doing it.
42660 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42661 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42662
1210e168 426632008-01-16 Robert Millan <rmh@aybabtu.com>
42664
42665 * include/grub/i386/linuxbios/memory.h
42666 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42667 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42668 receive `table_header' as argument. Instead, probe for it in the
42669 known memory ranges where it can be present.
42670 (grub_available_iterate): Do not pass a fixed `table_header' address
42671 to grub_linuxbios_table_iterate().
42672
3d04eab8 426732008-01-15 Robert Millan <rmh@aybabtu.com>
42674
42675 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42676 * conf/i386-ieee1275.rmk: New file.
42677 * include/grub/i386/ieee1275/console.h: Likewise.
42678 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42679 * include/grub/i386/ieee1275/kernel.h: Likewise.
42680 * include/grub/i386/ieee1275/time.h: Likewise.
42681 * kern/i386/ieee1275/init.c: Likewise.
42682 * kern/i386/ieee1275/startup.S: Likewise.
42683
d1bc1b73 426842008-01-15 Robert Millan <rmh@aybabtu.com>
42685
42686 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42687 when pointers are 32-bit (but still do set it to one when they are
42688 64-bit).
42689
66a65807 426902008-01-15 Robert Millan <rmh@aybabtu.com>
42691
42692 * include/grub/ieee1275/ieee1275.h
42693 (grub_ieee1275_get_integer_property): New function prototype.
42694
42695 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42696 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42697 grub_ieee1275_get_property() to handle endianness.
66a65807 42698
42699 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42700 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42701 where appropriate.
66a65807 42702 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42703 (grub_map): Likewise.
42704 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42705
a83ccafd 427062008-01-15 Bean <bean123ch@gmail.com>
42707
42708 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42709 (grub_script_execute_cmdline): Reset grub_errno.
42710
42711 * normal/main.c (read_config_file): Reset grub_errno.
42712
42713 * normal/parse.y (script_init): New.
42714 (script): Move function and menuentry here.
42715 (delimiter): New.
42716 (command): Add delimiter at the end of command.
42717 (commands): Adjust to match the new command.
42718 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42719 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42720 (if): Use the new commands.
42721
42722 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42723
df6ecfc6 427242008-01-15 Robert Millan <rmh@aybabtu.com>
42725
42726 * normal/menu.c (run_menu): Move timeout message from here ...
42727 (print_timeout): ... to here.
42728 (run_menu): Use print_timeout() once during initial draw to print
42729 the whole message, and again in every clock tick to update only
42730 the number of seconds.
42731
87ae25eb 427322008-01-15 Robert Millan <rmh@aybabtu.com>
42733
42734 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42735 actual size of `available' from grub_ieee1275_get_property(), and
42736 restrict parsing to that bound.
42737
47bf09a4 427382008-01-15 Christian Franke <franke@computer.org>
42739
42740 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42741 (argp_program_version): Remove variable.
42742 (argp_program_bug_address): Likewise.
42743 (options): Convert from struct argp_option to struct option.
42744 (struct arguments): Remove.
42745 (parse_opt): Remove.
42746 (usage): New function.
42747 (main): Replace struct args members by simple variables.
42748 Replace argp_parse() by getopt_long().
42749 Add switch to evaluate options.
42750 Add missing "(...)" around root_dev in prefix string.
42751
c86f1469 427522008-01-14 Robert Millan <rmh@aybabtu.com>
42753
42754 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42755 for grub_ieee1275_exit(), in order to improve portability.
42756
e622c559 427572008-01-14 Robert Millan <rmh@aybabtu.com>
42758
42759 * util/grub.d/10_linux.in (prefix): Define.
42760 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42761
44cb1ec8 427622008-01-13 Pavel Roskin <proski@gnu.org>
42763
42764 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42765 grub_errno if no errors have been detected.
42766
1eb8c802 427672008-01-12 Robert Millan <rmh@aybabtu.com>
42768
42769 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42770 (grub_util_get_dev_abstraction): New function prototype.
42771
42772 * util/getroot.c: Include `<grub/util/getroot.h>'
42773 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42774 (grub_util_get_dev_abstraction): ... here (new function).
42775
42776 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42777 `PRINT_ABSTRACTION'.
42778 (probe): Probe for abstraction type when requested.
42779 (main): Understand `--target=abstraction'.
42780
42781 * util/i386/efi/grub-install.in: Add abstraction module to core
42782 image when it is found to be necessary.
42783 * util/i386/pc/grub-install.in: Likewise.
42784 * util/powerpc/ieee1275/grub-install.in: Likewise.
42785
42786 * util/update-grub_lib.in (font_path): Return system path without
42787 converting to GRUB path.
42788 * util/update-grub.in: Convert system path returned by font_path()
42789 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42790 abstraction module is needed for loading fonts (if any). Export
42791 that as `GRUB_PRELOAD_MODULES'.
42792 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42793 insmod commands).
42794
52bd3de9 427952008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42796
42797 Remove some unused code from reiserfs.
f19dbdb7 42798
52bd3de9 42799 * fs/reiserfs.c (struct grub_reiserfs_key)
42800 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42801 (struct grub_reiserfs_node_body): Removed.
42802 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42803 Likewise.
42804 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42805 Likewise.
42806 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42807 Likewise.
42808 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42809 Likewise.
42810 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42811 Likewise.
42812 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42813 Likewise.
42814 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42815 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42816 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42817
2f80039d 428182008-01-10 Robert Millan <rmh@aybabtu.com>
42819
42820 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42821 Determines if a file is garbage left by packaging systems, etc.
42822 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42823 for processing /etc/grub.d scripts.
42824 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42825 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42826 as a condition for processing Linux images.
42827
87888032 428282008-01-10 Pavel Roskin <proski@gnu.org>
42829
42830 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42831 to compile reiserfs.c on PowerPC.
42832
7e54fced 428332008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42834
42835 * kern/device.c (grub_device_iterate): Do not abort device iteration
42836 when one of the devices cannot be opened.
42837 * kern/disk.c (grub_disk_open): Do not account previous failures of
42838 unrelated functions when grub_errno is checked for.
42839
5aa541e6 428402008-01-08 Robert Millan <rmh@aybabtu.com>
42841
42842 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42843 `! grub_linux_is_bzimage', change order of address comparison to make
42844 it more intuitive, and improve "too big zImage" error message.
42845
7076340d 428462008-01-08 Robert Millan <rmh@aybabtu.com>
42847
42848 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42849 `$(update-grub_DATA)'.
42850 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42851 targets.
42852
9ca70333 428532008-01-07 Robert Millan <rmh@aybabtu.com>
42854
42855 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42856 which instruction is modified by grub-setup during installation
42857 (since it wasn't obvious by only looking at this file).
42858
38ccf575 428592008-01-07 Robert Millan <rmh@aybabtu.com>
42860
42861 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42862 listing actual TODO items.
42863
f5db4291 428642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42865
868967cf 42866 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42867 correctly.
42868 (grub_reiserfs_get_key_offset): Likewise.
42869 (grub_reiserfs_set_key_offset): Likewise.
42870 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42871 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42872
42873 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42874 better to remove the bitfield version completely.
f19dbdb7 42875
868967cf 428762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42877
f5db4291 42878 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42879 allocated from the heap, due to the fshelp implementation.
42880 (grub_reiserfs_dir): Free NODE, due to the same reason.
42881
492e6d9d 428822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42883
42884 Mostly from Vincent Pelletier:
f19dbdb7 42885
492e6d9d 42886 * fs/reiserfs.c: New file.
f19dbdb7 42887
492e6d9d 42888 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42889 (reiserfs_mod_SOURCES): New variable.
42890 (reiserfs_mod_CFLAGS): Likewise.
42891 (reiserfs_mod_LDFLAGS): Likewise.
42892
42893 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42894 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42895 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42896 normal/color.c.
42897
9ce3e7c1 428982008-01-06 Robert Millan <rmh@aybabtu.com>
42899
42900 * normal/color.c: Remove `<grub/env.h>'.
42901
f3b58148 429022008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42903
42904 * include/grub/normal.h: Include <grub/env.h>.
42905
7ac3bcfa 429062008-01-05 Robert Millan <rmh@aybabtu.com>
42907
42908 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42909 usage example with `(hd0,1)'.
fb358190 42910 Reported by Samuel Thibault.
7ac3bcfa 42911
c8ee99d7 429122008-01-05 Robert Millan <rmh@aybabtu.com>
42913
42914 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42915 (grub_linux_boot_zimage): Rename to ...
42916 (grub_linux_boot): ... this.
42917 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42918 (grub_linux_boot_zimage): Conditionalize zImage copy.
42919
42920 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42921 (grub_linux_boot_bzimage): Remove prototype.
42922 (grub_linux_boot_zimage): Rename to ...
42923 (grub_linux_boot): ... this.
42924
42925 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42926 (grub_linux_boot): Remove function.
42927
0ece25b1 429282008-01-05 Robert Millan <rmh@aybabtu.com>
42929
42930 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42931 (grub_env_write_color_highlight): Likewise.
42932 (grub_wait_after_message): Likewise.
42933
42934 * normal/color.c: New file.
42935
42936 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42937 (normal_mod_DEPENDENCIES): Likewise.
42938
42939 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42940 (normal_mod_DEPENDENCIES): Likewise.
42941
42942 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42943 (normal_mod_DEPENDENCIES): Likewise.
42944
42945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42946 (normal_mod_DEPENDENCIES): Likewise.
42947
42948 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42949 for waiting after a message is printed.
42950 * normal/main.c (read_config_file): Likewise.
42951 (grub_normal_init): Register grub_env_write_color_normal() and
42952 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42953 `color_highlight' variables as global.
42954
42955 * normal/menu.c (grub_wait_after_message): New function.
42956 (grub_color_menu_normal): New variable. Replaces ...
42957 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42958 (grub_color_menu_highlight): New variable. Replaces ...
42959 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42960 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42961 `GRUB_TERM_COLOR_STANDARD'.
42962 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42963 `normal_code' and `highlight_code' to `old_color_normal' and
42964 `old_color_highlight', respectively.
42965 (grub_menu_init_page): Update colors when drawing the menu, based on
42966 `menu_color_normal' and `menu_color_highlight' variables.
42967 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42968 a message is printed.
42969
182dd4e5 429702008-01-05 Robert Millan <rmh@aybabtu.com>
42971
42972 * kern/env.c (grub_env_context_open): Propagate hooks for global
42973 variables to new context.
42974
42975 * kern/main.c (grub_set_root_dev): Export `root' variable.
42976
ddf8f6ad 429772008-01-05 Robert Millan <rmh@aybabtu.com>
42978
42979 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42980 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42981 them.
42982
d8b43d9b 429832008-01-05 Robert Millan <rmh@aybabtu.com>
42984
42985 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42986
2bff2de3 429872008-01-04 Christian Franke <franke@computer.org>
42988
42989 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42990 of eisa_mmap.
42991
97eab917 429922008-01-03 Pavel Roskin <proski@gnu.org>
42993
42994 * kern/i386/linuxbios/init.c: Put "void" to all function
42995 declarations with no arguments.
42996 * kern/powerpc/ieee1275/init.c: Likewise.
42997 * term/i386/pc/at_keyboard.c: Likewise.
42998 * term/i386/pc/vga_text.c: Likewise.
42999 * util/grub-mkdevicemap.c: Likewise.
43000
b9416d00 430012008-01-02 Robert Millan <rmh@aybabtu.com>
43002
43003 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43004 message when loaded image is out of bounds.
43005 (grub_multiboot_load_elf64): Likewise.
43006
92695df9 430072008-01-02 Pavel Roskin <proski@gnu.org>
43008
43009 * util/grub.d/10_linux.in: Try version without ".old" when
43010 looking for initrd. It's better to use initrd from the newer
43011 kernel of the same version than no initrd at all.
43012
d98d9cad 430132008-01-01 Robert Millan <rmh@aybabtu.com>
43014
43015 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43016
dbfdce36 430172008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43018
f19dbdb7 43019 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43020 grub_video_get_active_render_target.
43021 (grub_video_adapter): Added unmap_color and get_active_render_target.
43022
f19dbdb7 43023 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43024 grub_video_get_active_render_target.
43025 (grub_video_get_info): Changed method to accept NULL pointer as an
43026 argument to allow detection of active video adapter.
43027
43028 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43029 grub_video_vbe_unmap_color_int.
43030 Added grub_video_vbe_unmap_color and
43031 grub_video_vbe_get_active_render_target.
43032 (grub_video_vbe_adapter): Added unmap_color and
43033 get_active_render_target.
43034
f19dbdb7 43035 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43036 with grub_video_vbe_unmap_color_int.
43037
43038 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43039 (DEFAULT_NORMAL_COLOR): Likewise.
43040 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43041 (DEFAULT_FG_COLOR): Removed.
43042 (DEFAULT_BG_COLOR): Likewise.
43043 (DEFAULT_CURSOR_COLOR): Changed value.
43044 (grub_virtual_screen): Added standard_color_setting,
43045 normal_color_setting, highlight_color_setting and term_color.
43046 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43047 (bitmap_width): Added.
43048 (bitmap_height): Likewise.
43049 (bitmap): Likewise.
43050 (set_term_color): Likewise.
43051 (grub_virtual_screen_setup): Changed to use new terminal coloring
43052 settings.
43053 (grub_gfxterm_init): Added init for bitmap.
43054 (grub_gfxterm_fini): Added destroy for bitmap.
43055 (redraw_screen_rect): Updated to use background bitmap and new
43056 terminal coloring.
43057 (scroll_up): Added optimization for case when there is no bitmap.
43058 (grub_gfxterm_cls): Fixed to use correct background color.
43059 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43060 coloring.
43061 (grub_virtual_screen_setcolor): Likewise.
43062 (grub_virtual_screen_getcolor): Added.
43063 (grub_gfxterm_background_image_cmd): Likewise.
43064 (grub_video_term): Added setcolor and getcolor.
43065 (MOD_INIT): Added registration of background_image command.
43066 (MOD_TERM): Added unregistration for background_image command.
43067
c3c20931 430682007-12-30 Pavel Roskin <proski@gnu.org>
43069
43070 * loader/multiboot_loader.c: Fix multiboot command
43071 unregistration. Fix all typos in the word "multiboot".
43072
df266716 430732007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43074
43075 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43076 support for initrd names used in Fedora.
43077
fc6e896c 430782007-12-26 Bean <bean123ch@gmail.com>
43079
43080 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43081 (cpio_mod_SOURCES): New variable.
43082 (cpio_mod_CFLAGS): Likewise.
43083 (cpio_mod_LDFLAGS): Likewise.
43084
43085 * fs/cpio.c: New file.
43086
43087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43088
43089 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43090
43091 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43092
43093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43094
533110ad 430952007-12-25 Robert Millan <rmh@aybabtu.com>
43096
43097 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43098 (grub_getcolor): New function.
43099
43100 * kern/term.c (grub_getcolor): New function.
43101 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43102 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43103 (print_entry): Set normal and highlight colors to
43104 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43105 respectively, before printing and restore them to old
43106 values afterwards.
43107 (grub_menu_init_page): Likewise. Fill an additional colored space
43108 that would otherwise be left blank.
43109
43110 * term/efi/console.c (grub_console_getcolor): New function.
43111 (struct grub_console_term.getcolor): New variable.
43112 * term/i386/pc/console.c (grub_console_getcolor): New function.
43113 (struct grub_console_term.getcolor): New variable.
43114 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43115 (struct grub_console_term.getcolor): New variable.
43116
43117 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43118 (struct grub_console_term.setcolor): Remove variable.
43119 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43120 (struct grub_console_term.setcolor): Remove variable.
43121 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43122 (struct grub_console_term.setcolor): Remove variable.
43123 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43124 (struct grub_console_term.setcolor): Remove variable.
43125
4931827f 431262007-12-25 Robert Millan <rmh@aybabtu.com>
43127
43128 * configure.ac: Search for possible unifont.hex locations, and
43129 define UNIFONT_HEX if found.
43130
43131 * Makefile.in (UNIFONT_HEX): Define variable.
43132 (DATA): Rename to ...
43133 (PKGLIB): ... this. Update all users.
43134 (PKGDATA): New variable.
43135 (pkgdata_IMAGES): Rename to ...
43136 (pkglib_IMAGES): ... this. Update all users.
43137 (pkgdata_MODULES): Rename to ...
43138 (pkglib_MODULES): ... this. Update all users.
43139 (pkgdata_PROGRAMS): Rename to ...
43140 (pkglib_PROGRAMS): ... this. Update all users.
43141 (pkgdata_DATA): Rename to ...
43142 (pkglib_DATA): ... this. Update all users.
43143 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43144 (unicode.pff, ascii.pff): New rules.
43145 (all-local): Add `$(PKGDATA)' dependency.
43146 (install-local): Process `$(PKGDATA)'.
43147
43148 * util/update-grub_lib.in (font_path): Search for *.pff files in
43149 a few more locations, including `${pkgdata}'.
43150
57e57e31 431512007-12-23 Robert Millan <rmh@aybabtu.com>
43152
43153 Patch from Bean <bean123ch@gmail.com>:
43154 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43155 `size'.
43156
4bc72aa9 431572007-12-21 Bean <bean123ch@gmail.com>
43158
43159 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43160 (ntfscomp_mod_SOURCES): New variable.
43161 (ntfscomp_mod_CFLAGS): Likewise.
43162 (ntfscomp_mod_LDFLAGS): Likewise.
43163
43164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43165 (grub_probe_SOURCES): Likewise.
43166 (grub_emu_SOURCES): Likewise.
43167
43168 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43169 (grub_emu_SOURCES): Likewise.
43170
43171 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43172 (grub_emu_SOURCES): Likewise.
43173
43174 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43175 (grub_emu_SOURCES): Likewise.
43176
43177 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43178 (read_run_list): Renamed to grub_ntfs_read_run_list.
43179 (decomp_nextvcn): Moved to ntfscomp.c.
43180 (decomp_getch): Likewise.
43181 (decomp_get16): Likewise.
43182 (decomp_block): Likewise.
43183 (read_block): Likewise.
43184 (read_data): Partially moved to ntfscomp.c.
43185 (fixup): Change unsigned to grub_uint16_t.
43186 (read_mft): Change unsigned long to grub_uint32_t.
43187 (read_attr): Likewise.
43188 (read_data): Likewise.
43189 (read_run_data): Likewise.
43190 (read_run_list): Likewise.
43191 (read_mft): Likewise.
43192
43193 * fs/ntfscomp.c: New file.
43194
43195 * include/grub/ntfs.h: New file.
43196
af680a87 431972007-12-16 Robert Millan <rmh@aybabtu.com>
43198
43199 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43200 IDE disk check, since Linux is known to support 20 IDE disks.
43201 Reported by Colin Watson.
43202
84be7599 432032007-12-15 Bean <bean123ch@gmail.com>
43204
43205 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43206 (lnxboot_img_SOURCES): New variable.
43207 (lnxboot_img_ASFLAGS): Likewise.
43208 (lnxboot_img_LDFLAGS): Likewise.
43209
43210 * boot/i386/pc/lnxboot.S: New file.
43211
6af9db01 432122007-11-24 Pavel Roskin <proski@gnu.org>
43213
43214 * configure.ac: Test if '--build-id=none' is supported by the
43215 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43216 objcopy to generate incorrect binary files (binutils
43217 2.17.50.0.18-1 as shipped by Fedora 8).
43218 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43219 linking, so that build ID doesn't break the test.
43220
7361cfe6 432212007-11-24 Pavel Roskin <proski@gnu.org>
43222
43223 * include/grub/i386/time.h: use "void" in the argument list
43224 of grub_cpu_idle().
43225 * include/grub/powerpc/time.h: Likewise.
43226 * include/grub/sparc64/time.h: Likewise.
43227
1593e10c 432282007-11-18 Christian Franke <franke@computer.org>
43229
43230 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43231 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43232 This fixes the problem that function keys did not work in grub-emu.
43233
3b8db1a8 432342007-11-18 Christian Franke <franke@computer.org>
43235
43236 * disk/host.c (grub_host_open): Remove attribute unused from
43237 name parameter. Add check for "host". This fixes the problem
43238 that grub-emu does not find partitions.
43239
2e29408d 432402007-11-18 Christian Franke <franke@computer.org>
43241
43242 * util/hostfs.c (is_dir): New function.
43243 (grub_hostfs_dir): Handle missing dirent.d_type case.
43244 (grub_hostfs_read): Add missing fseek().
43245 (grub_hostfs_label): Clear label pointer. This fixes a crash
43246 of grub-emu on "ls (host)".
43247
398cd047 432482007-11-18 Christian Franke <franke@computer.org>
43249
43250 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43251 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43252 to 64 bit boundary by default.
43253
c405c391 432542007-11-18 Bean <bean123ch@gmail.com>
43255
43256 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43257 (hexdump_mod_SOURCES): New variable.
43258 (hexdump_mod_CFLAGS): Likewise.
43259 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43260
c405c391 43261 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43262
43263 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43264
43265 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43266
43267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43268
43269 * include/grub/hexdump.h: New file.
43270
43271 * commands/hexdump.c: New file.
43272
5cced7fd 432732007-11-10 Robert Millan <rmh@aybabtu.com>
43274
43275 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43276 in grub_outb() calls.
43277 (beep_on): Likewise.
43278
8b714eb0 432792007-11-10 Christian Franke <franke@computer.org>
43280
43281 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43282 (grub_menu_run): Likewise.
43283
ce0f1839 432842007-11-10 Robert Millan <rmh@aybabtu.com>
43285
43286 * include/grub/i386/efi/machine.h: New file.
43287 * include/grub/i386/linuxbios/machine.h: Likewise.
43288 * include/grub/i386/pc/machine.h: Likewise.
43289 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43290 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43291
43292 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43293 (serial_hw_io_addr): New variable.
43294 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43295 instead of `(unsigned short *) 0x400'.
43296
270c237d 432972007-11-10 Bean <bean123ch@gmail.com>
43298
43299 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43300
a87783bf 433012007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43302
43303 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43304 (vga_mod_SOURCES): Added.
43305 (vga_mod_CFLAGS): Likewise.
43306 (vga_mod_LDFLAGS): Likewise.
43307
43308 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43309 grub_outb() calls.
43310 (set_map_mask): Likewise.
43311 (set_read_map): Likewise.
43312 (set_read_address): Likewise.
43313 (vga_font): Removed variable.
43314 (get_vga_glyph): Removed function.
43315 (invalidate_char): Likewise.
43316 (write_char): Changed to use grub_font_get_glyph() for font
43317 information.
43318 (grub_vga_putchar): Likewise.
43319 (grub_vga_getcharwidth): Likewise.
43320
6433b448 433212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43322
43323 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43324 flags.
43325 (pxeboot_img_LDFLAGS): Likewise.
43326 (diskboot_img_LDFLAGS): Likewise.
43327 (kernel_img_LDFLAGS): Likewise.
43328
49178511 433292007-11-06 Robert Millan <rmh@aybabtu.com>
43330
43331 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43332 in grub_outb() calls.
43333 (serial_hw_init): Likewise.
43334
53b052de 433352007-11-05 Robert Millan <rmh@aybabtu.com>
43336
43337 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43338 spaces. Skip non-regular files.
43339
5ab33bba 433402007-11-05 Robert Millan <rmh@aybabtu.com>
43341
43342 * kern/disk.c (grub_disk_firmware_fini)
43343 (grub_disk_firmware_is_tainted): New variables.
43344
43345 * include/grub/disk.h (grub_disk_firmware_fini)
43346 (grub_disk_firmware_is_tainted): Likewise.
43347
43348 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43349 (grub_disk_biosdisk_fini): ... to here.
43350 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43351 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43352 is set. Register grub_disk_biosdisk_fini() in
43353 `grub_disk_firmware_fini'.
43354
43355 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43356 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43357 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43358 to finish existing firmware disk interface.
43359
43360 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43361 (ata_mod_SOURCES): New variable.
43362 (ata_mod_CFLAGS): Likewise.
43363 (ata_mod_LDFLAGS): Likewise.
43364
0149ab7c 433652007-11-05 Robert Millan <rmh@aybabtu.com>
43366
43367 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43368 (grub_ata_wait): Reimplement using grub_millisleep().
43369
43370 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43371 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43372
be7ac41e 433732007-11-03 Marco Gerards <marco@gnu.org>
43374
43375 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43376 (CRTC_ADDR_PORT): New macro.
43377 (CRTC_DATA_PORT): Likewise.
43378 (CRTC_CURSOR): Likewise.
43379 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43380 (CRTC_CURSOR_ADDR_LOW): Likewise.
43381 (update_cursor): New function.
43382 (grub_console_real_putchar): Call `update_cursor'.
43383 (grub_console_gotoxy): Likewise.
43384 (grub_console_cls): Set the default color when clearing the
43385 screen.
43386 (grub_console_setcursor): Implemented.
43387
bb06ab2e 433882007-11-03 Marco Gerards <marco@gnu.org>
43389
43390 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43391 become activate.
43392 (grub_ata_pio_write): Likewise.
43393
43394 (grub_atapi_identify): Wait after issuing an ATA command.
43395 (grub_atapi_packet): Likewise.
43396 (grub_ata_identify): Likewise.
43397 (grub_ata_readwrite): Likewise.
43398
cf8f780b 433992007-11-03 Marco Gerards <marco@gnu.org>
43400
43401 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43402 (grub_ata_pio_write): Likewise.
43403 (grub_ata_readwrite): Use `grub_error', instead of
43404 returning `grub_errno'.
43405
ed649e54 434062007-11-03 Marco Gerards <marco@gnu.org>
43407
43408 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43409 grub_ata_pio_write once for every single sector, instead of for
43410 multiple sectors.
43411
ca25d8f0 434122007-10-31 Robert Millan <rmh@aybabtu.com>
43413
43414 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43415
43416 * conf/i386-linuxbios.rmk: New file.
43417
43418 * kern/i386/pc/hardware.c: Likewise.
43419 * term/i386/pc/at_keyboard.c: Likewise.
43420 * term/i386/pc/vga_text.c: Likewise.
43421
43422 * include/grub/i386/linuxbios/boot.h: Likewise.
43423 * include/grub/i386/linuxbios/console.h: Likewise.
43424 * include/grub/i386/linuxbios/init.h: Likewise.
43425 * include/grub/i386/linuxbios/kernel.h: Likewise.
43426 * include/grub/i386/linuxbios/loader.h: Likewise.
43427 * include/grub/i386/linuxbios/memory.h: Likewise.
43428 * include/grub/i386/linuxbios/serial.h: Likewise.
43429 * include/grub/i386/linuxbios/time.h: Likewise.
43430
43431 * kern/i386/linuxbios/init.c: Likewise.
43432 * kern/i386/linuxbios/startup.S: Likewise.
43433 * kern/i386/linuxbios/table.c: Likewise.
43434
e911ecc1 434352007-10-31 Marco Gerards <marco@gnu.org>
43436
43437 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43438 (ata_mod_SOURCES): New variable.
43439 (ata_mod_CFLAGS): Likewise.
43440 (ata_mod_LDFLAGS): Likewise.
43441
43442 * disk/ata.c: New file.
43443
43444 * include/grub/disk.h (grub_disk_dev_id): Add
43445 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43446
7f66d0e0 434472007-10-31 Robert Millan <rmh@aybabtu.com>
43448
43449 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43450 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43451
43452 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43453 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43454
43455 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43456 `<grub/types.h>'.
43457
43458 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43459
5cd7dd46 434602007-10-27 Robert Millan <rmh@aybabtu.com>
43461
3236ca65 43462 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43463
2ebfc90f 434642007-10-22 Robert Millan <rmh@aybabtu.com>
43465
43466 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43467 `"../realmode.S"'.
43468 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43469
73fcb0f3 434702007-10-22 Robert Millan <rmh@aybabtu.com>
43471
43472 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43473 (pkgdata_MODULES): Add `biosdisk.mod'.
43474 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43475 variables.
43476
43477 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43478 (grub_biosdisk_init): Replace with ...
43479 (GRUB_MOD_INIT(biosdisk)): ... this.
43480 (grub_biosdisk_fini): Replace with ...
43481 (GRUB_MOD_FINI(biosdisk)): ... this.
43482
43483 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43484 (grub_machine_init): Remove call to grub_biosdisk_init().
43485 (grub_machine_fini): Remove call to grub_machine_fini().
43486
43487 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43488
3381d274 434892007-10-22 Robert Millan <rmh@aybabtu.com>
43490
43491 * include/grub/time.h: New file.
43492 * include/grub/i386/time.h: Likewise.
43493 * include/grub/powerpc/time.h: Likewise.
43494 * include/grub/sparc64/time.h: Likewise.
43495
43496 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43497 instances to ...
43498 (KERNEL_MACHINE_TIME_HEADER): ... this.
43499 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43500 instances to ...
43501 (KERNEL_MACHINE_TIME_HEADER): ... this.
43502 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43503 instances to ...
43504 (KERNEL_MACHINE_TIME_HEADER): ... this.
43505
43506 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43507 (grub_millisleep): New function.
43508 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43509 (grub_millisleep): New function.
43510 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43511 Remove `grub/machine/time.h' include.
43512 (grub_millisleep): New function.
43513 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43514 Remove `grub/machine/time.h' include.
43515 (grub_millisleep): New function.
43516
43517 * include/grub/misc.h (grub_div_roundup): New function.
43518
43519 * kern/misc.c: Include `<grub/time.h>'.
43520 (grub_millisleep_generic): New function.
43521
43522 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43523 Add `time.h'.
43524 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43525 Add `time.h'.
43526 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43527 `machine/time.h'. Add `time.h'.
43528 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43529
a39a0312 435302007-10-21 Robert Millan <rmh@aybabtu.com>
43531
43532 * include/grub/misc.h (grub_max): New function.
43533
2aad70e2 435342007-10-21 Robert Millan <rmh@aybabtu.com>
43535
43536 * util/misc.c (grub_util_info): Call fflush() before returning.
43537
54b71c4b 435382007-10-20 Robert Millan <rmh@aybabtu.com>
43539
43540 * genmk.rb (Image): Copy `extra_flags' from here ...
43541 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43542
43543 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43544 to `argc' and `args' arguments.
43545
a979f513 435462007-10-17 Robert Millan <rmh@aybabtu.com>
43547
43548 * kern/i386/loader.S: New file.
43549
43550 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43551 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43552 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43553 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43554 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43555 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43556 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43557 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43558 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43559 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43560 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43561 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43562 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43563 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43564
43565 * kern/i386/realmode.S: New file.
43566
43567 * kern/i386/pc/startup.S (protstack): Moved from here ...
43568 * kern/i386/realmode.S (protstack)... to here.
43569 * kern/i386/pc/startup.S (gdt): Moved from here ...
43570 * kern/i386/realmode.S (gdt)... to here.
43571 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43572 * kern/i386/realmode.S (prot_to_real)... to here.
43573
43574 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43575 `kern/i386/realmode.S'.
43576
825fc8fd 435772007-10-17 Robert Millan <rmh@aybabtu.com>
43578
43579 * include/grub/i386/loader.h: New file.
43580
43581 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43582 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43583 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43584 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43585 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43586 * include/grub/i386/loader.h (grub_linux_prot_size)
43587 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43588 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43589 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43590 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43591
43592 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43593
e179b2f4 435942007-10-15 Robert Millan <rmh@aybabtu.com>
43595
43596 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43597 filesystem when dev->disk is unset.
43598 Do probe for filesystem even when dev->disk->has_partitions is set.
43599 In case a filesystem is found, always report it.
43600 In case it isn't, if dev->disk->has_partitions is set, report that
43601 a partition table was found instead of reporting that no filesystem
43602 could be identified.
43603
5db82af6 436042007-10-12 Robert Millan <rmh@aybabtu.com>
43605
43606 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43607 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43608
68f6ac74 43609 * include/grub/types.h (grub_host_to_target16): New macro.
43610 (grub_host_to_target32): Likewise.
43611 (grub_host_to_target64): Likewise.
43612 (grub_target_to_host16): Likewise.
43613 (grub_target_to_host32): Likewise.
43614 (grub_target_to_host64): Likewise.
5db82af6 43615
43616 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43617 Renamed from to ...
43618 (GRUB_MOD_ALIGN): ...this. Update all users.
43619
68f6ac74 43620 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43621 grub_host_to_target32.
43622 Replace grub_be_to_cpu32 with grub_target_to_host32.
43623 (load_modules): Likewise.
43624 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43625 Replace grub_be_to_cpu32 with grub_target_to_host32.
43626 Replace grub_cpu_to_be16 with grub_host_to_target16.
43627 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43628
3cf497cc 436292007-10-12 Robert Millan <rmh@aybabtu.com>
43630
43631 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43632 * util/elf/grub-mkimage.c: ... here.
43633
43634 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43635 `util/powerpc/ieee1275/grub-mkimage.c'.
43636
c8cc3692 436372007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43638
c8cc3692 43639 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43640 and make it easier to figure out.
43641 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43642 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43643 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43644 leave us with less than HEAP_MIN_SIZE total heap.
43645 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43646
5c58b791 436472007-10-03 Robert Millan <rmh@aybabtu.com>
43648
43649 * include/grub/i386/io.h: New file.
43650 * commands/i386/pc/play.c (inb): Removed.
43651 (outb): Removed.
43652 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43653 with grub_outb().
afcd2ef8 43654 * term/i386/pc/serial.c (inb): Removed.
43655 (outb): Removed.
43656 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43657 with grub_outb().
43658 * term/i386/pc/vga.c (inb): Removed.
43659 (outb): Removed.
43660 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43661 with grub_outb().
5c58b791 43662
1a477ed6 436632007-10-02 Robert Millan <rmh@aybabtu.com>
43664
43665 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43667 Reported by Marcin Kurek.
43668
6b5d80fa 436692007-09-07 Robert Millan <rmh@aybabtu.com>
43670
43671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43672 SmartFirmware version updates (as released by Sven Luther), and avoid
43673 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43674 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43675 known broken.
43676
5618afbf 436772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43678
43679 From Hitoshi Ozeki:
43680 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43681 when merging two regions.
43682
6139dcd9 436832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43684
508e39ee 43685 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43686 * normal/completion.c (grub_normal_do_completion): Likewise.
43687 Reported by Hitoshi Ozeki.
43688
436892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43690
6139dcd9 43691 Do not use devices at boot in chainloading.
f19dbdb7 43692
6139dcd9 43693 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43694 (boot_part_addr): Likewise.
43695 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43696 with BOOT_DRIVE and BOOT_PART_ADDR.
43697 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43698 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43699
38da6516 437002007-08-29 Robert Millan <rmh@aybabtu.com>
43701
43702 Patch from Simon Peter <dn.tlp@gmx.net>:
43703 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43704 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43705 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43706 util/i386/pc/grub-setup.c_DEPENDENCIES.
43707 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43708 util/grub-probe.c_DEPENDENCIES.
43709 * conf/powerpc-ieee1275.rmk: Likewise.
43710
29d0928c 437112007-08-28 Robert Millan <rmh@aybabtu.com>
43712
43713 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43714 to tell grub-mkdevicemap how to name devices.
43715 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43716 feature).
43717
43718 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43719 util/i386/get_disk_name.c.
43720 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43721 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43722 util/ieee1275/get_disk_name.c.
43723
43724 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43725
43726 * DISTLIST: Add util/i386/get_disk_name.c and
43727 util/ieee1275/get_disk_name.c.
43728
43729 * util/grub-mkdevicemap.c: Replace device naming logic with
43730 grub_util_get_disk_name() calls.
43731
5a0d3cca 437322007-08-20 Robert Millan <rmh@aybabtu.com>
43733
43734 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43735 (so that it works for both plural and singular quantities).
43736
8b72db2f 437372007-08-05 Robert Millan <rmh@aybabtu.com>
43738
43739 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43740 so that [xz] isn't taken into account when determining order.
43741
352466bf 437422007-08-02 Marco Gerards <marco@gnu.org>
43743
43744 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43745 `include/multiboot2.h', `include/grub/elfload.h',
43746 `include/multiboot.h', `include/grub/multiboot.h',
43747 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43748 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43749 `kern/elf.c', `loader/multiboot_loader.c',
43750 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43751 `loader/i386/pc/multiboot2.c',
43752 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43753 `util/i386/pc/grub-mkrescue.in'. Remove
43754 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43755 `include/grub/i386/pc/util/biosdisk.h' and
43756 `include/grub/powerpc/ieee1275/multiboot.h'.
43757
8f096014 437582007-08-02 Bean <bean123ch@gmail.com>
43759
43760 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43761 (ntfs_mod_SOURCES): New variable.
43762 (ntfs_mod_CFLAGS): Likewise.
43763 (ntfs_mod_LDFLAGS): Likewise.
43764
43765 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43766 (grub_probe_SOURCES): Likewise.
43767 (grub_emu_SOURCES): Likewise.
43768
43769 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43770 (grub_emu_SOURCES): Likewise.
43771
43772 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43773 (grub_emu_SOURCES): Likewise.
f19dbdb7 43774
8f096014 43775 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43776
43777 * fs/ntfs.c: New file.
43778
9959f7db 437792007-08-02 Bean <bean123ch@gmail.com>
43780
43781 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43782
43783 * file.h (grub_file): Likewise.
43784
43785 * fshelp.h (grub_fshelp_read_file): Likewise.
43786
43787 * util/i386/pc/grub-setup.c (setup): Likewise.
43788 (save_first_sector): Likewise.
43789 (save_blocklists): Likewise.
f19dbdb7 43790
9959f7db 43791 * fs/affs.c (grub_affs_read_file): Likewise.
43792
43793 * fs/ext2.c (grub_ext2_read_file): Likewise.
43794
43795 * fs/fat.c (grub_fat_read_data): Likewise.
43796
43797 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43798
43799 * fs/hfs.c (grub_hfs_read_file): Likewise.
43800
43801 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43802
43803 * fs/jfs.c (grub_jfs_read_file): Likewise.
43804
43805 * fs/minix.c (grub_minix_read_file): Likewise.
43806
43807 * fs/sfs.c (grub_sfs_read_file): Likewise.
43808
43809 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43810
9959f7db 43811 * fs/xfs.c (grub_xfs_read_file): Likewise.
43812
43813 * command/blocklist.c (read_blocklist): Likewise.
43814 (print_blocklist): Likewise.
43815
0a203f83 438162007-08-02 Marco Gerards <marco@gnu.org>
43817
43818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43819 `util/hostfs.c'.
43820
43821 * disk/host.c: New file.
43822
43823 * util/hostfs.c: Likewise.
43824
43825 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43826 return `GRUB_ERR_BAD_FS'.
43827 * fs/sfs.c (grub_sfs_mount): Likewise.
43828 * fs/xfs.c (grub_xfs_mount): Likewise.
43829
43830 * include/grub/disk.h (enum grub_disk_dev_id): Add
43831 `GRUB_DISK_DEVICE_HOST_ID'.
43832
43833 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43834
e5dfe777 438352007-07-24 Jerone Young <jerone@gmail.com>
43836
f19dbdb7 43837 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43838 modules for compilation.
43839 * conf/powerpc-ieee1275.rmk: Likewise.
43840
43841 * include/multiboot.h: Move multiboot definitions to one file. Rename
43842 many definitions to not get grub specific.
43843 * include/multiboot2.h: Create header with multiboot 2 definitions.
43844 * include/grub/multiboot.h: Header for grub specific function
43845 prototypes and definitions.
43846 * include/grub/multiboot2.h: Likewise.
43847 * include/grub/multiboot_loader.h: Likewise.
43848 * include/grub/i386/pc/multiboot.h: Removed.
43849 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43850
43851 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43852 and 2 to allow for one multiboot and module commands.
43853 * loader/multiboot2.c: Add multiboot2 functionality.
43854 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43855 and definition names.
43856 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43857 2 functions.
43858 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43859 ieee1275 specific multiboot2 code.
43860
43861 * kern/i386/pc/startup.S: Change headers and definition names for
43862 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43863
daf0f0ba 438642007-07-22 Robert Millan <rmh@aybabtu.com>
43865
43866 * geninitheader.sh: Process file specified in first parameter rather
43867 than hardcoding grub_modules_init.lst.
fe6b695a 43868 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43869 than hardcoding grub_modules_init.h.
43870
43871 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43872 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43873 grub_probe_init.[ch] and grub_setup_init.[ch].
43874
43875 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43876 grub_modules_init.h with grub_emu_init.h.
43877 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43878 grub_probe_init.[ch] files.
43879 * conf/i386-efi.rmk: Likewise.
43880 * conf/i386-pc.rmk: Likewise.
43881 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43882 grub_setup_init.[ch] files.
43883
43884 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43885 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43886 to initialize modules rather than a list of hardcoded functions.
43887 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43888 grub_init_all() to initialize modules rather than a list of hardcoded
43889 functions.
43890
54cdc1cc 438912007-07-22 Robert Millan <rmh@aybabtu.com>
43892
43893 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43894 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43895
ad0686cc 438962007-07-22 Robert Millan <rmh@aybabtu.com>
43897
43898 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43899 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43900 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43901 flag when running on SmartFirmware.
43902 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43903 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43904 was set.
43905
43906 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43907 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43908 rather than decreasing it.
43909
43910 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43911 there's not enough space to do it, fail in the same way as when it
43912 can't be done because there are no partitions.
43913
43914 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43915 when nvsetenv failed.
43916
969c02ec 439172007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43918
43919 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43920 because this rule is automatically generated.
43921 (grub-mkrescue): Removed for the same reason as above.
43922
5a79f472 439232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43924
43925 Migrate to GNU General Public License Version 3.
f19dbdb7 43926
5a79f472 43927 * COPYING: Replaced with the plain text version of GPLv3.
43928
43929 * config.guess: Updated from gnulib.
43930 * config.sub: Likewise.
43931
43932 * geninit.sh: Output a GPLv3 copyright notice.
43933 * geninitheader.sh: Likewise.
43934 * genmodsrc.sh: Likewise.
43935 * gensymlist.sh.in: Likewise.
43936
43937 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43938 * boot/i386/pc/diskboot.S: Likewise.
43939 * boot/i386/pc/pxeboot.S: Likewise.
43940 * commands/blocklist.c: Likewise.
43941 * commands/boot.c: Likewise.
43942 * commands/cat.c: Likewise.
43943 * commands/cmp.c: Likewise.
43944 * commands/configfile.c: Likewise.
43945 * commands/echo.c: Likewise.
43946 * commands/help.c: Likewise.
43947 * commands/ls.c: Likewise.
43948 * commands/search.c: Likewise.
43949 * commands/terminal.c: Likewise.
43950 * commands/test.c: Likewise.
43951 * commands/videotest.c: Likewise.
43952 * commands/i386/cpuid.c: Likewise.
43953 * commands/i386/pc/halt.c: Likewise.
43954 * commands/i386/pc/play.c: Likewise.
43955 * commands/i386/pc/reboot.c: Likewise.
43956 * commands/i386/pc/vbeinfo.c: Likewise.
43957 * commands/i386/pc/vbetest.c: Likewise.
43958 * commands/ieee1275/halt.c: Likewise.
43959 * commands/ieee1275/reboot.c: Likewise.
43960 * commands/ieee1275/suspend.c: Likewise.
43961 * disk/loopback.c: Likewise.
43962 * disk/lvm.c: Likewise.
43963 * disk/raid.c: Likewise.
43964 * disk/efi/efidisk.c: Likewise.
43965 * disk/i386/pc/biosdisk.c: Likewise.
43966 * disk/ieee1275/ofdisk.c: Likewise.
43967 * font/manager.c: Likewise.
43968 * fs/affs.c: Likewise.
43969 * fs/ext2.c: Likewise.
43970 * fs/fat.c: Likewise.
43971 * fs/fshelp.c: Likewise.
43972 * fs/hfs.c: Likewise.
43973 * fs/hfsplus.c: Likewise.
43974 * fs/iso9660.c: Likewise.
43975 * fs/jfs.c: Likewise.
43976 * fs/minix.c: Likewise.
43977 * fs/sfs.c: Likewise.
43978 * fs/ufs.c: Likewise.
43979 * fs/xfs.c: Likewise.
43980 * hello/hello.c: Likewise.
43981 * include/grub/acorn_filecore.h: Likewise.
43982 * include/grub/arg.h: Likewise.
43983 * include/grub/bitmap.h: Likewise.
43984 * include/grub/boot.h: Likewise.
43985 * include/grub/cache.h: Likewise.
43986 * include/grub/device.h: Likewise.
43987 * include/grub/disk.h: Likewise.
43988 * include/grub/dl.h: Likewise.
43989 * include/grub/elfload.h: Likewise.
43990 * include/grub/env.h: Likewise.
43991 * include/grub/err.h: Likewise.
43992 * include/grub/file.h: Likewise.
43993 * include/grub/font.h: Likewise.
43994 * include/grub/fs.h: Likewise.
43995 * include/grub/fshelp.h: Likewise.
43996 * include/grub/gzio.h: Likewise.
43997 * include/grub/hfs.h: Likewise.
43998 * include/grub/kernel.h: Likewise.
43999 * include/grub/loader.h: Likewise.
44000 * include/grub/lvm.h: Likewise.
44001 * include/grub/misc.h: Likewise.
44002 * include/grub/mm.h: Likewise.
44003 * include/grub/net.h: Likewise.
44004 * include/grub/normal.h: Likewise.
44005 * include/grub/parser.h: Likewise.
44006 * include/grub/partition.h: Likewise.
44007 * include/grub/pc_partition.h: Likewise.
44008 * include/grub/raid.h: Likewise.
44009 * include/grub/rescue.h: Likewise.
44010 * include/grub/script.h: Likewise.
44011 * include/grub/setjmp.h: Likewise.
44012 * include/grub/symbol.h: Likewise.
44013 * include/grub/term.h: Likewise.
44014 * include/grub/terminfo.h: Likewise.
44015 * include/grub/tparm.h: Likewise.
44016 * include/grub/types.h: Likewise.
44017 * include/grub/video.h: Likewise.
44018 * include/grub/efi/api.h: Likewise.
44019 * include/grub/efi/chainloader.h: Likewise.
44020 * include/grub/efi/console.h: Likewise.
44021 * include/grub/efi/console_control.h: Likewise.
44022 * include/grub/efi/disk.h: Likewise.
44023 * include/grub/efi/efi.h: Likewise.
44024 * include/grub/efi/pe32.h: Likewise.
44025 * include/grub/efi/time.h: Likewise.
44026 * include/grub/i386/linux.h: Likewise.
44027 * include/grub/i386/setjmp.h: Likewise.
44028 * include/grub/i386/types.h: Likewise.
44029 * include/grub/i386/efi/kernel.h: Likewise.
44030 * include/grub/i386/efi/loader.h: Likewise.
44031 * include/grub/i386/efi/time.h: Likewise.
44032 * include/grub/i386/pc/biosdisk.h: Likewise.
44033 * include/grub/i386/pc/boot.h: Likewise.
44034 * include/grub/i386/pc/chainloader.h: Likewise.
44035 * include/grub/i386/pc/console.h: Likewise.
44036 * include/grub/i386/pc/init.h: Likewise.
44037 * include/grub/i386/pc/kernel.h: Likewise.
44038 * include/grub/i386/pc/loader.h: Likewise.
44039 * include/grub/i386/pc/memory.h: Likewise.
44040 * include/grub/i386/pc/multiboot.h: Likewise.
44041 * include/grub/i386/pc/serial.h: Likewise.
44042 * include/grub/i386/pc/time.h: Likewise.
44043 * include/grub/i386/pc/vbe.h: Likewise.
44044 * include/grub/i386/pc/vbeblit.h: Likewise.
44045 * include/grub/i386/pc/vbefill.h: Likewise.
44046 * include/grub/i386/pc/vbeutil.h: Likewise.
44047 * include/grub/i386/pc/vga.h: Likewise.
44048 * include/grub/ieee1275/ieee1275.h: Likewise.
44049 * include/grub/ieee1275/ofdisk.h: Likewise.
44050 * include/grub/powerpc/libgcc.h: Likewise.
44051 * include/grub/powerpc/setjmp.h: Likewise.
44052 * include/grub/powerpc/types.h: Likewise.
44053 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44054 * include/grub/powerpc/ieee1275/console.h: Likewise.
44055 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44056 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44057 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44058 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44059 * include/grub/powerpc/ieee1275/time.h: Likewise.
44060 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44061 * include/grub/sparc64/libgcc.h: Likewise.
44062 * include/grub/sparc64/setjmp.h: Likewise.
44063 * include/grub/sparc64/types.h: Likewise.
44064 * include/grub/sparc64/ieee1275/console.h: Likewise.
44065 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44066 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44067 * include/grub/sparc64/ieee1275/time.h: Likewise.
44068 * include/grub/util/biosdisk.h: Likewise.
44069 * include/grub/util/getroot.h: Likewise.
44070 * include/grub/util/lvm.h: Likewise.
44071 * include/grub/util/misc.h: Likewise.
44072 * include/grub/util/raid.h: Likewise.
44073 * include/grub/util/resolve.h: Likewise.
44074 * io/gzio.c: Likewise.
44075 * kern/device.c: Likewise.
44076 * kern/disk.c: Likewise.
44077 * kern/dl.c: Likewise.
44078 * kern/elf.c: Likewise.
44079 * kern/env.c: Likewise.
44080 * kern/err.c: Likewise.
44081 * kern/file.c: Likewise.
44082 * kern/fs.c: Likewise.
44083 * kern/loader.c: Likewise.
44084 * kern/main.c: Likewise.
44085 * kern/misc.c: Likewise.
44086 * kern/mm.c: Likewise.
44087 * kern/parser.c: Likewise.
44088 * kern/partition.c: Likewise.
44089 * kern/rescue.c: Likewise.
44090 * kern/term.c: Likewise.
44091 * kern/efi/efi.c: Likewise.
44092 * kern/efi/init.c: Likewise.
44093 * kern/efi/mm.c: Likewise.
44094 * kern/i386/dl.c: Likewise.
44095 * kern/i386/efi/init.c: Likewise.
44096 * kern/i386/efi/startup.S: Likewise.
44097 * kern/i386/pc/init.c: Likewise.
44098 * kern/i386/pc/lzo1x.S: Likewise.
44099 * kern/i386/pc/startup.S: Likewise.
44100 * kern/ieee1275/ieee1275.c: Likewise.
44101 * kern/powerpc/cache.S: Likewise.
44102 * kern/powerpc/dl.c: Likewise.
44103 * kern/powerpc/ieee1275/cmain.c: Likewise.
44104 * kern/powerpc/ieee1275/crt0.S: Likewise.
44105 * kern/powerpc/ieee1275/init.c: Likewise.
44106 * kern/powerpc/ieee1275/openfw.c: Likewise.
44107 * kern/sparc64/cache.S: Likewise.
44108 * kern/sparc64/dl.c: Likewise.
44109 * kern/sparc64/ieee1275/init.c: Likewise.
44110 * kern/sparc64/ieee1275/openfw.c: Likewise.
44111 * loader/efi/chainloader.c: Likewise.
44112 * loader/efi/chainloader_normal.c: Likewise.
44113 * loader/i386/efi/linux.c: Likewise.
44114 * loader/i386/efi/linux_normal.c: Likewise.
44115 * loader/i386/pc/chainloader.c: Likewise.
44116 * loader/i386/pc/chainloader_normal.c: Likewise.
44117 * loader/i386/pc/linux.c: Likewise.
44118 * loader/i386/pc/linux_normal.c: Likewise.
44119 * loader/i386/pc/multiboot.c: Likewise.
44120 * loader/i386/pc/multiboot_normal.c: Likewise.
44121 * loader/powerpc/ieee1275/linux.c: Likewise.
44122 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44123 * normal/arg.c: Likewise.
44124 * normal/cmdline.c: Likewise.
44125 * normal/command.c: Likewise.
44126 * normal/completion.c: Likewise.
44127 * normal/execute.c: Likewise.
44128 * normal/function.c: Likewise.
44129 * normal/lexer.c: Likewise.
44130 * normal/main.c: Likewise.
44131 * normal/menu.c: Likewise.
44132 * normal/menu_entry.c: Likewise.
44133 * normal/misc.c: Likewise.
44134 * normal/parser.y: Likewise.
44135 * normal/script.c: Likewise.
44136 * normal/i386/setjmp.S: Likewise.
44137 * normal/powerpc/setjmp.S: Likewise.
44138 * normal/sparc64/setjmp.S: Likewise.
44139 * partmap/acorn.c: Likewise.
44140 * partmap/amiga.c: Likewise.
44141 * partmap/apple.c: Likewise.
44142 * partmap/gpt.c: Likewise.
44143 * partmap/pc.c: Likewise.
44144 * partmap/sun.c: Likewise.
44145 * term/gfxterm.c: Likewise.
44146 * term/terminfo.c: Likewise.
44147 * term/efi/console.c: Likewise.
44148 * term/i386/pc/console.c: Likewise.
44149 * term/i386/pc/serial.c: Likewise.
44150 * term/i386/pc/vesafb.c: Likewise.
44151 * term/i386/pc/vga.c: Likewise.
44152 * term/ieee1275/ofconsole.c: Likewise.
44153 * util/biosdisk.c: Likewise.
44154 * util/console.c: Likewise.
44155 * util/genmoddep.c: Likewise.
44156 * util/getroot.c: Likewise.
44157 * util/grub-emu.c: Likewise.
44158 * util/grub-mkdevicemap.c: Likewise.
44159 * util/grub-probe.c: Likewise.
44160 * util/lvm.c: Likewise.
44161 * util/misc.c: Likewise.
44162 * util/raid.c: Likewise.
44163 * util/resolve.c: Likewise.
44164 * util/update-grub.in: Likewise.
44165 * util/update-grub_lib.in: Likewise.
44166 * util/grub.d/00_header.in: Likewise.
44167 * util/grub.d/10_hurd.in: Likewise.
44168 * util/grub.d/10_linux.in: Likewise.
44169 * util/i386/efi/grub-install.in: Likewise.
44170 * util/i386/efi/grub-mkimage.c: Likewise.
44171 * util/i386/pc/grub-install.in: Likewise.
44172 * util/i386/pc/grub-mkimage.c: Likewise.
44173 * util/i386/pc/grub-mkrescue.in: Likewise.
44174 * util/i386/pc/grub-setup.c: Likewise.
44175 * util/i386/pc/misc.c: Likewise.
44176 * util/powerpc/ieee1275/grub-install.in: Likewise.
44177 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44178 * util/powerpc/ieee1275/misc.c: Likewise.
44179 * video/bitmap.c: Likewise.
44180 * video/video.c: Likewise.
44181 * video/i386/pc/vbe.c: Likewise.
44182 * video/i386/pc/vbeblit.c: Likewise.
44183 * video/i386/pc/vbefill.c: Likewise.
44184 * video/i386/pc/vbeutil.c: Likewise.
44185 * video/readers/tga.c: Likewise.
44186
3572d015 441872007-07-02 Robert Millan <rmh@aybabtu.com>
44188
44189 * conf/i386-efi.rmk: Replace obsolete reference to
44190 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44191 with util/getroot.c.
44192 * conf/powerpc-ieee1275.rmk: Likewise.
44193 * conf/sparc64-ieee1275.rmk: Likewise.
44194
44195 * util/grub-emu.c (main): Fix unchecked pointer handling.
44196
2c2a681b 441972007-07-02 Robert Millan <rmh@aybabtu.com>
44198
44199 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44200 invocation to fail, in order to support partition-less media.
44201
44202 * util/i386/pc/grub-install.in: Likewise.
44203
44204 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44205 which fs or partmap modules are needed (akin to its sister scripts).
44206
44207 Also use grub-probe to get rid of unportable /proc/mounts check.
44208
44209 Print the same informational message that the other scripts do, before
fe6b695a 44210 exiting.
2c2a681b 44211
6193defe 442122007-06-23 Robert Millan <rmh@aybabtu.com>
44213
fe6b695a 44214 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44215 a font file can be found and, if so, echo the GRUB path to it.
44216
44217 * util/update-grub.in: Handle multiple terminals depending on user
44218 input, platform availability and font file presence. Propagate
44219 variables of our findings to /etc/grub.d/ children.
44220
44221 * util/grub.d/00_header.in: Handle multiple terminals, based on
44222 environment setup by update-grub.
44223
eface1dc 442242007-06-23 Robert Millan <rmh@aybabtu.com>
44225
ba50d28f 44226 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44227
bf697e28 442282007-06-21 Robert Millan <rmh@aybabtu.com>
44229
44230 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44231 indicate end of data section in kernel image.
44232 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44233 GRUB_KERNEL_MACHINE_DATA_END.
44234
44235 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44236 space for it.
44237 * kern/i386/efi/startup.S: Likewise.
44238
44239 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44240 during image generation. Implement --prefix option to override this
44241 patch.
44242 * util/i386/efi/grub-mkimage.c: Likewise.
44243
44244 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44245 code to make path relative to its root into a separate function.
44246
44247 * util/i386/pc/grub-install.in: Use newly provided
44248 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44249 pass the result to grub-install --prefix.
44250
baa574b4 442512007-06-13 Robert Millan <rmh@aybabtu.com>
44252
44253 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44254 DEFAULT_DEVICE_MAP.
44255 * util/grub-emu.c: Use above definitions from misc.h instead of
44256 defining them.
44257 * util/grub-mkdevicemap.c: Likewise.
44258 * util/i386/pc/grub-setup.c: Likewise.
44259 * util/grub-probe.c: Likewise.
44260 (probe): Abort with grub_util_error() when either
44261 grub_guess_root_device or grub_util_get_grub_dev fails.
44262
0215dcbf 442632007-06-12 Robert Millan <rmh@aybabtu.com>
44264
44265 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44266 "pager" assignment.
44267 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44268 "pcdata".
44269 * util/grub-probe.c (probe): Likewise for "drive_name".
44270
8af2ab7b 442712007-06-11 Robert Millan <rmh@aybabtu.com>
44272
44273 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44274 not just the cdrom one.
44275
59d31694 442762007-06-11 Robert Millan <rmh@aybabtu.com>
44277
44278 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44279 Add --pkglibdir=DIR option to override pkglibdir.
44280 Mention --image-type=TYPE in help output.
44281 Fix --grub-mkimage (it was a no-op).
fe6b695a 44282 Abort gracefully when no parameter is given.
59d31694 44283
7ee367e4 442842007-06-11 Robert Millan <rmh@aybabtu.com>
44285
44286 * util/i386/pc/grub-mkrescue.in: New file.
44287 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44288 * Makefile.in: Handle bin_SCRIPTS.
44289
29b0ed46 442902007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44291
44292 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44293 list of video modes.
44294
c0f90770 442952007-06-06 Robert Millan <rmh@aybabtu.com>
44296
44297 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44298 file doesn't exist, or if it is in a filesystem grub can't read.
44299
44300 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44301 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44302 header comment to fit in 80 columns when the variables are resolved.
44303
44304 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44305 could be identified by update-grub. Remove redundant check for
fe6b695a 44306 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44307 handles that).
44308
fb36dc26 443092007-06-04 Robert Millan <rmh@aybabtu.com>
44310
44311 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44312
44313 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44314
44315 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44316
0c68c93e 443172007-06-04 Robert Millan <rmh@aybabtu.com>
44318
44319 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44320
44321 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44322 grub_apple_partition_map_fini.
44323
44324 * util/biosdisk.c
44325 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44326 to access >2 TiB disks).
44327
44328 Print disk->total_sectors with %llu instead of %lu, since this
44329 variable is always 64-bit (prevents wrong disk size from being displayed
44330 on either >2 TiB disk or big-endian CPU).
44331
44332 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44333 into a generic case that supports all (sane) partition maps.
44334
44335 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44336 breaks big-endian.
44337
44338 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44339 and grub_apple_partition_map_fini() after that.
44340
0f23eb74 443412007-06-01 Robert Millan <rmh@aybabtu.com>
44342
44343 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44344
44345 * util/grub.d/00_header.in: Only enable gfxterm when
44346 convert_system_path_to_grub_path() succeeds.
44347
42c71976 443482007-05-20 Robert Millan <rmh@aybabtu.com>
44349
44350 * util/update-grub_lib.in: New file.
44351 * DISTLIST: Add update-grub_lib.in.
44352 * conf/common.rmk: Generate update-grub_lib and install it in
44353 $(lib_DATA).
44354 * Makefile.in: Add install routine for $(lib_DATA).
44355
44356 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44357 function provided by update-grub_lib to support arbitrary paths of
44358 unifont.pff.
44359 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44360 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44361
5beb2291 443622007-05-19 Robert Millan <rmh@aybabtu.com>
44363
44364 * commands/i386/cpuid.c: New module.
44365 * DISTLIST: Add it.
44366 * conf/i386-efi.rmk: Enable cpuid.mod.
44367 * conf/i386-pc.rmk: Likewise.
44368
7262eca1 443692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44370
44371 * kern/disk.c (grub_disk_read): Check return value of
44372 grub_realloc().
44373
260ba823 443742007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44375
44376 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44377 arrays.
44378 * disk/raid.c (grub_raid_open): Likewise.
44379
1ecb6cf2 443802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44381
44382 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44383 stack instead of on the heap.
44384
44385 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44386 before doing a read on it.
44387
44388 * configure.ac: Only use -fno-stack-protector for the target
44389 environment.
f19dbdb7 44390
21c8cbb1 443912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44392
44393 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44394 __attribute_ ((unused)) to mode_type argument.
44395
44396 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44397
21c8cbb1 44398 * kern/misc.c (memcmp): Fix prototype.
44399
44400 * include/grub/partition.h [GRUB_UTIL]
44401 (grub_gpt_partition_map_init): Add prototype.
44402 (grub_gpt_partition_map_fini): Likewise.
44403
44404 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44405 at the right place.
44406
44407 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44408 (grub_fat_read_data): Likewise.
44409 (grub_fat_find_dir): Likewise.
44410
44411 * font/manager.c (find_glyph): Make table a const.
44412 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44413
849d55d3 444142007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44415
44416 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44417 code, first search for device in /dev/mapper, then in /dev.
44418 (grub_util_get_grub_dev): New function.
44419 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44420 prototype.
44421 * util/grub-probe.c (probe): Remove check for RAID, call
44422 grub_util_get_grub_dev() instead of
44423 grub_util_biosdisk_get_grub_dev().
44424 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44425 grub_util_biosdisk_get_grub_dev().
44426 * util/i386/pc/grub-setup.c (main): Likewise.
44427
8fff7c2f 444282007-05-16 Robert Millan <rmh@aybabtu.com>
44429
44430 * DISTLIST: Update for the latest changes.
44431 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44432 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44433 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44434 grub/util/biosdisk.h.
44435 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44436 grub/util/biosdisk.h.
44437
48e12b52 444382007-05-16 Robert Millan <rmh@aybabtu.com>
44439
44440 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44441
46b9d128 444422007-05-16 Robert Millan <rmh@aybabtu.com>
44443
44444 * util/i386/efi/grub-install.in: New.
44445 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44446 newly added grub-install.
44447 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44448 include.
44449 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44450 grub/util/biosdisk.h.
44451 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44452 grub/util/biosdisk.h.
44453
2d1a40a9 444542007-05-16 Robert Millan <rmh@aybabtu.com>
44455
44456 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44457 * include/grub/util/biosdisk.h: ... here.
44458 * util/i386/pc/biosdisk.c: Moved to ...
44459 * util/biosdisk.c: ... here.
44460 * util/i386/pc/getroot.c: Moved to ...
44461 * util/getroot.c: ... here.
44462 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44463 * util/grub-mkdevicemap.c: ... here.
44464 * util/i386/pc/grub-probe.c: Moved to ...
44465 * util/grub-probe.c: ... here.
44466
9e26e3bc 444672007-05-15 Robert Millan <rmh@aybabtu.com>
44468
44469 * util/update-grub.in: Remove duplicated line in grub.cfg header
44470 message.
44471
57f96397 444722007-05-13 Robert Millan <rmh@aybabtu.com>
44473
44474 * util/update-grub.in: Fix a few assumptions about the devices holding
44475 /, /boot and /boot/grub being the same.
44476 * util/grub.d/00_header.in: Likewise.
44477 * util/grub.d/10_hurd.in: Likewise.
44478 * util/grub.d/10_linux.in: Likewise.
44479
44480 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44481 patterns. Use that to define the `.old' suffix as older than `'.
44482
44483 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44484
44485 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44486 the grub.cfg header message.
44487
2e610d62 444882007-05-11 Robert Millan <rmh@aybabtu.com>
44489
44490 * util/update-grub.in: Create device.map if it doesn't already exist,
44491 before attempting to run grub-probe.
44492 Check for grub-probe and grub-mkdevicemap with the same code
44493 grub-install is using.
44494 Remove test mode.
44495
3f6a10ef 444962007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44497
44498 * Makefile.in: Add the datarootdir autoconf variable.
44499
02e7b75e 445002007-05-09 Robert Millan <rmh@aybabtu.com>
44501
44502 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44503 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44504
75f396cc 445052007-05-07 Robert Millan <rmh@aybabtu.com>
44506
44507 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44508 determine partition map module.
44509 * util/i386/pc/grub-install.in: Use this feature to decide which
44510 partition module to load, instead of hardcoding pc and gpt.
44511
da65cb36 445122007-05-07 Robert Millan <rmh@aybabtu.com>
44513
44514 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44515 source directory differs from build directory.
44516
b57d6a91 445172007-05-05 Robert Millan <rmh@aybabtu.com>
44518
44519 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44520 initialisation.
44521
509d00f1 445222007-05-05 Robert Millan <rmh@aybabtu.com>
44523
44524 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44525
c48f23ef 445262007-05-05 Robert Millan <rmh@aybabtu.com>
44527
44528 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44529 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44530
20b97658 445312007-05-05 Robert Millan <rmh@aybabtu.com>
44532
44533 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44534 (grub_probe_SOURCES): Likewise.
44535 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44536 GPT and initialize dos_part and bsd_part accordingly.
44537 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44538 install_bsd_part.
44539 (main): Activate gpt module for use during partition identification,
44540 and deactivate it afterwards.
44541 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44542 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44543 partition identification, and deactivate it afterwards.
44544
99123174 445452007-05-05 Robert Millan <rmh@aybabtu.com>
44546
44547 * term/i386/pc/console.c (grub_console_fini): Call
44548 grub_term_set_current() before grub_term_unregister().
44549
ebd97f6e 445502007-05-04 Robert Millan <rmh@aybabtu.com>
44551
44552 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44553 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44554 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44555 and update-grub_DATA.
44556 * conf/common.rmk: Build and install update-grub components.
44557 * conf/common.mk: Regenerate.
44558 * util/update-grub.in: New. Core of update-grub.
44559 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44560 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44561 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44562 * util/grub.d/README: New. Document grub.d directory layout.
44563
b06a264d 445642007-05-01 Robert Millan <rmh@aybabtu.com>
44565
44566 * util/grub-emu.c: Move initialization functions
44567 grub_util_biosdisk_init() and grub_init_all() before
44568 grub_util_biosdisk_get_grub_dev(), which relies on them.
44569
41f0050e 445702007-04-19 Robert Millan <rmh@aybabtu.com>
44571
44572 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44573 it is used later.
44574
04582bb3 445752007-04-18 Jerone Young <jerone@gmail.com>
44576
f19dbdb7 44577 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44578 stanza.
44579
08db4632 445802007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44581
08db4632 44582 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44583 continue on and look for device node with real device name.
44584
801b76be 445852007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44586
fe6b695a 44587 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44588 ability.
44589 * Makefile.in: Add autoconf package transformation code.
44590 * util/i386/pc/grub-install.in: Likewise.
44591 * util/powerpc/ieee1275/grub-install.in: Likewise.
44592
6795c4e1 445932007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44594
44595 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44596 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44597 (EXT2_REVISION): Likewise.
44598 (EXT2_INODE_SIZE): Likewise.
44599 (struct grub_ext2_block_group): Added a missing member
44600 "used_dirs".
44601 (grub_ext2_read_inode): Divide by the inode size in a superblock
44602 instead of 128 to obtain INODES_PER_BLOCK.
44603 Use the macro EXT2_INODE_SIZE instead of directly using
44604 SBLOCK->INODE_SIZE.
44605
d70af616 446062007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44607
44608 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44609 superblock instead of the structure size to compute an
44610 offset. This fixes the problem that GRUB could not read a
44611 filesystem when inode size is different from 128-byte.
44612
3b801603 446132007-03-05 Marco Gerards <marco@gnu.org>
44614
44615 * normal/main.c (read_config_file): When "menu" is not set, create
44616 an initial context.
44617
4785bfe4 446182007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44619
44620 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44621 (HEAP_LIMIT): New macro.
44622 (grub_claim_heap): Claim memory up to `heaplimit'.
44623
a0cbb023 446242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44625
44626 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44627 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44628 (_start): Likewise.
44629 (grub_arch_modules_addr): Return address after `_end'.
44630 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44631 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44632 (add_segments): Calculate `_end' from phdr size and location.
44633 (ALIGN_UP): Moved to ...
44634 * include/grub/misc.h: here.
44635 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44636 New macro.
44637 (GRUB_IEEE1275_MODULE_BASE): Removed.
44638
fd7d8eba 446392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44640
44641 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44642 loop boundary.
44643
9b09e6fc 446442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44645
44646 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44647 All users updated.
44648 (grub_elf64_load_hook_t): Likewise.
44649 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44650 debug output.
44651
3ce27299 446522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44653
44654 * kern/mm.c: Update copyright.
44655 (grub_mm_debug): Correct syntax error.
44656 (grub_mm_dump_free): New function.
44657 (grub_debug_free): Call `grub_free'.
44658 * include/grub/mm.h: Update copyright.
44659 (grub_mm_dump_free): Add declaration.
44660
077d5fee 446612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44662
44663 * include/grub/ieee1275/ieee1275.h: Update copyright.
44664 * kern/powerpc/ieee1275/init.c: Likewise.
44665 * kern/powerpc/ieee1275/openfw.c: Likewise.
44666
44667 * loader/powerpc/ieee1275/linux.c: Likewise.
44668 * include/grub/elfload.h: Likewise.
44669 * kern/elf.c: Likewise.
44670 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44671 callers.
44672 (grub_elf64_load): Likewise.
44673 (grub_elf32_load_segment): Move to a nested function.
44674 (grub_elf64_load_segment): Likewise.
44675
dc946850 446762007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44677
44678 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44679 prototype.
44680 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44681 (grub_heap_len): Likewise.
44682 (HEAP_SIZE): New macro.
44683 (grub_claim_heap): New function.
44684 (grub_machine_init): Don't claim heap directly. Call
44685 `grub_claim_heap'.
44686 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44687 (grub_available_iterate): New function.
44688
baa2a121 446892007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44690
44691 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44692 * configure.ac: Use it for testing the HOST and TARGET compilers.
44693
4fe9862e 446942006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44695
44696 * Makefile.in (enable_grub_emu): New variable.
44697 * configure.ac (--enable-grub-emu): New option.
44698 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44699 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44700 * conf/i386-pc.rmk: Likewise.
44701 * conf/powerpc-ieee1275.rmk: Likewise.
44702 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44703
a8aa5762 447042006-12-12 Marco Gerards <marco@gnu.org>
44705
44706 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44707
44708 * kern/env.c (grub_env_unset): Don't free the member `value' when
44709 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44710 pointer.
44711
44712 * normal/main.c (current_menu): Removed.
44713 (free_menu): Unset the `menu' environment variable.
44714 (grub_normal_menu_addentry): Make use of the environment variable
44715 `menu', instead of using the global `current_menu'. Allocate
44716 memory for the sourcecode of this entry.
44717 (read_config_file): New argument `nested', changed all callers.
44718 Only in the case of a new context, initialize a new menu. Set the
44719 `menu' environment variable.
44720 (grub_normal_execute): Don't set and unset the environment
44721 variable `menu' here anymore. Only free the menu when leaving the
44722 context.
44723
44724 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44725 leak.
44726
957b3a3e 447272006-12-11 Marco Gerards <marco@gnu.org>
44728
44729 * normal/menu_entry.c (run): Fix off by one bug so the last line
44730 is executed. Move the loader check to outside the loop.
44731
ef875714 447322006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44733
44734 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44735
4e739985 447362006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44737
44738 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44739 the number of sectors. Reported by Andrey Shuvikov
44740 <mr_hyro@yahoo.com>.
f19dbdb7 44741
790707f2 447422006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44743
44744 * kern/disk.c (grub_disk_read): When there is a read error, always
44745 try to read only the necessary data.
f19dbdb7 44746
790707f2 44747 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44748 disk/raid.c.
44749 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44750 prototype.
44751 [GRUB_UTIL] (grub_raid_fini): Likewise.
44752 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44753 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44754 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44755 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44756 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44757 and grub_raid_fini().
f19dbdb7 44758
03e58196 447592006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44760
44761 * include/grub/types.h (__unused): Rename to UNUSED.
44762 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44763 (grub_elf64_size): Likewise.
f19dbdb7 44764
ae4f23bf 447652006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44766
44767 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44768 grub_error_push and grub_error_pop in the error-handling path.
44769 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44770 length.
44771
2166cc83 447722006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44773
44774 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44777 (kernel_elf_SOURCES): Likewise.
44778 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44779 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44780 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44781 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44782 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44783 (elf_mod_SOURCES): New variable.
44784 (elf_mod_CFLAGS): Likewise.
44785 (elf_mod_LDFLAGS): Likewise.
44786 * include/grub/types.h (__unused): New macro.
44787 * include/grub/elfload.h: New file.
44788 * kern/elf.c: Likewise.
44789 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44790 (ELF32_LOADMASK): New macro.
44791 (ELF64_LOADMASK): Likewise.
44792 (vmlinux): Removed.
44793 (grub_linux_load32): New function.
44794 (grub_linux_load64): Likewise.
44795 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44796 Use grub_elf_t instead of grub_file_t.
44797
a09d5aa5 447982006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44799
44800 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44801 `catch_result' to struct set_color_args.
44802
d976fc51 448032006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44804
44805 * normal/menu.c: Include grub/script.h.
44806 * normal/menu_entry.c: Likewise.
44807 * include/grub/normal.h: Do not include grub/script.h.
44808
67507549 448092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44810
44811 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44812
69203a99 448132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44814
44815 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44816 disk.
44817 (grub_disk_close): Print debug messages when closing a disk.
44818 (grub_disk_read): Print debug messages when disk read fails.
44819 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44820 filesystem type.
44821 * kern/partition.c: Include misc.h.
44822 (grub_partition_iterate): Print debug messages when detecting
44823 partition type.
44824
e2b8278c 448252006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44826
44827 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44828 is negative.
44829 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44830
97b2f2ff 448312006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44832
44833 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44834 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44835
6555d655 448362006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44837
44838 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44839 instead of sizeof(lv). Patch by Michael Guntsche.
44840
4d42b77f 448412006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44842
44843 * disk/lvm.c: Rename VGS to VG_LIST.
44844 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44845 (grub_lvm_open): Likewise.
44846 Thanks to Michael Guntsche for finding this bug.
44847
5d74d927 448482006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44849
44850 * configure.ac (AC_INIT): Bumped to 1.95.
44851
a1bb27e4 448522006-10-14 Robert Millan <rmh@aybabtu.com>
44853
44854 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44855 with "/dev/.static/dev/md".
44856
e0994b8b 448572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44858
44859 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44860 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44861 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44862 DRIVE_NAME are always freed.
44863
44864 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44865 DOS_PART, as a DOS partition is counted from one instead of zero
44866 now. Reported by Robert Millan.
44867
ddd5cee9 448682006-10-14 Robert Millan <rmh@aybabtu.com>
44869
44870 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44871 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44872 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44873 string returned by grub_guess_root_device.
44874 * util/i386/pc/grub-setup.c: Likewise.
44875 * util/i386/pc/grub-probefs.c: Likewise.
44876
44877 * util/i386/pc/grub-probefs.c: Rename to ...
44878 * util/i386/pc/grub-probe.c: ... this.
44879 * DISTLIST: Remove grub-probefs, add grub-probe.
44880 * conf/i386-efi.rmk: Likewise.
44881 * conf/i386-pc.rmk: Likewise.
44882 * util/i386/pc/grub-install.in: Likewise.
44883
44884 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44885 choose which information we want to print.
44886
2b002173 448872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44888
44889 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44890 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44891 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44892 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44893 video/readers/tga.c and video/i386/pc/vbeutil.c.
44894
448952006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44896
44897 Added support for RAID and LVM.
f19dbdb7 44898
2b002173 44899 * disk/lvm.c: New file.
44900 * disk/raid.c: Likewise.
44901 * include/grub/lvm.h: Likewise.
f19dbdb7 44902 * include/grub/raid.h: Likewise.
2b002173 44903 * include/grub/util/lvm.h: Likewise.
44904 * include/grub/util/raid.h: Likewise.
44905 * util/lvm.c: Likewise.
44906 * util/raid.c: Likewise.
44907
44908 * include/grub/disk.h (grub_disk_dev_id): Add
44909 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44910 (grub_disk_get_size): New prototype.
44911 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44912 returns a partition.
44913 (grub_disk_get_size): New function.
f19dbdb7 44914
2b002173 44915 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44916 verbatim if grub_install_dos_part is -2.
44917
44918 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44919 and LVM devices.
44920
44921 * util/i386/pc/grub-setup.c (setup): New argument
44922 MUST_EMBED. Force embedding of GRUB when the argument is
44923 true. Close FILE before returning.
44924 (main): Add support for RAID and LVM.
f19dbdb7 44925
2b002173 44926 * conf/common.rmk: Add RAID and LVM modules.
44927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44928 util/lvm.c.
44929 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44930
44931 * kern/misc.c (grub_strstr): New function.
44932 * include/grub/misc.h (grub_strstr): New prototype.
44933
050548d0 449342006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44935
44936 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44937
da849d2d 449382006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44939
44940 * kern/misc.c (grub_strtoull): Guess the base only if not
44941 specified.
44942
97b2f2ff 449432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44944
44945 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44946 PowerMac support.
44947
97b2f2ff 449482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44949
44950 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44951
44952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44953 Remove `flags' argument. All callers changed.
44954 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44955 (IEEE1275_IHANDLE_INVALID): New variable.
44956 (IEEE1275_CELL_INVALID): New variable.
44957 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44958 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44959 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44960 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44961 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44962 codes from Open Firmware. All callers updated.
44963 (grub_ieee1275_next_property): Directly return Open Firmware return
44964 code.
44965 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44966 Standardize error checking from `grub_ieee1275_get_property'.
44967 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44968 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44969
97b2f2ff 449702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44971
44972 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44973 `instance_to_package_args' to `instance_to_path_args'.
44974
44975 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44976 `grub_ieee1275_chosen'.
44977
44978 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44979 `grub_ieee1275_interpret'.
44980
97b2f2ff 449812006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44982
44983 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44984
97b2f2ff 449852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44986
44987 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44988 (__cmpdi): Likewise.
44989
44990 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44991 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44992 `grub_ssize_t'.
44993
02bb8acc 44994 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44995
44996 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44997 to type `grub_ssize_t'.
44998 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44999
7f9a8531 450002006-09-22 Marco Gerards <marco@gnu.org>
45001
45002 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45003 newlines.
45004
b5ef1102 450052006-09-22 Marco Gerards <marco@gnu.org>
45006
45007 * commands/echo.c: New file.
45008
45009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45010
45011 * conf/common.rmk (echo_mod_SOURCES): New variable.
45012 (echo_mod_CFLAGS): Likewise.
45013 (echo_mod_LDFLAGS): Likewise.
45014
2cff3677 450152006-09-22 Marco Gerards <marco@gnu.org>
45016
45017 * normal/main.c (get_line): Malloc memory instead of using
45018 preallocated memory. Removed the arguments `cmdline' and
45019 `max_len'. Updated all callers.
45020
6ba4688b 450212006-09-22 Marco Gerards <marco@gnu.org>
45022
45023 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45024 (normal_mod_DEPENDENCIES): Likewise.
45025
45026 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45027 (normal_mod_DEPENDENCIES): Likewise.
45028
45029 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45030
e02ac02c 450312006-09-22 Johan Rydberg <jrydberg@gnu.org>
45032
45033 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45034 programs.
45035 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45036 (normal_mod_DEPENDENCIES): Likewise.
45037 * conf/i386-pc.mk: Regenerate.
45038 * conf/i386-efi.mk: Likewise
45039 * conf/common.mk: Likewise.
45040 * conf/powerpc-ieee1275.mk: Likewise.
45041 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45042
8d252e44 450432006-09-22 Robert Millan <rmh@aybabtu.com>
45044
45045 Sync with i386 version.
45046 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45047 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45048
209bf7ac 450492006-09-21 Robert Millan <rmh@aybabtu.com>
45050
45051 Import from GRUB Legacy (lib/device.c):
45052 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45053 (init_device_map) [__linux__]: Add support for I2O devices.
45054
6b146090 450552006-09-14 Marco Gerards <marco@gnu.org>
45056
45057 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45058 `-melf_i386'.
45059
e38600a8 450602006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45061
45062 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45063 /boot/grub/*.lst.
78fa1790 45064
2952da5d 45065 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45066
2952da5d 45067 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45068 before adding it to device.map.
45069
01b82a64 450702006-08-15 Johan Rydberg <jrydberg@gnu.org>
45071
fe6b695a 45072 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45073 compiles a file; using the -MD option.
45074 * conf/common.mk: Regenerate.
45075 * conf/i386-pc.mk: Likewise.
45076 * conf/i386-efi.mk: Likewise.
45077 * conf/powerpc-ieee1275.mk: Likewise.
45078 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45079
1064790d 450802006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45081
45082 Move the prototypes of grub_setjmp and grub_longjmp to
45083 cpu/setjmp.h, so that each architecture may specify different
45084 attributes.
f19dbdb7 45085
1064790d 45086 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45087 (grub_longjmp): Likewise.
45088 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45089 (grub_longjmp): Likewise.
45090 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45091 (grub_longjmp): Likewise.
45092
45093 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45094 [!GRUB_UTIL] (grub_longjmp): Removed.
45095
29dda3ed 450962006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45097
45098 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45099 "color!" method does not return any value.
45100
ad2a06ed 451012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45102
45103 * include/grub/bitmap.h: New file.
45104
45105 * include/grub/i386/pc/vbeutil.h: Likewise.
45106
45107 * video/bitmap.c: Likewise.
45108
45109 * video/readers/tga.c: Likewise.
45110
45111 * video/i386/pc/vbeutil.c: Likewise.
45112
45113 * commands/videotest.c: Code cleanup and updated to reflect to new
45114 video API.
45115
45116 * term/gfxterm.c: Likewise.
45117
45118 * video/video.c: Likewise.
45119
45120 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45121 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45122 (bitmap_mod_SOURCES): New entry.
45123 (bitmap_mod_CFLAGS): Likewise.
45124 (bitmap_mod_LDFLAGS): Likewise.
45125 (tga_mod_SOURCES): Likewise.
45126 (tga_mod_CFLAGS): Likewise.
45127 (tga_mod_LDFLAGS): Likewise.
45128
45129 * include/grub/video.h (grub_video_blit_operators): New enum type.
45130 (grub_video_render_target): Changed as forward declaration and moved
45131 actual definition to be video driver specific.
45132 (grub_video_adapter.blit_bitmap): Added blitting operator.
45133 (grub_video_adapter.blit_render_target): Likewise.
45134 (grub_video_blit_bitmap): Likewise.
45135 (grub_video_blit_render_target): Likewise.
45136
45137 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45138 driver specific render target definition.
45139 (grub_video_vbe_map_rgba): Added driver internal helper.
45140 (grub_video_vbe_unmap_color): Updated to use
45141 grub_video_i386_vbeblit_info.
45142 (grub_video_vbe_get_video_ptr): Likewise.
45143
45144 * include/grub/i386/pc/vbeblit.h
45145 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45146 grub_video_i386_vbeblit_info.
45147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45148 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45149 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45150 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45151 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45152 (grub_video_i386_vbeblit_index_index): Likewise.
45153 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45154 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45155 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45156 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45157 operator.
45158 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45159 operator.
45160
45161 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45162 include/grub/i386/pc/vbeblit.h.
45163
45164 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45165 Updated to use grub_video_i386_vbeblit_info.
45166 (grub_video_i386_vbefill_R8G8B8): Likewise.
45167 (grub_video_i386_vbefill_index): Likewise.
45168 (grub_video_i386_vbefill): Added generic filler.
45169
45170 * video/i386/pc/vbefill.c: Updated to reflect changes on
45171 include/grub/i386/pc/vbefill.h.
45172
45173 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45174 grub_video_i386_vbeblit_info.
45175 (grub_video_vbe_unmap_color): Likewise.
45176 (grub_video_vbe_blit_glyph): Likewise.
45177 (grub_video_vbe_scroll): Likewise.
45178 (grub_video_vbe_draw_pixel): Removed function.
45179 (grub_video_vbe_get_pixel): Likewise.
45180 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45181 updated code to use it.
45182 (common_blitter): Added common blitter for render target and bitmap.
45183 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45184 (grub_video_vbe_blit_render_target): Likewise.
45185
bc8c036d 451862006-07-30 Johan Rydberg <jrydberg@gnu.org>
45187
45188 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45189 is in text mode if there is no console control protocol instance
45190 available.
45191
684a8eff 451922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45193
45194 * include/grub/video.h: Code cleanup.
45195
45196 * include/grub/i386/pc/vbe.h: Likewise.
45197
45198 * video/i386/pc/vbe.c: Likewise.
45199
45200 * video/i386/pc/vbeblit.c: Likewise.
45201
45202 * video/i386/pc/vbefill.c: Likewise.
45203
45204 * video/video.c: Likewise. Also added more comments.
45205
5915059b 452062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45207
45208 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45209 (struct grub_biosdisk_dap): Likewise.
45210
45211 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45212 linkage settings for all functions.
45213
90ce5d56 452142006-07-12 Marco Gerards <marco@gnu.org>
45215
45216 * configure.ac (--enable-mm-debug): Fix typo.
45217
45218 * genkernsyms.sh.in: Use proper quoting for `CC'.
45219
43e7f879 452202006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45221
45222 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45223 (normal_mod_ASFLAGS): Remove "-m32".
45224
4889bdec 452252006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45226
45227 * util/misc.c: Include config.h.
45228 [!HAVE_MEMALIGN]: Do not include malloc.h.
45229 (grub_memalign): Use posix_memalign, if present. Then, use
45230 memalign, if present. Otherwise, emit an error.
45231
45232 * util/grub-emu.c: Do not include malloc.h.
45233
45234 * include/grub/util/misc.h: Include unistd.h. This is required for
45235 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45236 D. Eades III <hde@foobar-qux.org>.
45237
45238 * configure.ac (AC_GNU_SOURCE): Added.
45239 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45240 type.
45241
fd39d4da 452422006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45243
45244 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45245 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45246
b786f3b5 452472006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45248
45249 * include/grub/types.h (grub_host_addr_t): Rename to
45250 grub_target_addr_t.
45251 (grub_host_off_t): Rename to grub_target_off_t.
45252 (grub_host_size_t): Rename to grub_target_size_t.
45253 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45254 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45255
45256 * include/grub/kernel.h (struct grub_module_header): Change type
45257 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45258 (grub_module_info): Likewise.
f19dbdb7 45259
051988bb 452602006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45261
45262 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45263 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45264 Velazquez <jesus.velazquez@gmail.com>.
45265
deae281b 452662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45267
45268 Count partitions from 1 instead of 0 in the string representation
45269 of partitions. Still use 0-based internally.
f19dbdb7 45270
deae281b 45271 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45272 (sun_partition_map_iterate): Use grub_partition_t instead of
45273 struct grub_partition *. Cast DESC->START_CYLINDER to
45274 grub_uint64_t after converting the endian.
45275 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45276 (sun_partition_map_get_name): Add 1 to P->INDEX.
45277
45278 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45279 PCDATA->DOS_PART.
45280 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45281
45282 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45283 zero instead of one.
45284 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45285 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45286
45287 * partmap/apple.c (apple_partition_map_iterate): Change the type
45288 of POS to unsigned.
45289 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45290 (apple_partition_map_get_name): Add 1 into P->INDEX.
45291
45292 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45293 of POS to unsigned.
45294 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45295 calculate the offset of a partition.
45296 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45297 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45298
45299 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45300 SECTOR to grub_disk_addr_t.
45301 (acorn_partition_map_iterate): Likewise.
45302 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45303 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45304 top.
45305 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45306
45307 * kern/i386/pc/init.c (make_install_device): Add 1 into
45308 GRUB_INSTALL_DOS_PART.
45309
45310 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45311 conditional.
45312
524a1e6a 453132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45314
45315 Clean up the code to support 64-bit addressing in disks and
45316 files. This change is not enough for filesystems yet.
f19dbdb7 45317
524a1e6a 45318 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45319 type of "start" to grub_uint64_t.
45320 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45321 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45322 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45323 convert addresses.
45324
45325 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45326 to grub_disk_addr_t.
45327
45328 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45329 string.
45330
45331 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45332
45333 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45334 to char *.
45335
45336 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45337
45338 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45339
45340 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45341
45342 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45343 to grub_off_t, to detect an error from grub_file_seek.
45344 (grub_multiboot_load_elf32): Likewise.
45345
45346 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45347 maximum unsigned long value when an overflow is detected.
45348 (grub_strtoull): New function.
45349 (grub_divmod64): Likewise.
45350 (grub_lltoa): use grub_divmod64.
45351
45352 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45353 grub_disk_addr_t.
45354 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45355 the pointer to next character. Use grub_strtoull instead of
45356 grub_strtoul.
45357 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45358 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45359 respectively.
45360
fe6b695a 45361 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45362 return value is signed.
45363 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45364 test if OFFSET is less than zero, as OFFSET is unsigned now.
45365
45366 * kern/disk.c (struct grub_disk_cache): Change the type of
45367 "sector" to grub_disk_addr_t.
45368 (grub_disk_cache_get_index): Change the type of SECTOR to
45369 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45370 unsigned after shifting.
45371 (grub_disk_cache_invalidate): Change the type of SECTOR to
45372 grub_disk_addr_t.
45373 (grub_disk_cache_unlock): Likewise.
45374 (grub_disk_cache_store): Likewise.
45375 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45376 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45377 grub_disk_addr_t and grub_uint64_t, respectively.
45378 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45379 body, as the value of OFFSET is tweaked by
45380 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45381 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45382 respectively.
45383 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45384 body, as the value of OFFSET is tweaked by
45385 grub_disk_check_range. Change the types of LEN and N to
45386 grub_size_t.
45387
45388 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45389 and "saved_offset" to grub_off_t.
45390 (test_header): Cast BUF to char *.
45391 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45392 to char *.
45393 (grub_gzio_read): Change the types of OFFSET and SIZE to
45394 grub_off_t and grub_size_t, respectively.
45395
45396 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45397 Removed.
45398 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45399 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45400 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45401 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45402 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45403
45404 * include/grub/types.h (grub_off_t): Unconditionally set to
45405 grub_uint64_t.
45406 (grub_disk_addr_t): Changed to grub_uint64_t.
45407
45408 * include/grub/partition.h (struct grub_partition): Change the
45409 types of "start", "len" and "offset" to grub_disk_addr_t,
45410 grub_uint64_t and grub_disk_addr_t, respectively.
45411 (grub_partition_get_start): Return grub_disk_addr_t.
45412 (grub_partition_get_len): Return grub_uint64_t.
45413
45414 * include/grub/misc.h (grub_strtoull): New prototype.
45415 (grub_divmod64): Likewise.
45416
45417 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45418 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45419 grub_off_t, respectively.
45420 All callers and references changed.
45421
45422 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45423 grub_size_t in "read".
45424 All callers and references changed.
45425
45426 * include/grub/file.h (struct grub_file): Change the types of
45427 "offset" and "size" to grub_off_t and grub_off_t,
45428 respectively. Change the type of SECTOR to grub_disk_addr_t in
45429 "read_hook".
45430 (grub_file_read): Change the type of LEN to grub_size_t.
45431 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45432 grub_off_t.
45433 (grub_file_size): Return grub_off_t.
45434 (grub_file_tell): Likewise.
45435 All callers and references changed.
45436
45437 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45438 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45439 "write".
45440 (struct grub_disk): Change the type of "total_sectors" to
45441 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45442 "read_hook".
524a1e6a 45443 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45444 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45445 (grub_disk_write): Likewise.
45446 All callers and references changed.
45447
45448 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45449 char * for grub_strncmp to silence gcc.
45450 (grub_iso9660_mount): Likewise.
45451 (grub_iso9660_mount): Likewise.
45452 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45453 return statement.
45454 (grub_iso9660_iterate_dir): Likewise.
45455 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45456
45457 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45458 LEN to grub_disk_addr_t and grub_size_t, respectively.
45459
45460 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45461
45462 * fs/jfs.c (grub_jfs_read_file): Likewise.
45463
45464 * fs/minix.c (grub_jfs_read_file): Likewise.
45465
45466 * fs/sfs.c (grub_jfs_read_file): Likewise.
45467
45468 * fs/ufs.c (grub_jfs_read_file): Likewise.
45469
45470 * fs/xfs.c (grub_jfs_read_file): Likewise.
45471
45472 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45473 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45474 respectively.
45475
45476 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45477 BLKNR to -1 instead of returning GRUB_ERRNO.
45478 (grub_ext2_read_file): Change the types of SECTOR and
45479 LEN to grub_disk_addr_t and grub_size_t, respectively.
45480
45481 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45482 LEN to grub_disk_addr_t and grub_size_t, respectively.
45483
45484 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45485 grub_file_read.
45486
45487 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45488 string. Do not cast SECTOR explicitly.
45489
45490 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45491 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45492 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45493 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45494 over 2TB and LBA mode is not supported, raise an error.
45495 (get_safe_sectors): New function.
45496 (grub_biosdisk_read): Use get_safe_sectors.
45497 (grub_biosdisk_write): Likewise.
45498
45499 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45500 (grub_efidisk_write): Likewise.
45501
45502 * disk/loopback.c (delete_loopback): Cosmetic changes.
45503 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45504 correctly.
45505 (grub_loopback_open): Likewise.
45506 (grub_loopback_read): Likewise. Also, change the type of POS to
45507 grub_off_t, and fix the usage of grub_memset.
45508
45509 * commands/i386/pc/play.c: Include grub/machine/time.h.
45510
45511 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45512 print FILE->SIZE.
45513
45514 * commands/configfile.c: Include grub/env.h.
45515
45516 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45517 GRUB_ERRNO directly instead. Change the type of POS to
45518 grub_off_t. Follow the coding standard.
45519
45520 * commands/blocklist.c: Include grub/partition.h.
45521 (grub_cmd_blocklist): Return an error if the underlying device is
45522 not a disk. Take the starting sector of a partition into account,
45523 if a partition is used.
45524
45525 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45526 a length field.
45527 (lba_mode): Support 64-bit addresses.
45528 (chs_mode): Likewise.
45529 (copy_buffer): Adapted to the new offsets of a length field and a
45530 segment field.
45531 (blocklist_default_start): Allocate 64-bit space.
45532
45533 * boot/i386/pc/boot.S (force_lba): Removed.
45534 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45535 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45536 space.
45537 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45538 is useless.
45539 (lba_mode): Refactored to support a 64-bit address. More size
45540 optimization.
45541 (setup_sectors): Likewise.
45542
53af98ad 455432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45544
45545 * DISTLIST: Added include/grub/i386/linux.h. Removed
45546 include/grub/i386/pc/linux.h
45547
45548 * configure.ac (AC_INIT): Bumped to 1.94.
45549
45550 * config.guess: Updated from gnulib.
45551 * config.sub: Likewise.
45552 * install-sh: Likewise.
45553 * mkinstalldirs: Likewise.
45554
b4c1940a 455552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45556
45557 * conf/common.rmk (grub_modules_init.lst): Depended on
45558 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45559 MODSRCFILES.
45560
45561 * genmk.rb (PModule::rule): Reverted the previous change.
45562
cfca1cfd 455632006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45564
45565 * conf/common.rmk (grub_modules_init.lst): Depends on
45566 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45567 that the target does not exist before producing.
45568 (grub_modules_init.h): Remove the target before generating.
45569 (grub_emu_init.c): Likewise.
45570
45571 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45572
aa6d7826 455732006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45574
45575 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45576 for the target-specific tests. Make sure that we also have the
45577 up-to-date target variables for those tests.
45578
26c607b9 455792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45580
45581 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45582 (PModule::rule): Likewise.
45583
0162321a 455842006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45585
45586 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45587 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45588 target-specific flags should be prefixed.
45589 (PModule::rule): Likewise.
45590
6c826348 455912006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45592
45593 * configure.ac (CMP): Check if cmp is available explicitly.
45594
b977bf01 455952006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45596
45597 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45598 (target_cpu): New variable.
45599 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45600
b977bf01 45601 * util/i386/pc/grub-install.in (host_cpu): Removed.
45602 (target_cpu): New variable.
45603 (pkglibdir): Use target_cpu instead of host_cpu.
45604
45605 * util/genmoddep.c: Removed.
f19dbdb7 45606
b977bf01 45607 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45608 instead of GRUB_HOST_SIZEOF_VOID_P.
45609 * kern/dl.c: Likewise.
45610
45611 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45612 ...
45613 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45614 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45615 (GRUB_TARGET_SIZEOF_LONG): ... this.
45616 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45617 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45618 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45619 to ...
45620 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45621 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45622 (GRUB_TARGET_SIZEOF_LONG): ... this.
45623 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45624 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45625 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45626 to ...
45627 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45628 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45629 (GRUB_TARGET_SIZEOF_LONG): ... this.
45630 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45631 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45632
45633 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45634 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45635 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45636 instead of GRUB_HOST_SIZEOF_LONG.
45637 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45638 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45639 GRUB_CPU_WORDS_BIGENDIAN.
45640 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45641 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45642 grub_host_ssize_t.
45643
45644 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45645 (genmoddep_SOURCES): Likewise.
45646 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45647 (genmoddep_SOURCES): Likewise.
45648 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45649 (genmoddep_SOURCES): Likewise.
45650 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45651 Likewise.
45652 (genmoddep_SOURCES): Likewise.
45653
45654 * genmoddep.awk: New file.
45655
45656 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45657 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45658 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45659 (PModule::rule): Likewise.
45660 (Program::rule): Likewise.
45661 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45662 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45663 respectively.
45664
45665 * configure.ac: Rewritten intensively to use host and target
45666 instead of build and host, respectively.
45667
45668 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45669 (host_cpu): Removed.
45670 (target_cpu): New variable.
45671 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45672 (BUILD_CC): Removed.
45673 (BUILD_CFLAGS): Likewise.
45674 (BUILD_CPPFLAGS): Likewise.
45675 (TARGET_CC): New variable.
45676 (TARGET_CFLAGS): Likewise.
45677 (TARGET_CPPFLAGS): Likewise.
45678 (TARGET_LDFLAGS): Likewise.
45679 (AWK): Likewise.
45680 (include): Use target_cpu instead of host_cpu.
45681 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45682
b977bf01 45683 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45684
f09771a1 456852006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45686
45687 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45688 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45689 field 'false' to 'exec_on_false'.
45690 (grub_script_create_cmdif): Renamed argument names to reflect above
45691 changes.
45692
45693 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45694
45695 * normal/script.c (grub_script_create_cmdif): Likewise.
45696
118f4fb3 456972006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45698
45699 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45700 top.
45701 (grub_hfsplus_btree_recptr): Likewise.
45702 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45703 FILEBLOCK both to pass a block number and store next block
45704 number.
45705 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45706 overflow file correctly. Specify errors appropriately, because
45707 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45708 grub_hfsplus_btree_recptr to get the pointer to a found key.
45709 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45710 is found.
45711
45712 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45713 linux.mod.
45714 (_linux_mod_SOURCES): New variable.
45715 (_linux_mod_CFLAGS): Likewise.
45716 (_linux_mod_LDFLAGS): Likewise.
45717 (linux_mod_SOURCES): Likewise.
45718 (linux_mod_CFLAGS): Likewise.
45719 (linux_mod_LDFLAGS): Likewise.
45720
45721 * DISTLIST: Added loader/i386/efi/linux.c,
45722 loader/i386/efi/linux_normal.c and
45723 include/grub/i386/efi/loader.h.
45724
45725 * loader/i386/efi/linux.c: New file.
45726 * loader/i386/efi/linux_normal.c: Likewise.
45727 * include/grub/i386/efi/loader.h: Likewise.
45728
89a7d726 457292006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45730
45731 * commands/blocklist.c: New file.
45732
45733 * DISTLIST: Added commands/blocklist.c.
45734
45735 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45736 color for the background, and a darker color for the foreground.
89a7d726 45737 (grub_console_checkkey): Return READ_KEY.
45738 (grub_console_cls): Set the background to
45739 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45740
45741 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45742
45743 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45744 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45745
45746 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45747 prototype.
45748
45749 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45750 BG. The spec is wrong again.
45751
45752 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45753 prototype.
45754 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45755
45756 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45757 commands/blocklist.c.
45758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45759
89a7d726 45760 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45761 (blocklist_mod_SOURCES): New variable.
45762 (blocklist_mod_CFLAGS): Likewise.
45763 (blocklist_mod_LDFLAGS): Likewise.
45764
75c8f258 457652006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45766
45767 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45768 duplication.
45769 (lba_mode): Use %eax more intensively to reduce the code size.
45770
da2eb181 457712006-05-20 Marco Gerards <marco@gnu.org>
45772
45773 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45774
45775 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45776 for `menuentry'.
45777 (script): Accept leading newlines.
45778 (newlines): New rule to describe 0 or more newlines.
45779 (commands): Accept `command' with trailing newline. Fixed the
45780 order in which arguments were passed to `grub_script_add_cmd'.
45781 Accept commands separated by newlines.
45782 (function): Changed to accept newlines.
45783 (menuentry) Rewritten.
45784
45785 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45786 front of the list, instead of to the end.
45787
577b4050 457882006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45789
45790 * util/i386/pc/grub-install.in (bindir): New variable.
45791 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45792 Shaver <lbgwjl@gmail.com>.
45793
0d6e1189 457942006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45795
45796 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45797 grub/machine/linux.h
45798 * loader/i386/pc/linux.c: Likewise.
45799
45800 * include/grub/i386/pc/linux.h: Moved to ...
45801 * include/grub/i386/linux.h: ... here.
45802
45803 * include/grub/i386/linux.h (struct linux_kernel_params): New
45804 struct.
f19dbdb7 45805
31b86e9f 458062006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45807
45808 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45809 checking.
45810 (grub_video_vbe_blit_glyph): Likewise.
45811 (grub_video_vbe_blit_bitmap): Likewise.
45812 (grub_video_vbe_blit_render_target): Likewise.
45813
83b984de 458142006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45815
45816 * configure.ac (--with-platform): Properly quote the square
45817 brackets.
45818
5f0413bd 458192006-05-08 Marco Gerards <marco@gnu.org>
45820
45821 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45822 this...
45823 (kernel_elf_HEADERS): ...to this. Updated all users.
45824 (grubof_symlist.c): Renamed from this...
45825 (kernel_elf_symlist.c): ...to this. Updated all users.
45826 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45827 (grubof_SOURCES): Renamed from this...
45828 (kernel_elf_SOURCES): ...to this.
45829 (grubof_HEADERS): Renamed from this...
45830 (kernel_elf_HEADERS): ...to this.
45831 (grubof_CFLAGS): Renamed from this...
45832 (kernel_elf_CFLAGS): ...to this.
45833 (grubof_ASFLAGS): Renamed from this...
45834 (kernel_elf_ASFLAGS): ...to this.
45835 (grubof_LDFLAGS): Renamed from this...
45836 (kernel_elf_LDFLAGS): ...to this.
45837
45838 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45839 this...
45840 (kernel_elf_HEADERS): ...to this. Updated all users.
45841 (grubof_symlist.c): Renamed from this...
45842 (kernel_elf_symlist.c): ...to this. Updated all users.
45843 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45844 (grubof_SOURCES): Renamed from this...
45845 (kernel_elf_SOURCES): ...to this.
45846 (grubof_HEADERS): Renamed from this...
45847 (kernel_elf_HEADERS): ...to this.
45848 (grubof_CFLAGS): Renamed from this...
45849 (kernel_elf_CFLAGS): ...to this.
45850 (grubof_ASFLAGS): Renamed from this...
45851 (kernel_elf_ASFLAGS): ...to this.
45852 (grubof_LDFLAGS): Renamed from this...
45853 (kernel_elf_LDFLAGS): ...to this.
45854
45855 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45856 `kernel.elf' instead of `grubof'.
45857
05568c2e 458582006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45859
45860 Add --with-platform to configure. Use pkglibdir instead of
45861 pkgdatadir. This is reported by Roger Leigh.
45862
45863 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45864 (host_vendor): Likewise.
45865 (host_os): Likewise.
45866 (pkgdatadir): Likewise.
45867 (platform): New variable.
45868 (pkglibdir): Likewise.
45869 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45870
05568c2e 45871 * util/i386/pc/grub-install.in (datadir): Removed.
45872 (host_vendor): Likewise.
45873 (host_os): Likewise.
45874 (pkgdatadir): Likewise.
45875 (platform): New variable.
45876 (pkglibdir): Likewise.
45877 Use PKGLIBDIR instead of PKGDATADIR.
45878
45879 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45880 instead of GRUB_DATADIR.
45881 (main): Likewise.
45882 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45883 (main): Likewise.
45884 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45885 (main): Likewise.
45886
45887 * configure.ac (--with-platform): New option.
45888 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45889
45890 * Makefile.in: Include a makefile based on PLATFORM instead of
45891 HOST_VENDOR.
45892 (pkgdatadir): Not appended by the machine type.
45893 (pkglibdir): Appended by the machine type.
45894 (host_vendor): Removed.
45895 (platform): New variable.
45896 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45897 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45898 (uninstall): Likewise.
45899
4e93851c 459002006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45901
45902 Use the environment context in the menu. Remove the commands
45903 "default" and "timeout", and use variables instead.
f19dbdb7 45904
4e93851c 45905 * normal/menu.c: Include grub/env.h.
45906 (print_entry): Cast TITLE to silence gcc.
45907 (get_timeout): New function.
45908 (set_timeout): Likewise.
45909 (get_entry_number): Likewise.
45910 (run_menu): Use a default entry, a fallback entry and a timeout
45911 in the environment variables "default", "fallback" and
45912 "timeout". Also, tweak the default entry if it is not within the
45913 current menu entries.
45914 (grub_menu_run): Use a fallback entry in the environment variable
45915 "fallback".
45916
45917 * normal/main.c (read_config_file): Do not initialize
45918 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45919 NEWMENU->TIMEOUT.
45920 (grub_normal_execute): Use a data slot to store the menu.
45921
45922 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45923 fallback_entry and timeout.
45924 (struct grub_menu_list): Removed.
45925 (grub_menu_list_t): Likewise.
45926 (struct grub_context): Likewise.
45927 (grub_context_t): Likewise.
45928 (grub_context_get): Likewise.
45929 (grub_context_get_current_menu): Likewise.
45930 (grub_context_push_menu): Likewise.
45931 (grub_context_pop_menu): Likewise.
45932 (grub_default_init): Likewise.
45933 (grub_default_fini): Likewise.
45934 (grub_timeout_init): Likewise.
45935 (grub_timeout_fini): Likewise.
45936
45937 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45938 and timeout.mod.
45939 (normal_mod_SOURCES): Removed normal/context.c.
45940
45941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45942 commands/default.c, commands/timeout.c and normal/context.c.
45943 (normal_mod_SOURCES): Removed normal/context.c.
45944
45945 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45946 commands/timeout.c and normal/context.c.
45947 (normal_mod_SOURCES): Removed normal/context.c.
45948
45949 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45950 commands/default.c, commands/timeout.c and normal/context.c.
45951 (normal_mod_SOURCES): Removed normal/context.c.
45952
45953 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45954 timeout.mod.
45955 (default_mod_SOURCES): Removed.
45956 (default_mod_CFLAGS): Likewise.
45957 (default_mod_LDFLAGS): Likewise.
45958 (timeout_mod_SOURCES): Removed.
45959 (timeout_mod_CFLAGS): Likewise.
45960 (timeout_mod_LDFLAGS): Likewise.
45961
45962 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45963 normal/context.c.
45964
45965 * commands/default.c: Removed.
45966 * commands/timeout.c: Likewise.
45967 * normal/context.c: Likewise.
45968
1eb9cc1d 459692006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45970
45971 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45972
385bd9c1 459732006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45974
45975 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45976 "next" to "prev" for readability.
45977 (struct grub_env_sorted_var): New struct.
45978 (grub_env_context): Renamed to ...
45979 (initial_context): ... this.
45980 (grub_env_var_context): Renamed to ...
45981 (current_context): ... this.
45982 (grub_env_find): Look only at CURRENT_CONTEXT.
45983 (grub_env_context_open): Rewritten to copy exported variables from
45984 previous context.
45985 (grub_env_context_close): Rewritten according to the new
45986 scheme. Also, add an assertion to prevent the initial context from
45987 removed.
45988 (grub_env_insert): Removed the code for the sorted list.
45989 (grub_env_remove): Likewise.
45990 (grub_env_export): Simply mark the variable with
45991 GRUB_ENV_VAR_GLOBAL.
45992 (grub_env_set): A cosmetic change for naming consistency.
45993 (grub_env_get): Likewise.
45994 (grub_env_unset): Likewise.
45995 (grub_env_iterate): Rewritten to sort variables within this
45996 function.
45997 (grub_register_variable_hook): Fixed for naming consistency. Call
45998 grub_env_find again, only if NAME is not found at the first time.
45999 (mangle_data_slot_name): New function.
46000 (grub_env_set_data_slot): Likewise.
46001 (grub_env_get_data_slot): Likewise.
46002 (grub_env_unset_data_slot): Likewise.
46003
46004 * include/grub/env.h (grub_env_var_type): New enum.
46005 (GRUB_ENV_VAR_LOCAL): New constant.
46006 (GRUB_ENV_VAR_GLOBAL): Likewise.
46007 (GRUB_ENV_VAR_DATA): Likewise.
46008 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46009 "type".
46010 (grub_env_set): Replace VAR with NAME for consistency.
46011 (grub_register_variable_hook): Likewise.
46012 (grub_env_export): Specify the name of the argument.
46013 (grub_env_set_data_slot): New prototype.
46014 (grub_env_get_data_slot): Likewise.
46015 (grub_env_unset_data_slot): Likewise.
46016
7f362539 460172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46018
46019 Extend the loader so that GRUB can accept a loader which comes
46020 back to GRUB when a loaded image exits. Also, this change adds
46021 support for a chainloader on EFI.
f19dbdb7 46022
7f362539 46023 * term/efi/console.c: Include grub/misc.h.
46024 (grub_console_checkkey): Display a scan code on the top for
46025 debugging. This will be removed once the EFI port gets stable.
46026 Correct the scan code mapping.
46027
46028 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46029 allocate memory from larger regions, in order to reduce the number
46030 of allocated regions. Otherwise, the MacOSX loader panics.
46031 (filter_memory_map): Avoid less than 1MB for compatibility with
46032 other loaders.
46033 (add_memory_regions): Allocate from the tail of a region, if
46034 possible, to avoid allocating a region near to 1MB, for the MacOSX
46035 loader.
46036
46037 * kern/efi/init.c (grub_efi_set_prefix): Specify
46038 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46039
46040 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46041 argument IMAGE_HANDLE and specify it to get a loaded image.
46042 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46043 grub_efi_get_loaded_image.
fe6b695a 46044 (grub_efi_get_filename): Divide the length by the size of
7f362539 46045 grub_efi_char16_t.
46046 (grub_efi_get_device_path): New function.
46047 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46048 the length by the size of grub_efi_char16_t for a file path device
46049 path node.
46050
46051 * kern/loader.c (grub_loader_noreturn): New variable.
46052 (grub_loader_set): Accept a new argument NORETURN. Set
46053 GRUB_LOADER_NORETURN to NORETURN.
46054 All callers changed.
46055 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46056 grub_machine_fini.
46057
46058 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46059 prototype.
46060 (grub_efi_get_loaded_image): Take an argument to specify an image
46061 handle.
46062
46063 * include/grub/loader.h (grub_loader_set): Added one more argument
46064 NORETURN.
46065
46066 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46067 instead of grub_efi_open_protocol.
46068 (grub_efidisk_get_device_name): Likewise.
46069 (grub_efidisk_close): Print a newline.
46070 (grub_efidisk_get_device_handle): Fixed to use
46071 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46072 GRUB_EFI_DEVICE_PATH_TYPE.
46073
46074 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46075 * kern/efi/efi.c (device_path_guid): ... here.
46076
46077 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46078 chain.mod.
46079 (kernel_mod_HEADERS): Added efi/disk.h.
46080 (_chain_mod_SOURCES): New variable.
46081 (_chain_mod_CFLAGS): Likewise.
46082 (_chain_mod_LDFLAGS): Likewise.
46083 (chain_mod_SOURCES): Likewise.
46084 (chain_mod_CFLAGS): Likewise.
46085 (chain_mod_LDFLAGS): Likewise.
46086
46087 * DISTLIST: Added include/grub/efi/chainloader.h,
46088 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46089
46090 * include/grub/efi/chainloader.h: New file.
46091 * loader/efi/chainloader.c: Likewise.
46092 * loader/efi/chainloader_normal.c: Likewise.
46093
c0111d6e 460942006-04-30 Marco Gerards <marco@gnu.org>
46095
46096 * commands/configfile.c (grub_cmd_source): New function.
46097 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46098 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46099
df5341da 461002006-04-30 Marco Gerards <marco@gnu.org>
46101
46102 * normal/execute.c (grub_script_execute_cmd): Change the return
46103 type to `grub_err_t'. Correctly return the error.
46104 (grub_script_execute_cmdline): In case a command line is not a
46105 command or a function, try to interpret it as an assignment.
46106
f85934bd 461072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46108
46109 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46110 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46111 skip a node whose name is obviously invalid as UTF-16,
46112 i.e. contains a NUL character. Stop the iteration when the last
46113 directory entry is found. Instead of using the return value of
46114 grub_hfsplus_btree_iterate_node, store the value in RET and use
46115 it, because the iterator can be stopped by the last directory
46116 entry.
46117
8f8a2cf8 461182006-04-30 Marco Gerards <marco@gnu.org>
46119
46120 * include/grub/env.h (grub_env_export): New prototype. Reported
46121 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46122
a27e84ce 461232006-04-30 Marco Gerards <marco@gnu.org>
46124
46125 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46126 size of the extents in a catalog file record.
46127
eaef0553 461282006-04-29 Marco Gerards <marco@gnu.org>
46129
46130 * commands/configfile.c (grub_cmd_configfile): Execute the
46131 configfile within its own context.
46132
46133 * include/grub/env.h (grub_env_context_open): New prototype.
46134 (grub_env_context_close): Likewise.
46135
46136 * kern/env.c (grub_env): Removed.
46137 (grub_env_sorted): Likewise.
46138 (grub_env_context): New variable.
46139 (grub_env_var_context): Likewise.
46140 (grub_env_find): Search both the active context and the global
46141 context.
46142 (grub_env_context_open): New function.
46143 (grub_env_context_close): Likewise.
46144 (grub_env_insert): Likewise.
46145 (grub_env_remove): Likewise.
46146 (grub_env_export): Likewise.
46147 (grub_env_set): Changed to use helper functions to avoid code
46148 duplication.
46149 (grub_env_iterate): Rewritten so both the current context and the
46150 global context are being used.
46151
46152 * normal/command.c (export_command): New function.
46153 (grub_command_init): Register the `export' function.
46154
7b455f4d 461552006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46156
46157 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46158 explicitly to suppress gcc's warnings.
46159 * fs/fat.c (grub_fat_find_dir): Likewise.
46160 (grub_fat_label): Likewise.
46161 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46162 (grub_xfs_mount): Likewise.
46163 (grub_xfs_label): Likewise.
46164 * fs/affs.c (grub_affs_mount): Likewise.
46165 (grub_affs_label): Likewise.
46166 (grub_affs_iterate_dir): Likewise.
46167 * fs/sfs.c (grub_sfs_mount): Likewise.
46168 (grub_sfs_iterate_dir): Likewise.
46169 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46170 * fs/hfs.c (grub_hfs_mount): Likewise.
46171 (grub_hfs_cmp_catkeys): Likewise.
46172 (grub_hfs_find_dir): Likewise.
46173 (grub_hfs_dir): Likewise.
46174 (grub_hfs_label): Likewise.
46175 * fs/jfs.c (grub_jfs_mount): Likewise.
46176 (grub_jfs_opendir): Likewise.
46177 (grub_jfs_getent): Likewise.
46178 (grub_jfs_lookup_symlink): Likewise.
46179 (grub_jfs_label): Likewise.
46180 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46181 (grub_hfsplus_iterate_dir): Likewise.
46182 (grub_hfsplus_btree_iterate_node): Made static.
46183
46184 * util/grub-emu.c (prefix): New variable.
46185 (grub_machine_set_prefix): New function.
46186 (main): Do not set the environment variable "prefix" here. Only
46187 set PREFIX, which is used later by grub_machine_set_prefix.
46188
46189 * include/grub/video.h: Do not include grub/symbol.h.
46190 (grub_video_register): Not exported. This symbol is not defined in
46191 the kernel.
46192 (grub_video_unregister): Likewise.
46193 (grub_video_iterate): Likewise.
46194 (grub_video_setup): Likewise.
46195 (grub_video_restore): Likewise.
46196 (grub_video_get_info): Likewise.
46197 (grub_video_get_blit_format): Likewise.
46198 (grub_video_set_palette): Likewise.
46199 (grub_video_get_palette): Likewise.
46200 (grub_video_set_viewport): Likewise.
46201 (grub_video_get_viewport): Likewise.
46202 (grub_video_map_color): Likewise.
46203 (grub_video_map_rgb): Likewise.
46204 (grub_video_map_rgba): Likewise.
46205 (grub_video_fill_rect): Likewise.
46206 (grub_video_blit_glyph): Likewise.
46207 (grub_video_blit_bitmap): Likewise.
46208 (grub_video_blit_render_target): Likewise.
46209 (grub_video_scroll): Likewise.
46210 (grub_video_swap_buffers): Likewise.
46211 (grub_video_create_render_target): Likewise.
46212 (grub_video_delete_render_target): Likewise.
46213 (grub_video_set_active_render_target): Likewise.
46214
46215 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46216 Undefined.
46217 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46218
46219 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46220 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46221 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46222 instead of $(srcdir)/genkernsyms.sh.
46223
46224 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46225 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46226 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46227 instead of $(srcdir)/genkernsyms.sh.
46228
46229 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46230 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46232 instead of $(srcdir)/genkernsyms.sh.
46233
46234 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46235 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46236 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46237 instead of $(srcdir)/genkernsyms.sh.
46238
46239 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46240 genkernsyms.sh.
46241
46242 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46243 genkernsyms.sh.
46244 (gensymlist.sh): New target.
46245 (genkernsyms.sh): Likewise.
46246
46247 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46248 genkernsyms.sh.in and gensymlist.sh.in.
46249
46250 * genkernsyms.sh: Removed.
46251 * gensymlist.sh: Likewise.
f19dbdb7 46252
7b455f4d 46253 * genkernsyms.sh.in: New file.
46254 * gensymlist.sh.in: Likewise.
46255
1885bb27 462562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46257
46258 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46259 clobber "prefix", since we may have already set it manually.
46260
71538dff 462612006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46262
46263 * kern/misc.c (abort): New alias for grub_abort.
46264
2965c7cc 462652006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46266
46267 A new machine-specific function "grub_machine_set_prefix" is
46268 defined. This is called after loading modules, so that a prefix
46269 initialization can use modules. Also, this change adds an
46270 intensive debugging feature for the memory manager via the
46271 configure option "--enable-mm-debug".
f19dbdb7 46272
2965c7cc 46273 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46274 PART.LEN.
46275
46276 * kern/sparc64/ieee1275/init.c (abort): Removed.
46277 (grub_stop): Likewise.
46278 (grub_exit): New function.
46279 (grub_set_prefix): Renamed to ...
46280 (grub_machine_set_prefix): ... this.
46281 (grub_machine_init): Do not call grub_set_prefix.
46282
46283 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46284 (grub_machine_set_prefix): ... this.
46285 (grub_machine_init): Do not call grub_set_prefix.
46286
46287 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46288 (grub_machine_init): Do not set the prefix here.
46289
46290 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46291
46292 * kern/efi/init.c: Include grub/mm.h.
46293 (grub_efi_set_prefix): New function.
46294
46295 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46296 (grub_efi_get_filename): New function.
46297 (grub_print_device_path): Renamed to ...
46298 (grub_efi_print_device_path): ... this.
46299
46300 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46301 [MM_DEBUG] (grub_realloc): Likewise.
46302 [MM_DEBUG] (grub_free): Likewise.
46303 [MM_DEBUG] (grub_memalign): Likewise.
46304 [MM_DEBUG] (grub_mm_debug): New variable.
46305 [MM_DEBUG] (grub_debug_malloc): New function.
46306 [MM_DEBUG] (grub_debug_free): New function.
46307 [MM_DEBUG] (grub_debug_realloc): New function.
46308 [MM_DEBUG] (grub_debug_memalign): New function.
46309
46310 * kern/misc.c (grub_abort): Print a newline to distinguish
46311 the message.
46312
46313 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46314 grub_set_root_dev after loading modules. This is necessary when
46315 setting a prefix depends on modules.
46316
46317 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46318 (grub_efi_print_device_path): ... this.
46319 (grub_efi_get_filename): New prototype.
46320 (grub_efi_set_prefix): Likewise.
46321
46322 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46323 and grub/disk.h.
46324 (grub_efidisk_get_device_handle): New prototype.
46325 (grub_efidisk_get_device_name): Likewise.
46326
46327 * include/grub/mm.h: Include config.h.
46328 (MM_DEBUG): Removed.
46329 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46330 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46331 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46332 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46333 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46334 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46335 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46336 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46337 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46338
46339 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46340
46341 * disk/efi/efidisk.c: Include grub/partition.h.
46342 (iterate_child_devices): New function.
46343 (add_device): First, compare only last device path nodes, so that
46344 devices are sorted by the types.
46345 (grub_efidisk_get_device_handle): New function.
46346 (grub_efidisk_get_device_name): Likewise.
46347
46348 * configure.ac (--enable-mm-debug): New option to enable the
46349 memory manager debugging feature. This makes the binary much
46350 bigger, so is disabled by default.
46351
9cacaa17 463522006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46353
46354 Use grub_abort instead of grub_stop, and grub_exit must be
46355 define in each architecture now. Also, this change adds support
46356 for EFI disks.
f19dbdb7 46357
9cacaa17 46358 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46359 (grub_getkey): New function.
46360 (grub_term_get_current): Likewise.
46361
46362 * util/i386/pc/grub-setup.c: Include grub/term.h.
46363 (grub_getkey): New function.
46364 (grub_term_get_current): Likewise.
46365
46366 * util/misc.c (grub_stop): Renamed to ...
46367 (grub_exit): ... this.
46368
46369 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46370 (grub_exit): ... this.
46371 (grub_machine_init): Use grub_abort instead of abort.
46372 (grub_stop): Removed.
46373
46374 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46375 abort.
46376
46377 * kern/i386/pc/startup.S (grub_exit): New function.
46378 (cold_reboot): New label.
46379
46380 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46381 (grub_efi_init): Call grub_efidisk_init.
46382 (grub_efi_fini): Call grub_efidisk_fini.
46383
46384 * kern/efi/efi.c: Include grub/mm.h.
46385 (grub_efi_console_control_guid): Renamed to ...
46386 (console_control_guid): ... this.
46387 (grub_efi_loaded_image_guid): Renamed to ...
46388 (loaded_image_guid): ... this.
46389 (grub_efi_locate_handle): New function.
46390 (grub_efi_open_protocol): Likewise.
46391 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46392 GRUB_EFI_CONSOLE_CONTROL_GUID.
46393 (grub_efi_exit): Removed.
46394 (grub_stop): Likewise.
46395 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46396 (grub_exit): New function.
46397 (grub_print_device_path): Likewise.
46398
46399 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46400 (grub_enter_rescue_mode): Register "exit".
46401
46402 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46403 (grub_abort): New function.
46404
46405 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46406
46407 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46408
46409 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46410
46411 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46412 (grub_print_device_path): New prototype.
46413 (grub_efi_locate_handle): Likewise.
46414 (grub_efi_open_protocol): Likewise.
46415
46416 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46417 * disk/efi/efidisk.c: Likewise.
46418
46419 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46420
46421 * include/grub/efi/console_control.h
46422 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46423
46424 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46425 last 8 bytes as an array.
46426 (GRUB_EFI_DISK_IO_GUID): New macro.
46427 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46428 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46429 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46430 grub_uint8_t.
46431 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46432 (struct grub_efi_device_path): Rename the member "sub_type" to
46433 "subtype".
46434 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46435 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46436 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46437 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46438 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46439 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46440 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46441 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46442 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46443 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46444 (struct grub_efi_pci_device_path): New structure.
46445 (grub_efi_pci_device_path_t): New type.
46446 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46447 (struct grub_efi_pccard_device_path): New structure.
46448 (grub_efi_pccard_device_path_t): New type.
46449 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46450 (struct grub_efi_memory_mapped_device_path): New structure.
46451 (grub_efi_memory_mapped_device_path_t): New type.
46452 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46453 (struct grub_efi_vendor_device_path): New structure.
46454 (grub_efi_vendor_device_path_t): New type.
46455 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46456 (struct grub_efi_controller_device_path): New structure.
46457 (grub_efi_controller_device_path_t): New type.
46458 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46459 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46460 (struct grub_efi_acpi_device_path): New structure.
46461 (grub_efi_acpi_device_path_t): New type.
46462 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46463 (struct grub_efi_expanded_acpi_device_path): New structure.
46464 (grub_efi_expanded_acpi_device_path_t): New type.
46465 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46466 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46467 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46468 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46469 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46470 (struct grub_efi_atapi_device_path): New structure.
46471 (grub_efi_atapi_device_path_t): New type.
46472 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46473 (struct grub_efi_fibre_channel_device_path): New structure.
46474 (grub_efi_fibre_channel_device_path_t): New type.
46475 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46476 (struct grub_efi_1394_device_path): New structure.
46477 (grub_efi_1394_device_path_t): New type.
46478 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46479 (struct grub_efi_usb_device_path): New structure.
46480 (grub_efi_usb_device_path_t): New type.
46481 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46482 (struct grub_efi_usb_class_device_path): New structure.
46483 (grub_efi_usb_class_device_path_t): New type.
46484 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46485 (struct grub_efi_i2o_device_path): New structure.
46486 (grub_efi_i2o_device_path_t): New type.
46487 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46488 (struct grub_efi_mac_address_device_path): New structure.
46489 (grub_efi_mac_address_device_path_t): New type.
46490 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46491 (struct grub_efi_ipv4_device_path): New structure.
46492 (grub_efi_ipv4_device_path_t): New type.
46493 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46494 (struct grub_efi_ipv6_device_path): New structure.
46495 (grub_efi_ipv6_device_path_t): New type.
46496 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46497 (struct grub_efi_infiniband_device_path): New structure.
46498 (grub_efi_infiniband_device_path_t): New type.
46499 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46500 (struct grub_efi_uart_device_path): New structure.
46501 (grub_efi_uart_device_path_t): New type.
46502 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46503 (struct grub_efi_vendor_messaging_device_path): New structure.
46504 (grub_efi_vendor_messaging_device_path_t): New type.
46505 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46506 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46507 (struct grub_efi_hard_drive_device_path): New structure.
46508 (grub_efi_hard_drive_device_path_t): New type.
46509 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46510 (struct grub_efi_cdrom_device_path): New structure.
46511 (grub_efi_cdrom_device_path_t): New type.
46512 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46513 (struct grub_efi_vendor_media_device_path): New structure.
46514 (grub_efi_vendor_media_device_path_t): New type.
46515 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46516 (struct grub_efi_file_path_device_path): New structure.
46517 (grub_efi_file_path_device_path_t): New type.
46518 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46519 (struct grub_efi_protocol_device_path): New structure.
46520 (grub_efi_protocol_device_path_t): New type.
46521 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46522 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46523 (struct grub_efi_bios_device_path): New structure.
46524 (grub_efi_bios_device_path_t): New type.
46525 (struct grub_efi_disk_io): New structure.
46526 (grub_efi_disk_io_t): New type.
46527 (struct grub_efi_block_io_media): New structure.
46528 (grub_efi_block_io_media_t): New type.
46529 (struct grub_efi_block_io): New structure.
46530 (grub_efi_block_io_t): New type.
46531
46532 * include/grub/misc.h (grub_stop): Removed.
46533 (grub_exit): New prototype.
46534 (grub_abort): Likewise.
46535
46536 * include/grub/disk.h (enum grub_disk_dev_id): Added
46537 GRUB_DISK_DEVICE_EFIDISK_ID.
46538
46539 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46540 disk/efi/efidisk.c.
46541 (kernel_syms.lst): Remove the target if an error occurs.
46542
49986a9f 465432006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46544
46545 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46546 as it was simply too buggy.
46547
970d3b8a 465482006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46549
46550 * kern/misc.c (grub_lltoa): New function.
46551 (grub_vsprintf): Added support for the long long suffix,
46552 i.e. "ll".
46553
ff04ec24 465542006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46555
46556 * Makefile.in (LDFLAGS): Add variable.
46557 (LD): Remove variable.
46558 * configure.ac: Add -m32 to LDFLAGS.
46559 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46560 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46561 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46562 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46563 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46564 variables.
46565 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46566 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46567 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46568
37e5e1a4 465692006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46570
46571 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46572 length for unknown glyph.
46573
c352d8dd 465742006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46575
2eab1c0d 46576 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46577
2eab1c0d 46578 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46579 completely. Accept one more argument DIR. The caller has changed.
46580
46581 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46582
46583 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46584 (grub_efi_loaded_image_guid): New variable.
46585 (grub_efi_get_loaded_image): New function.
46586 (grub_arch_modules_addr): Likewise.
46587
46588 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46589 prototype.
46590
46591 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46592 (struct grub_efi_loaded_image): New structure.
46593 (grub_efi_loaded_image_t): New type.
46594
465952006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46596
c352d8dd 46597 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46598 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46599 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46600
6d01d6b4 466012006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46602
46603 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46604
976a4ea0 466052006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46606
46607 * DISTLIST: Added include/grub/efi/console.h,
46608 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46609 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46610
46611 * include/grub/efi/console.h: New file.
46612 * include/grub/efi/time.h: Likewise.
46613 * include/grub/i386/efi/kernel.h: Likewise.
46614 * kern/efi/init.c: Likewise.
46615 * kern/efi/mm.c: Likewise.
46616 * term/efi/console.c: Likewise.
f19dbdb7 46617
976a4ea0 46618 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46619 (grub_stop): Removed.
46620 (grub_get_rtc): Likewise.
46621 (grub_machine_init): Simply call grub_efi_init.
46622 (grub_machine_fini): Call grub_efi_fini.
46623
46624 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46625 (grub_efi_output_string): Removed.
46626 (grub_efi_stall): New function.
46627 (grub_stop): Likewise.
46628 (grub_get_rtc): Likewise.
46629
46630 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46631 (grub_efi_stall): New prototype.
46632 (grub_efi_allocate_pages): Likewise.
46633 (grub_efi_free_pages): Likewise.
46634 (grub_efi_get_memory_map): Likewise.
46635 (grub_efi_mm_init): Likewise.
46636 (grub_efi_mm_fini): Likewise.
46637 (grub_efi_init): Likewise.
46638 (grub_efi_fini): Likewise.
46639
46640 * include/grub/i386/efi/time.h: Do not include
46641 grub/symbol.h. Include grub/efi/time.h.
46642 (GRUB_TICKS_PER_SECOND): Removed.
46643 (grub_get_rtc): Likewise.
46644
46645 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46646 Added padding. The EFI spec is buggy.
46647 (GRUB_EFI_BLACK): New macro.
46648 (GRUB_EFI_BLUE): Likewise.
46649 (GRUB_EFI_GREEN): Likewise.
46650 (GRUB_EFI_CYAN): Likewise.
46651 (GRUB_EFI_RED): Likewise.
46652 (GRUB_EFI_MAGENTA): Likewise.
46653 (GRUB_EFI_BROWN): Likewise.
46654 (GRUB_EFI_LIGHTGRAY): Likewise.
46655 (GRUB_EFI_BRIGHT): Likewise.
46656 (GRUB_EFI_DARKGRAY): Likewise.
46657 (GRUB_EFI_LIGHTBLUE): Likewise.
46658 (GRUB_EFI_LIGHTGREEN): Likewise.
46659 (GRUB_EFI_LIGHTCYAN): Likewise.
46660 (GRUB_EFI_LIGHTRED): Likewise.
46661 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46662 (GRUB_EFI_YELLOW): Likewise.
46663 (GRUB_EFI_WHITE): Likewise.
46664 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46665 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46666 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46667 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46668 (GRUB_EFI_BACKGROUND_RED): Likewise.
46669 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46670 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46671 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46672 (GRUB_EFI_TEXT_ATTR): Likewise.
46673
46674 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46675 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46676 (kernel_mod_HEADERS): Added efi/time.h.
46677
83709125 466782006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46679
46680 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46681 include/grub/efi/api.h, include/grub/efi/console_control.h,
46682 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46683 include/grub/i386/efi/time.h, kern/efi/efi.c,
46684 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46685 and util/i386/efi/grub-mkimage.c.
46686
46687 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46688
46689 * genmk.rb (PModule#rule): Do not export symbols if
46690 #{prefix}_EXPORTS is set to "no".
46691
46692 * conf/i386-efi.mk: New file.
46693 * conf/i386-efi.rmk: Likewise.
46694 * include/grub/efi/api.h: Likewise.
46695 * include/grub/efi/console_control.h: Likewise.
46696 * include/grub/efi/efi.h: Likewise.
46697 * include/grub/efi/pe32.h: Likewise.
46698 * include/grub/i386/efi/time.h: Likewise.
46699 * kern/efi/efi.c: Likewise.
46700 * kern/i386/efi/init.c: Likewise.
46701 * kern/i386/efi/startup.S: Likewise.
46702 * util/i386/efi/grub-mkimage.c: Likewise.
46703
467042006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46705
46706 * include/grub/script.h: Include <grub/parser.h> and
46707 "grub_script.tab.h".
46708 (struct grub_lexer_param): New struct.
46709 (struct grub_parser_param): Likewise.
46710 (grub_script_create_arglist): Pass the state in an argument.
46711 (grub_script_add_arglist): Likewise.
46712 (grub_script_create_cmdline): Likewise.
46713 (grub_script_create_cmdblock): Likewise.
46714 (grub_script_create_cmdif): Likewise.
46715 (grub_script_create_cmdmenu): Likewise.
46716 (grub_script_add_cmd): Likewise.
46717 (grub_script_arg_add): Likewise.
46718 (grub_script_lexer_ref): Likewise.
46719 (grub_script_lexer_deref): Likewise.
46720 (grub_script_lexer_record_start): Likewise.
46721 (grub_script_lexer_record_stop): Likewise.
46722 (grub_script_mem_record): Likewise.
46723 (grub_script_mem_record_stop): Likewise.
46724 (grub_script_malloc): Likewise.
46725 (grub_script_yylex): Likewise.
46726 (grub_script_yyparse): Likewise.
46727 (grub_script_yyerror): Likewise.
46728 (grub_script_yylex): Likewise.
46729 (grub_script_lexer_init): Return the state.
46730
46731 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46732 (grub_script_lexer_done): Likewise.
46733 (grub_script_lexer_getline): Likewise.
46734 (grub_script_lexer_refs): Likewise.
46735 (script): Likewise.
46736 (newscript): Likewise.
46737 (record): Likewise.
46738 (recording): Likewise.
46739 (recordpos): Likewise.
46740 (recordlen): Likewise.
46741 (grub_script_lexer_init): Return the state instead of setting
46742 global variables.
46743 (grub_script_lexer_ref): Use the newly added argument for state
46744 instead of globals.
46745 (grub_script_lexer_deref): Likewise.
46746 (grub_script_lexer_record_start): Likewise.
46747 (grub_script_lexer_record_stop): Likewise.
46748 (recordchar): Likewise.
46749 (nextchar): Likewise.
46750 (grub_script_yylex2): Likewise.
46751 (grub_script_yylex): Likewise.
46752 (grub_script_yyerror): Likewise.
46753
46754 * normal/parser.y (func_mem): Removed variable.
46755 (menu_entry): Likewise.
46756 (err): Likewise.
46757 (%lex-param): New parser option.
46758 (%parse-param): Likewise.
46759 (script): Always return the AST.
46760 (argument): Pass the state around.
46761 (arguments): Likewise.
46762 (grubcmd): Likewise.
46763 (commands): Likewise.
46764 (function): Likewise.
46765 (menuentry): Likewise.
46766 (if_statement): Likewise.
46767 (if): Likewise.
46768
46769 * normal/script.c (grub_script_memused): Removed variable.
46770 (grub_script_parsed): Likewise.
46771 (grub_script_malloc): Added a state argument. Use that instead of
46772 global variables.
46773 (grub_script_mem_record): Likewise.
46774 (grub_script_mem_record_stop): Likewise.
46775 (grub_script_arg_add): Likewise.
46776 (grub_script_add_arglist): Likewise.
46777 (grub_script_create_cmdline): Likewise.
46778 (grub_script_create_cmdif): Likewise.
46779 (grub_script_create_cmdmenu): Likewise.
46780 (grub_script_add_cmd): Likewise.
46781 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46782
e2a8c904 467832006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46784
46785 * normal/command.c (grub_command_init): Remove the title command.
46786
46787 * normal/lexer.c (grub_script_yylex): Renamed from this...
46788 (grub_script_yylex2): ... to this.
46789 (grub_script_yylex): New function. Temporary
46790 introduced to filter some tokens.
46791 (grub_script_yyerror): Print a newline.
46792
46793 * normal/main.c (read_config_file): Output information about the
46794 lines that contain errors. Wait for a key after all lines have
46795 been processed. Don't return an empty menu.
46796
46797 * normal/parser.y (func_mem): Don't initialize.
46798 (menu_entry): Likewise.
46799 (err): New variable.
46800 (script): Don't return anything when an error was encountered.
46801 (ws, returns): Removed rules.
46802 (argument): Disabled concatenated variable support.
46803 (arguments): Remove explicit separators.
46804 (grubcmd): Likewise.
46805 (function): Likewise.
46806 (menuentry): Likewise.
46807 (if): Likewise.
46808 (commands): Likewise. Add error handling.
46809
46810 * normal/script.c (grub_script_create_cmdline): If
46811 `grub_script_parsed' is 0, assume the parser encountered an error.
46812
c9a86192 468132006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 * configure.ac: Add support for EFI. Fix the typo
46816 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46817
70f3b243 468182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46819
46820 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46821 foreign multibyte characters should be shown correctly.
46822
65f201ad 468232006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46824
46825 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46826 calculation.
46827 (read_config_file): Made it to close file before returning.
46828
b4b93674 468292006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46830
46831 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46832 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46833 video/i386/pc/vbefill.c.
46834
46835 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46836 video/i386/pc/vbefill.c.
46837
46838 * include/grub/video.h (grub_video_blit_format): New enum.
46839 (grub_video_mode_info): Added new member blit_format.
46840 (grub_video_get_blit_format): New function prototype.
46841
46842 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46843 function prototype.
46844 (grub_video_vbe_map_rgb): Likewise.
46845 (grub_video_vbe_unmap_color): Likewise.
46846
46847 * include/grub/i386/pc/vbeblit.h: New file.
46848
46849 * include/grub/i386/pc/vbefill.h: New file.
46850
46851 * video/video.c (grub_video_get_blit_format): New function.
46852 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46853 (grub_video_vbe_map_rgb): Likewise.
46854 (grub_video_vbe_unmap_color): Likewise.
46855
46856 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46857 optimized fills.
46858 (grub_video_vbe_blit_render_target): Changed to use more optimized
46859 blits.
46860 (grub_video_vbe_setup): Added detection for optimized settings.
46861 (grub_video_vbe_create_render_target): Likewise.
46862
46863 * video/i386/pc/vbeblit.c: New file.
46864
46865 * video/i386/pc/vbefill.c: New file.
46866
c2379b9c 468672006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46868
46869 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46870 here...
46871
46872 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46873 parsing to support both hex and dec ranges. If filename was missing
46874 show usage information.
46875
bd0d7896 468762006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46877
46878 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46879 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46880
46881 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46882 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46883 (video_mod_SOURCES): Added.
46884 (video_mod_CFLAGS): Likewise.
46885 (video_mod_LDFLAGS): Likewise.
46886 (gfxterm_mod_SOURCES): Likewise.
46887 (gfxterm_mod_CFLAGS): Likewise.
46888 (gfxterm_mod_LDFLAGS): Likewise.
46889 (videotest_mod_SOURCES): Likewise.
46890 (videotest_mod_CFLAGS): Likewise.
46891 (videotest_mod_LDFLAGS): Likewise.
46892 (vesafb_mod_SOURCES): Removed.
46893 (vesafb_mod_CFLAGS): Likewise.
46894 (vesafb_mod_LDFLAGS): Likewise.
46895 (vga_mod_SOURCES): Likewise.
46896 (vga_mod_CFLAGS): Likewise.
46897 (vga_mod_LDFLAGS): Likewise.
46898
46899 * commands/videotest.c: New file.
46900
46901 * font/manager.c (fill_with_default_glyph): Modified to use
46902 grub_font_glyph.
46903 (grub_font_get_glyph): Likewise.
46904 (fontmanager): Renamed from this...
46905 (font_manager): ... to this.
46906
46907 * include/grub/font.h (grub_font_glyph): Added new structure.
46908 (grub_font_get_glyph): Modified to use grub_font_glyph.
46909
46910 * include/grub/misc.h (grub_abs): Added as inline function.
46911
46912 * include/grub/video.h: New file.
46913
46914 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46915 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46916 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46917 (grub_vbe_get_controller_info): Renamed from this...
46918 (grub_vbe_bios_get_controller_info): ... to this.
46919 (grub_vbe_get_mode_info): Renamed from this...
46920 (grub_vbe_bios_get_mode_info): ... to this.
46921 (grub_vbe_set_mode): Renamed from this...
46922 (grub_vbe_bios_set_mode): ... to this.
46923 (grub_vbe_get_mode): Renamed from this...
46924 (grub_vbe_bios_get_mode): ... to this.
46925 (grub_vbe_set_memory_window): Renamed from this...
46926 (grub_vbe_bios_set_memory_window): ... to this.
46927 (grub_vbe_get_memory_window): Renamed from this...
46928 (grub_vbe_bios_get_memory_window): ... to this.
46929 (grub_vbe_set_scanline_length): Renamed from this...
46930 (grub_vbe_set_scanline_length): ... to this.
46931 (grub_vbe_get_scanline_length): Renamed from this...
46932 (grub_vbe_bios_get_scanline_length): ... to this.
46933 (grub_vbe_set_display_start): Renamed from this...
46934 (grub_vbe_bios_set_display_start): ... to this.
46935 (grub_vbe_get_display_start): Renamed from this...
46936 (grub_vbe_bios_get_display_start): ... to this.
46937 (grub_vbe_set_palette_data): Renamed from this...
46938 (grub_vbe_bios_set_palette_data): ... to this.
46939 (grub_vbe_set_pixel_rgb): Removed.
46940 (grub_vbe_set_pixel_index): Likewise.
46941
46942 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46943 from this...
46944 (grub_vbe_bios_get_controller_info): ... to this.
46945 (grub_vbe_get_mode_info): Renamed from this...
46946 (grub_vbe_bios_get_mode_info): ... to this.
46947 (grub_vbe_set_mode): Renamed from this...
46948 (grub_vbe_bios_set_mode): ... to this.
46949 (grub_vbe_get_mode): Renamed from this...
46950 (grub_vbe_bios_get_mode): ... to this.
46951 (grub_vbe_set_memory_window): Renamed from this...
46952 (grub_vbe_bios_set_memory_window): ... to this.
46953 (grub_vbe_get_memory_window): Renamed from this...
46954 (grub_vbe_bios_get_memory_window): ... to this.
46955 (grub_vbe_set_scanline_length): Renamed from this...
46956 (grub_vbe_set_scanline_length): ... to this.
46957 (grub_vbe_get_scanline_length): Renamed from this...
46958 (grub_vbe_bios_get_scanline_length): ... to this.
46959 (grub_vbe_set_display_start): Renamed from this...
46960 (grub_vbe_bios_set_display_start): ... to this.
46961 (grub_vbe_get_display_start): Renamed from this...
46962 (grub_vbe_bios_get_display_start): ... to this.
46963 (grub_vbe_set_palette_data): Renamed from this...
46964 (grub_vbe_bios_set_palette_data): ... to this.
46965 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46966 getting corrupted after calling it. Added more pushes and pops.
46967 (grub_vbe_bios_set_mode): Likewise.
46968 (grub_vbe_bios_get_mode): Likewise.
46969 (grub_vbe_bios_get_memory_window): Likewise.
46970 (grub_vbe_bios_set_scanline_length): Likewise.
46971 (grub_vbe_bios_get_scanline_length): Likewise.
46972 (grub_vbe_bios_get_display_start): Likewise.
46973 (grub_vbe_bios_set_palette_data): Likewise.
46974
46975 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46976 (cl_insert): Likewise.
46977 (cl_delete): Likewise.
46978
46979 * term/gfxterm.c: New file.
46980
46981 * term/i386/pc/vesafb.c: Removed file.
46982
46983 * video/video.c: New file.
46984
46985 * video/i386/pc/vbe.c (real2pm): Added new function.
46986 (grub_video_vbe_draw_pixel): Likewise.
46987 (grub_video_vbe_get_video_ptr): Likewise.
46988 (grub_video_vbe_get_pixel): Likewise
46989 (grub_video_vbe_init): Likewise.
46990 (grub_video_vbe_fini): Likewise.
46991 (grub_video_vbe_setup): Likewise.
46992 (grub_video_vbe_get_info): Likewise.
46993 (grub_video_vbe_set_palette): Likewise.
46994 (grub_video_vbe_get_palette): Likewise.
46995 (grub_video_vbe_set_viewport): Likewise.
46996 (grub_video_vbe_get_viewport): Likewise.
46997 (grub_video_vbe_map_color): Likewise.
46998 (grub_video_vbe_map_rgb): Likewise.
46999 (grub_video_vbe_map_rgba): Likewise.
47000 (grub_video_vbe_unmap_color): Likewise.
47001 (grub_video_vbe_fill_rect): Likewise.
47002 (grub_video_vbe_blit_glyph): Likewise.
47003 (grub_video_vbe_blit_bitmap): Likewise.
47004 (grub_video_vbe_blit_render_target): Likewise.
47005 (grub_video_vbe_scroll): Likewise.
47006 (grub_video_vbe_swap_buffers): Likewise.
47007 (grub_video_vbe_create_render_target): Likewise.
47008 (grub_video_vbe_delete_render_target): Likewise.
47009 (grub_video_vbe_set_active_render_target): Likewise.
47010 (grub_vbe_set_pixel_rgb): Remove function.
47011 (grub_vbe_set_pixel_index): Likewise.
47012 (index_color_mode): Remove static variable.
47013 (active_mode): Likewise.
47014 (framebuffer): Likewise.
47015 (bytes_per_scan_line): Likewise.
47016 (grub_video_vbe_adapter): Added new static variable.
47017 (framebuffer): Likewise.
47018 (render_target): Likewise.
47019 (initial_mode): Likewise.
47020 (mode_in_use): Likewise.
47021 (mode_list): Likewise.
47022
5f97350b 470232006-03-10 Marco Gerards <marco@gnu.org>
47024
47025 * configure.ac (AC_INIT): Bumped to 1.93.
47026
47027 * DISTLIST: Added `include/grub/hfs.h'.
47028
a3c5c6f8 470292006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47030
47031 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47032 18H, which might help the BIOS falling back to next boot media.
47033
6de53d26 470342006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47035
47036 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47037 Poe Chen <poe.poechen@gmail.com>.
47038
77c4a393 470392006-01-17 Marco Gerards <marco@gnu.org>
47040
47041 * include/grub/normal.h: Include <grub/script.h>.
47042 (grub_command_list): Removed struct.
47043 (grub_command_list_t): Removed type.
47044 (grub_menu_entry): Remove members `num' and `command_list'. Add
47045 members `commands' and `sourcecode'.
47046 * include/grub/script.h: Add inclusion guards.
47047 (grub_script_cmd_menuentry): New struct.
47048 (grub_script_execute_menuentry): New prototype.
47049 (grub_script_lexer_record_start): Likewise.
47050 (grub_script_lexer_record_stop): Likewise.
47051 * normal/execute.c (grub_script_execute_menuentry): New function.
47052 * normal/lexer.c (record, recording, recordpos, recordlen): New
47053 variables.
47054 (grub_script_lexer_record_start): New function.
47055 (grub_script_lexer_record_stop): Likewise.
47056 (recordchar): Likewise.
47057 (nextchar): Likewise.
47058 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47059 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47060 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47061 (current_menu): New variable.
47062 (free_menu): Mainly rewritten.
47063 (grub_normal_menu_addentry): New function.
47064 (read_config_file): Rewritten.
47065 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47066 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47067 the menu entry.
47068 (run): Mainly rewritten.
47069 * normal/parser.y (menu_entry): New variable.
47070 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47071 (menuentry): New rule.
47072 (command): Add `menuentry'.
47073 (if_statement): Allow additional returns before `fi'.
47074 * normal/script.c (grub_script_create_cmdmenu): New function.
47075
144f1f98 470762006-01-03 Marco Gerards <marco@gnu.org>
47077
47078 * INSTALL: GNU Bison is required.
47079 * configure.ac: Rewritten the test to detect Bison.
47080 * Makefile.in (YACC): New variable. Reported by Xun Sun
47081 <xun.sun.cn@gmail.com>.
47082
af4b2d89 470832006-01-03 Marco Gerards <marco@gnu.org>
47084
47085 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47086 the HFS+ filesystem to filesystem blocks.
47087 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47088 GCC warning is silenced.
47089
15643b71 470902006-01-03 Marco Gerards <marco@gnu.org>
47091
47092 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47093 read from disk from big endian to host byte order.
47094
00905879 470952006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47096
47097 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47098 documentation.
47099 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47100 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47101 embedded HFS+ filesystem.
47102 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47103 (grub_hfs_sblock): Move from here...
47104 * include/grub/hfs.h: To here... New file.
47105 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47106 documentation.
47107 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47108 New macros.
47109 (grub_hfsplus_volheader): Change type of member `magic' to
47110 `grub_uint16_t'.
47111 (grub_hfsplus_data): Add new member `embedded_offset'.
47112 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47113 returned block.
47114 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47115 Calculate the offset.
47116
8899bc3e 471172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47118
47119 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47120 Removed.
47121 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47122
ae8c0277 471232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47124
47125 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47126 ENV->NAME is NULL after allocating ENV->VALUE.
47127
07084456 471282005-12-25 Marco Gerards <marco@gnu.org>
47129
47130 * kern/env.c (grub_env_set): Rewritten the error handling code.
47131
4750f5f1 471322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47133
47134 * geninit.sh: Made more robust, and more portable.
47135
50214199 471362005-12-25 Marco Gerards <marco@gnu.org>
47137
47138 Add support for Apple HFS+ filesystems.
f19dbdb7 47139
50214199 47140 * fs/hfsplus.c: New file.
47141
47142 * DISTLIST: Added `fs/hfsplus.c'.
47143
47144 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47145 (hfsplus_mod_SOURCES): New variable.
47146 (hfsplus_mod_CFLAGS): Likewise.
47147 (hfsplus_mod_LDFLAGS): Likewise.
47148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47149 (grub_setup_SOURCES): Likewise.
47150 (grub_mkdevicemap_SOURCES): Likewise.
47151 (grub_emu_SOURCES): Likewise.
47152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47153
47154 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47155
47156 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47157
befaed6c 471582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47159
47160 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47161 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47162 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47163 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47164 normal/lexer.c, normal/parser.y, normal/script.c, and
47165 partmap/gpt.c.
47166 Removed kern/sparc64/cache.c.
47167
47168 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47169 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47170 grub_emu_init.c.
47171
47172 * configure.ac (AC_INIT): Bumped to 1.92.
47173
6a124103 471742005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47175
47176 * kern/err.c (grub_error_push): Added new function to support error
47177 stacks.
47178 (grub_error_pop): Likewise.
47179 (grub_error_stack_items): New local variable to support error stacks.
47180 (grub_error_stack_pos): Likewise.
47181 (grub_error_stack_assert): Likewise.
47182 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47183 stack depth.
47184 (grub_print_error): Added support to print errors from error stack.
47185
47186 * include/grub/err.h (grub_error_push): Added function prototype.
47187 (grub_error_pop): Likewise.
47188
be973c1b 471892005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47190
47191 * configure.ac: Accept `powerpc64' as host_cpu.
47192 (amd64): Rename to `biarch32'.
47193
47194 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47195 non-cacheline-aligned addresses.
47196
47197 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47198 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47199 if `size' is non-zero.
47200
b04216ab 472012005-12-03 Marco Gerards <mgerards@xs4all.nl>
47202
47203 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47204 and `cd' to make sure the filename is not prefixed with a
47205 directory name.
47206 (pkgdata_MODULES): Add `gpt.mod'.
47207 (gpt_mod_SOURCES): New variable.
47208 (gpt_mod_CFLAGS): Likewise.
47209 (gpt_mod_LDFLAGS): Likewise.
47210
47211 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47212
47213 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47214 New macro.
47215
47216 * partmap/gpt.c: New file.
47217
47218 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47219 GPT partition map is detected.
47220
41730ed9 472212005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47222
47223 * commands/i386/pc/play.c: New file.
47224 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47225 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47226 macros.
f19dbdb7 47227
95dc3643 472282005-11-27 Marco Gerards <mgerards@xs4all.nl>
47229
47230 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47231 ((unused))' to silence gcc warning.
47232
1569ec51 472332005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47234
47235 * configure.ac: Correct `AC_PROG_YACC' test.
47236
9abde152 472372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47238
47239 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47240 check before installing files.
47241
44b83271 472422005-11-22 Mike Small <smallm@panix.com>
47243
47244 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47245 number regex so multidigit numbers are recognized correctly.
47246
472472005-11-22 Mike Small <smallm@panix.com>
47248
47249 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47250 debugging message before attempting to claim memory.
47251 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47252 multiple addresses in case of failure.
47253
9c12956b 472542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47255
47256 * term/tparm.c (get_space): Remove empty `if' statement.
47257
47258 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47259
47260 * kern/parser.c (check_varstate): Rename `state' to 's'.
47261
aeaf81d9 472622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47263
47264 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47265 variable definitions to the beginning of each function. Sort stack
47266 variables by size.
47267 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47268 `buf' argument to `char *'.
47269
79bbb63f 472702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47271
47272 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47273 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47274 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47275 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47276 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47277 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47278 configfile.mod, search.mod, gzio.mod and test.mod.
47279 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47280 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47281 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47282 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47283 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47284 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47285 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47286 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47287 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47288 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47289 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47290 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47291 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47292 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47293 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47294 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47295 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47296 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47297 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47298 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47299 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47300 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47301 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47302
47303 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47304 `grep --include'.
47305 (pkgdata_MODULES): Add test.mod.
47306
233b1628 473072005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47308
47309 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47310 appending to variables with "+=".
47311 (PModule): Use full pathname to generate *.lst filenames.
47312
47313 * Makefile.in: Fixed list rules moved from genmk.rb.
47314 (.DELETE_ON_ERROR): New special target.
47315 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47316
47317 * conf/i386-pc.rmk: Include conf/common.mk.
47318 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47319 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47320 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47321 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47322 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47323 configfile.mod, search.mod, gzio.mod and test.mod.
47324 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47325 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47326 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47327 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47328 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47329 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47330 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47331 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47332 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47333 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47334 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47335 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47336 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47337 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47338 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47339 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47340 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47341 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47342 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47343 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47344 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47345 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47346 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47347 here...
47348 * conf/common.rmk: ... to here. New file.
47349
47350 * conf/common.mk: New file.
47351
16f820c8 473522005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47353
47354 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47355 (grub_script.tab.c): ... here.
47356
47357 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47358 (grub_script.tab.c): ... here.
47359
47360 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47361 (grub_script.tab.c): ... here.
47362
47363 * normal/command.c (grub_command_find): Fixed a memory leak of
47364 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47365
63ba1554 473662005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47367
47368 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47369 "@" which marks the start of a comment on ARM.
47370 (VARIABLE): Likewise.
47371
7f67dc13 473722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47373
79bbb63f 47374 Add support for Linux/ADFS partition tables.
7f67dc13 47375
47376 * partmap/acorn.c: New file.
47377
47378 * include/grub/acorn_filecore.h: Likewise.
47379
47380 * DISTLIST: Added `partmap/acorn.c' and
47381 `include/grub/acorn_filecore.h'.
f19dbdb7 47382
7f67dc13 47383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47384 `partmap/acorn.c'.
47385 (pkgdata_MODULES): Add `acorn.mod'.
47386 (acorn_mod_SOURCES): New variable.
47387 (acorn_mod_CFLAGS): Likewise.
47388
47389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47390 `partmap/acorn.c'.
47391 (pkgdata_MODULES): Add `acorn.mod'.
47392 (acorn_mod_SOURCES): New variable.
47393 (acorn_mod_CFLAGS): Likewise.
47394
47395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47396 (pkgdata_MODULES): Add `acorn.mod'.
47397 (acorn_mod_SOURCES): New variable.
47398 (acorn_mod_CFLAGS): Likewise.
47399 (acorn_mod_LDFLAGS): Likewise.
47400
47401 * include/types.h (grub_disk_addr_t): New typedef.
47402
6d099807 474032005-11-13 Marco Gerards <mgerards@xs4all.nl>
47404
47405 * geninit.sh: New file.
47406
47407 * geninitheader.sh: Likewise.
47408
47409 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47410 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47411 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47412 * commands/configfile.c (grub_configfile_init)
47413 (grub_configfile_fini): Likewise.
47414 * commands/default.c (grub_default_init, grub_default_fini):
47415 Likewise.
47416 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47417 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47418 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47419 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47420 Likewise.
47421 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47422 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47423 Likewise.
47424 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47425 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47426 Likewise.
47427 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47428 Likewise.
fe6b695a 47429 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47430 Likewise.
47431 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47432 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47433 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47434 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47435 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47436 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47437 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47438 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47439 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47440 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47441 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47442 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47443 * partmap/amiga.c (grub_amiga_partition_map_init)
47444 (grub_amiga_partition_map_fini): Likewise.
47445 * partmap/apple.c (grub_apple_partition_map_init)
47446 (grub_apple_partition_map_fini): Likewise.
47447 * partmap/pc.c (grub_pc_partition_map_init)
47448 (grub_pc_partition_map_fini): Likewise.
47449 * partmap/sun.c (grub_sun_partition_map_init,
47450 grub_sun_partition_map_fini): Likewise.
47451 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47452 Likewise.
47453
47454 * util/grub-emu.c: Include <grub_modules_init.h>.
47455 (main): Don't initialize and de-initialize any modules directly,
47456 use `grub_init_all' and `grub_fini_all' instead.
47457
47458 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47459 `grub_vesafb_mod_init'.
47460 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47461 all users.
47462 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47463 `grub_vga_mod_init'. Updated all users.
47464 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47465
6d099807 47466 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47467 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47468 rules.
47469
47470 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47471 Generate a function to initialize the module in utilities.
47472 Updated all callers.
47473 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47474 initialize the module in utilities. Updated all callers.
47475
9046bcf0 474762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47477
47478 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47479 escape sequence and a literal ^L to clear the screen.
47480
47481 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47482 when returning from Open Firmware.
47483
d13ea639 474842005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47485
47486 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47487 (grub_ofconsole_height): Likewise.
47488 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47489 manually insert a '\n'.
47490 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47491 `grub_ofconsole_height'. Return early if these are already set.
47492
a8fcf206 474932005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47494
47495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47496 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47497 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47498 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47499 and `normal/script.c'.
47500 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47501 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47502 (test_mod_SOURCES): New variable.
47503 (test_mod_CFLAGS): Likewise.
47504 (test_mod_LDFLAGS): Likewise.
47505 (pkgdata_MODULES): Add `test.mod'.
47506 (grub_script.tab.c): New rule.
47507 (grub_script.tab.h): Likewise.
47508
b6b32745 475092005-11-07 Marco Gerards <mgerards@xs4all.nl>
47510
47511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47512 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47513 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47514 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47515 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47516 (test_mod_SOURCES): New variable.
47517 (test_mod_CFLAGS): Likewise.
47518 (pkgdata_MODULES): Add `test.mod'.
47519 (grub_script.tab.c): New rule.
47520 (grub_script.tab.h): Likewise.
47521
daac212a 475222005-11-06 Marco Gerards <mgerards@xs4all.nl>
47523
47524 Add initial scripting support.
47525
47526 * commands/test.c: New file.
47527 * include/grub/script.h: Likewise.
47528 * normal/execute.c: Likewise.
47529 * normal/function.c: Likewise.
47530 * normal/lexer.c: Likewise.
47531 * normal/parser.y: Likewise.
47532 * normal/script.c: Likewise.
47533
47534 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47535
daac212a 47536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47537 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47538 `normal/function.c' and `normal/script.c'.
47539 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47540 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47541 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47542 variables.
daac212a 47543 (pkgdata_MODULES): Add `test.mod'.
47544 (grub_script.tab.c): New rule.
47545 (grub_script.tab.h): Likewise.
47546
47547 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47548
47549 * include/grub/normal.h (grub_test_init): New prototype.
47550 (grub_test_fini): Likewise.
f19dbdb7 47551
daac212a 47552 * normal/command.c: Include <grub/script.h>.
47553 (grub_command_execute): Rewritten.
f19dbdb7 47554
daac212a 47555 * util/grub-emu.c (main): Call `grub_test_init' and
47556 `grub_test_fini'.
47557
77500b2b 475582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47559
47560 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47561 to 0.
47562 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47563 there are no pending characters.
47564
e45deb9e 475652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47566
47567 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47568 `grub_strndup' to drop device arguments. Replace unnecessary
47569 `grub_strndup' with `grub_strdup'.
47570
4ce32619 475712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47572
47573 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47574 `debug' environment variable has been set.
47575
475762005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47577
4ce32619 47578 * Makefile.in (install-local): Use $(DATA).
47579 (uninstall): Likewise.
47580 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47581 (sbin_UTILITIES): ... to here.
47582 (sbin_SCRIPTS): New variable.
47583 (grub_install_SOURCES): New variable.
47584 * util/powerpc/ieee1275/grub-install.in: New file.
47585 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47586 variable.
47587 (add_segments): Call `grub_util_get_path'.
47588
25fe6f03 475892005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47590
47591 From Timothy Baldwin:
47592 * commands/ls.c (grub_ls_list_files): Close FILE with
47593 grub_file_close.
47594 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47595
04ccf3ec 475962005-10-24 Marco Gerards <mgerards@xs4all.nl>
47597
47598 * include/grub/parser.h: New file.
47599
47600 * kern/parser.c: Likewise.
47601
47602 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47603 (grub_setup_SOURCES): Likewise.
47604 (grub_probefs_SOURCES): Likewise.
47605 (grub_emu_SOURCES): Likewise.
47606 (kernel_img_HEADERS): Add `parser.h'.
47607
47608 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47609 (grub_emu_SOURCES): Add `kern/parser.c'.
47610 (grubof_SOURCES): Likewise.
47611
47612 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47613 (grubof_SOURCES): Add `kern/parser.c'.
47614
47615 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47616
47617 * kern/misc.c (grub_split_cmdline): Removed function.
47618
47619 * kern/rescue.c: Include <grub/parser.h>.
47620 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47621 of `grub_split_cmdline'.
47622
47623 * normal/command.c: Include <grub/parser.h>.
47624 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47625 of `grub_split_cmdline'.
47626
47627 * normal/completion.c: Include <grub/parser.h>.
47628 (cmdline_state): New variable.
47629 (iterate_dir): End the filename with a quote depending on the
47630 command line state.
47631 (get_state): new function.
47632 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47633 split the arguments and determine the current argument. When the
47634 argument string is not quoted, escape all spaces.
47635
6d8f4b0e 476362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47637
47638 * normal/sparc64/setjmp.S: New file.
47639
15cf03ed 476402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47641
47642 * include/grub/sparc64/libgcc.h: New file.
47643 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47644 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47645 normal/sparc64/setjmp.c.
47646
03e8661a 476472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47648
47649 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47650 * kern/sparc64/cache.S: New file.
47651 * kern/sparc64/cache.c: Removed.
47652 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47653 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47654 -mtune=ultrasparc.
47655 (COMMON_LDFLAGS): Add -melf64_sparc.
47656 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47657 (grubof_SOURCES): Use cache.S instead of cache.c.
47658 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47659 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47660 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47661 commented though.
47662 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47663 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47664 (linux_mod_CFLAGS): Commented out.
47665 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47666 out because module isn't built.
47667 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47668 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47669 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47670 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47671 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47672 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47673 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47674 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47675 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47676 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47677 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47678 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47679 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47680 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47681
34eeec8a 476822005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47683
47684 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47685 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47686 longer, because HFS should not be used on PC.
47687
708367a3 476882005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47689
47690 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47691 consistently within the loop.
47692
6fa1251a 476932005-10-15 Marco Gerards <mgerards@xs4all.nl>
47694
47695 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47696 directory can not be read.
47697
4801580b 476982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47699
47700 * configure.ac (AC_INIT): Increase the version number to 1.91.
47701
47702 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47703 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47704 term/i386/pc/serial.c.
47705
219ad426 477062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47707
47708 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47709 file size must be permitted.
47710
47711 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47712 between %ah and %al.
47713
688e5699 477142005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47715
47716 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47717 grub_uint64_t.
47718 Call the hook with a NUL-terminated filename.
47719 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47720 grub_cpu_to_be32.
47721
47722 * kern/term.c (cursor_state): New variable.
47723 (grub_term_set_current): Reset the cursor state on a new
47724 terminal.
47725 (grub_setcursor): Rewritten to use CURSOR_STATE.
47726 (grub_getcursor): New function.
47727
47728 * include/grub/term.h (grub_getcursor): New prototype.
47729
47730 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47731 integers on ARM. Reported by Timothy Baldwin
47732 <T.E.Baldwin99@members.leeds.ac.uk>.
47733
bb34586c 477342005-10-11 Marco Gerards <mgerards@xs4all.nl>
47735
47736 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47737 allocated.
47738 (grub_sfs_dir): Likewise.
47739
9a909877 477402005-10-09 Marco Gerards <mgerards@xs4all.nl>
47741
47742 Add support for the SFS filesystem.
47743
47744 * fs/sfs.c: New file.
47745
47746 * DISTLIST: Added `fs/sfs.c'.
47747
47748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47749 (grub_probefs_SOURCES): Likewise.
47750 (grub_emu_SOURCES): Likewise.
47751 (pkgdata_MODULES): Add `sfs.mod'.
47752 (sfs_mod_SOURCES): New variable.
47753 (sfs_mod_CFLAGS): Likewise.
47754 (sfs_mod_LDFLAGS): Likewise.
47755
47756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47757 (pkgdata_MODULES): Add `sfs.mod'.
47758 (sfs_mod_SOURCES): New variable.
47759 (sfs_mod_CFLAGS): Likewise.
47760
47761 * util/grub-emu.c (main): Call `grub_sfs_init' and
47762 `grub_sfs_fini'.
47763
47764 * include/grub/fs.h (grub_sfs_init): New prototype.
47765 (grub_sfs_fini): Likewise.
47766
57bdbde3 477672005-10-07 Marco Gerards <mgerards@xs4all.nl>
47768
47769 Add support for the AFFS filesystem.
47770
47771 * fs/affs.c: New file.
47772
47773 * DISTLIST: Added `fs/affs.c'.
47774
47775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47776 (grub_probefs_SOURCES): Likewise.
47777 (grub_emu_SOURCES): Likewise.
47778 (pkgdata_MODULES): Add `affs.mod'.
47779 (affs_mod_SOURCES): New variable.
47780 (affs_mod_CFLAGS): Likewise.
47781 (affs_mod_LDFLAGS): Likewise.
47782
47783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47784 (pkgdata_MODULES): Add `affs.mod'.
47785 (affs_mod_SOURCES): New variable.
47786 (affs_mod_CFLAGS): Likewise.
47787
47788 * util/grub-emu.c (main): Call `grub_affs_init' and
47789 `grub_affs_fini'.
47790
47791 * include/grub/fs.h (grub_affs_init): New prototype.
47792 (grub_affs_fini): Likewise.
47793
047b67e0 477942005-10-01 Marco Gerards <mgerards@xs4all.nl>
47795
47796 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47797
59b8208a 477982005-10-01 Marco Gerards <mgerards@xs4all.nl>
47799
47800 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47801 `-m32' to CFLAGS.
47802
47803 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47804 linking.
f19dbdb7 47805
59b8208a 47806 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47807 (COMMON_LDFLAGS): New variable.
47808 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47809 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47810 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47811 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47812 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47813 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47814 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47815 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47816 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47817 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47818 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47819 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47820 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47821 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47822 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47823 variables.
47824 (normal_mod_ASFLAGS): Add `-m32'.
47825
47826 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47827 (grub_host_size_t, grub_host_ssize_t): New types.
47828 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47829 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47830 `GRUB_HOST_SIZEOF_VOID_P'.
47831
47832 * include/grub/kernel.h (struct grub_module_header): Type of
47833 member offset changed to `grub_host_off_t'. Type of member size
47834 changed to `grub_host_size_t'.
47835 (struct grub_module_info): Type of member offset changed to
47836 `grub_host_off_t'. Type of member size changed to
47837 `grub_host_size_t'.
47838
b4093103 478392005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47840
47841 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47842
b4093103 47843 * kern/i386/pc/startup.S (multiboot_header): New label.
47844 (multiboot_entry): Likewise.
47845 (multiboot_trampoline): Likewise.
47846
47847 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47848 Increased to 0x4A0.
47849
47850 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47851 put parentheses after a question mark.
47852 [!GRUB_UTIL] (my_mod): New variable.
47853
47854 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47855
b2499b29 478562005-09-28 Marco Gerards <mgerards@xs4all.nl>
47857
47858 Adds support for the XFS filesystem. Btrees are not supported
47859 yet.
47860
47861 * fs/xfs.c: New file.
47862
47863 * DISTLIST: Added `fs/xfs.c'.
47864
47865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47866 (grub_probefs_SOURCES): Likewise.
47867 (grub_emu_SOURCES): Likewise.
47868 (pkgdata_MODULES): Add `xfs.mod'.
47869 (xfs_mod_SOURCES): New variable.
47870 (xfs_mod_CFLAGS): Likewise.
47871
47872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47873 (pkgdata_MODULES): Add `xfs.mod'.
47874 (xfs_mod_SOURCES): New variable.
47875 (xfs_mod_CFLAGS): Likewise.
47876
47877 * util/grub-emu.c (main): Call `grub_xfs_init' and
47878 `grub_xfs_fini'.
47879
47880 * include/grub/fs.h (grub_xfs_init): New prototype.
47881 (grub_xfs_fini): Likewise.
47882
f19dbdb7 47883
83d37a62 478842005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47885
47886 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47887 color modes, allow greater than 16 colors to be configured as
47888 a default palette.
47889
47d2d65e 478902005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47891
47892 * normal/completion.c (complete_arguments): Add the qualifier
47893 const into OPTIONS.
47894
47895 From Omniflux <omniflux+lists@omniflux.com>:
47896 * include/grub/terminfo.h: New file.
47897 * include/grub/tparm.h: Likewise.
47898 * include/grub/i386/pc/serial.h: Likewise.
47899 * term/terminfo.c: Likewise.
47900 * term/tparm.c: Likewise.
47901 * term/i386/pc/serial.c: Likewise.
47902 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47903 serial.mod.
47904 (terminfo_mod_SOURCES): New variable.
47905 (terminfo_mod_CFLAGS): Likewise.
47906 (serial_mod_SOURCES): Likewise.
47907 (serial_mod_CFLAGS): Likewise.
47908
48b671ff 479092005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47910
47911 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47912 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47913 and kern/powerpc/ieee1275/cmain.c, respectively.
47914
47915 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47916 * kern/powerpc/ieee1275/crt0.S: ... here.
47917
47918 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47919 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47920
48b671ff 47921 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47922 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47923 instead of boot/powerpc/ieee1275/crt0.S and
47924 boot/powerpc/ieee1275/cmain.c, respectively.
47925
47926 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47927 sectors. It was not used anyway.
47928
09fc77a7 479292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47930
47931 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47932 `unused parameter' warning.
47933
003789c7 479342005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47935
47936 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47937 function.
47938 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47939 getcharwidth.
47940
67f44c86 479412005-08-28 Marco Gerards <metgerards@student.han.nl>
47942
47943 * include/grub/normal.h (enum grub_completion_type): Added
47944 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47945
47946 * normal/cmdline.c (print_completion): Handle
47947 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47948 * normal/menu_entry.c (store_completion): Likewise.
47949
47950 * normal/completion.c (complete_arguments): New function.
47951 (grub_normal_do_completion): Call `complete_arguments' when the
47952 current words start with a dash.
47953
0b5abe02 479542005-08-27 Marco Gerards <metgerards@student.han.nl>
47955
47956 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47957 `gzio.mod' instead of `io.mod').
47958
d9864ee1 479592005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47960
47961 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47962 (DISTDIRS): Added io and video.
47963 Rewrite the search routine to make an output consistently.
47964
47965 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47966 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47967 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47968 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47969 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47970 util/powerpc/ieee1275/misc.c.
f19dbdb7 47971
d9864ee1 47972 * include/grub/gzio.h: New file.
47973 * io/gzio.c: Likewise.
f19dbdb7 47974
d9864ee1 47975 * kern/file.c (grub_file_close): Call grub_device_close only if
47976 FILE->DEVICE is not NULL.
47977
47978 * include/grub/mm.h [!NULL] (NULL): New macro.
47979
47980 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47981
47982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47983 (pkgdata_MODULES): Added gzio.mod.
47984 (gzio_mod_SOURCES): New variable.
47985 (gzio_mod_CFLAGS): Likewise.
47986
47987 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47988 (pkgdata_MODULES): Added gzio.mod.
47989 (gzio_mod_SOURCES): New variable.
47990 (gzio_mod_CFLAGS): Likewise.
47991
47992 * commands/cat.c: Include grub/gzio.h.
47993 (grub_cmd_cat): Use grub_gzfile_open instead of
47994 grub_file_open.
f19dbdb7 47995
d9864ee1 47996 * commands/cmp.c: Include grub/gzio.h.
47997 (grub_cmd_cmp): Use grub_gzfile_open instead of
47998 grub_file_open.
47999
48000 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48001 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48002 grub_file_open.
48003 (grub_rescue_cmd_module): Likewise.
48004
fa46f4b5 480052005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48006
48007 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48008 kern/sparc64/ieee1275/init.c because it contains _start.
48009 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48010
e9211b5d 480112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48012
48013 * configure.ac: Add support for sparc64 host with ieee1275
48014 firmware.
48015 * configure: Generated from configure.ac.
48016 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48017 instead of int.
48018 (grub_ofdisk_read): Likewise.
48019 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48020 pointers as (void *) to remove a warning.
48021 (grub_ofdisk_close): Likewise.
48022 (grub_ofdisk_read): Likewise.
48023 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48024 returns, so make it return void to remove a warning.
48025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48026 Corresponding prototype change.
48027 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48028 values, and cast the pointers as (void *) to remove a warning.
48029 (grub_mm_dump): Likewise.
48030 * conf/sparc64-ieee1275.mk: New file.
48031 * conf/sparc64-ieee1275.rmk: Likewise.
48032 * include/grub/sparc64/setjmp.h: Likewise.
48033 * include/grub/sparc64/types.h: Likewise.
48034 * include/grub/sparc64/ieee1275/console.h: Likewise.
48035 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48036 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48037 * include/grub/sparc64/ieee1275/time.h: Likewise.
48038 * kern/sparc64/cache.c: Likewise.
48039 * kern/sparc64/dl.c: Likewise.
48040 * kern/sparc64/ieee1275/init.c: Likewise.
48041 * kern/sparc64/ieee1275/openfw.c: Likewise.
48042
385c6a92 480432005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48044
48045 * util/console.c (grub_ncurses_putchar): If C is greater than
48046 0x7f, set C to a question mark.
48047 (grub_ncurses_getcharwidth): New function.
48048 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48049 getcharwidth.
48050
48051 * normal/menu.c (print_entry): Made aware of Unicode. First,
48052 convert TITLE to UCS-4, and predict the cursor position by
48053 grub_getcharwidth.
48054
48055 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48056 const to SRC.
48057 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48058
16ccb8b1 480592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48060
48061 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48062 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48063 grub_strcat.
48064
48065 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48066 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48067 grub_strcpy and grub_strlen. Take it into account that a space
48068 character is inserted as a delimiter.
48069
6a85ce79 480702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48071
48072 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48073 invalid magic in the error.
6a85ce79 48074
48075 * commands/search.c: New file.
f19dbdb7 48076
6a85ce79 48077 * util/grub-emu.c (main): Call grub_search_init and
48078 grub_search_fini.
48079
48080 * kern/rescue.c (grub_rescue_print_disks): Removed.
48081 (grub_rescue_print_devices): New function.
48082 (grub_rescue_cmd_ls): Use grub_device_iterate with
48083 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48084 grub_rescue_print_disks.
48085
48086 * kern/partition.c (grub_partition_iterate): Return the result of
48087 PARTMAP->ITERATE instead of GRUB_ERRNO.
48088
48089 * kern/device.c: Include grub/partition.h.
48090 (grub_device_iterate): New function.
48091
48092 * include/grub/partition.h (grub_partition_iterate): Return int
48093 instead of grub_err_t.
48094
48095 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48096 prototype.
48097 [GRUB_UTIL] (grub_search_fini): Likewise.
48098
48099 * include/grub/device.h (grub_device_iterate): New prototype.
48100
48101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48102 commands/search.c.
48103 (pkgdata_MODULES): Added search.mod.
48104 (search_mod_SOURCES): New variable.
48105 (search_mod_CFLAGS): Likewise.
48106
48107 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48108 (pkgdata_MODULES): Added search.mod.
48109 (search_mod_SOURCES): New variable.
48110 (search_mod_CFLAGS): Likewise.
48111
48112 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48113 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48114 All callers changed.
48115
48116 * DISTLIST: Added commands/search.c.
48117
ef095434 481182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48119
48120 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48121 conversion.
48122 (grub_getcharwidth): New function.
48123
48124 * kern/misc.c (grub_utf8_to_ucs4): New function.
48125
48126 * include/grub/term.h (struct grub_term): Added a new member
48127 "getcharwidth".
48128 (grub_getcharwidth): New prototype.
48129
48130 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48131
48132 * term/i386/pc/console.c (map_char): New function. Segregated from
48133 grub_console_putchar.
48134 (grub_console_putchar): Use map_char.
48135 (grub_console_getcharwidth): New function.
48136 (grub_console_term): Specified grub_console_getcharwidth as
48137 getcharwidth.
48138
48139 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48140 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48141
48142 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48143 GRUB_ERRNO.
48144 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48145 on grub_strtoul completely.
48146 (write_char): Declare local variables in the beginning of the
48147 function.
48148 (grub_vesafb_getcharwidth): New function.
48149 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48150 getcharwidth.
48151
1f0a95e4 481522005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48153
48154 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48155 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48156 commands/i386/pc/vbetest.c.
48157
48158 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48159 call grub_vbe_get_controller_info again, because the returned
48160 information is volatile.
48161 (grub_vbe_set_video_mode): Mostly rewritten.
48162 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48163 grub_vbe_status_t correctly.
48164 (grub_vbe_get_video_mode_info): Likewise.
48165 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48166 several if statements.
48167
48168 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48169 * commands/i386/pc/vbeinfo.c: ... this.
48170
48171 * commands/i386/pc/vbe_test.c: Renamed to ...
48172 * commands/i386/pc/vbetest.c: ... this.
48173
48174 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48175 ...
48176 (grub_cmd_vbeinfo): ... this. Save video modes before
48177 iterating. Skip a video mode, if it is not available, not enough
48178 information is given or it is monochrome. Show the memory
48179 model. Leave the interpretation of MODEVAR to grub_strtoul
48180 completely.
48181 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48182 (GRUB_MOD_FINI): Likewise.
48183
48184 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48185 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48186 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48187 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48188 grub_strtoul completely.
48189 (real2pm): Removed.
48190 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48191 (GRUB_MOD_FINI): Likewise.
48192
48193 * normal/misc.c: Include grub/mm.h.
48194
48195 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48196 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48197 (vbe_list_modes_mod_SOURCES): Removed.
48198 (vbe_list_modes_mod_CFLAGS): Likewise.
48199 (vbe_test_mod_SOURCES): Likewise.
48200 (vbe_test_mod_CFLAGS): Likewise.
48201 (vbeinfo_mod_SOURCES): New variable.
48202 (vbeinfo_mod_CFLAGS): Likewise.
48203 (vbetest_mod_SOURCES): Likewise.
48204 (vbetest_mod_CFLAGS): Likewise.
48205
992ffbbe 482062005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48207
48208 * normal/misc.c: New file.
48209
48210 * DISTLIST: Added normal/misc.c.
f19dbdb7 48211
992ffbbe 48212 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48213 DISK to HOOK. Call HOOK with DISK.
48214 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48215 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48216 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48217
48218 * normal/menu_entry.c (struct screen): Added a new member
48219 "completion_shown".
48220 (completion_buffer): New global variable.
48221 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48222 (store_completion): New function.
48223 (complete): Likewise.
48224 (clear_completions): Likewise.
48225 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48226 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48227 a tab, call complete.
48228
48229 * normal/completion.c (disk_dev): Removed.
48230 (print_simple_completion): Likewise.
48231 (print_partition_completion): Likewise.
48232 (print_func): New global variable.
48233 (add_completion): Do not take the arguments WHAT or PRINT any
48234 longer. Added a new argument TYPE. Instead of printing directly,
48235 call PRINT_FUNC if not NULL.
48236 All callers changed.
48237 (complete_device): Use a local variable DEV instead of
48238 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48239 (grub_normal_do_completion): Take a new argument HOOK. Do not
48240 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48241 empty string, return NULL instead.
48242 All callers changed.
48243
48244 * normal/cmdline.c (print_completion): New function.
48245
48246 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48247 to HOOK.
48248 All callers changed.
48249
48250 * kern/disk.c (grub_print_partinfo): Removed.
48251
48252 * include/grub/partition.h (struct grub_partition_map): Add a new
48253 argument DISK into HOOK of ITERATE.
48254 (grub_partition_iterate): Add a new argument DISK to HOOK.
48255
48256 * include/grub/normal.h (enum grub_completion_type): New enum.
48257 (grub_completion_type_t): New type.
48258 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48259 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48260 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48261 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48262 (grub_normal_do_completion): Added a new argument HOOK.
48263 (grub_normal_print_device_info): New prototype.
48264
48265 * include/grub/disk.h (grub_print_partinfo): Removed.
48266
48267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48268 (normal_mod_SOURCES): Likewise.
48269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48270 (normal_mod_SOURCES): Likewise.
48271
48272 * commands/ls.c (grub_ls_list_disks): Use
48273 grub_normal_print_device_info instead of grub_print_partinfo. Free
48274 PNAME.
48275 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48276 duplicating the code.
48277
0bd41162 482782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48279
48280 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48281 follow GCS more precisely.
48282 * commands/i386/pc/vbe_test.c: Likewise.
48283 * include/grub/i386/pc/vbe.h: Likewise.
48284 * term/i386/pc/vesafb.c: Likewise.
48285 * video/i386/pc/vbe.c: Likewise.
0bd41162 48286
6323696a 482872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48288
48289 * DISTLIST: Added term/i386/pc/vesafb.c
48290 DISTLIST: Added video/i386/pc/vbe.c
48291 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48292 DISTLIST: Added commands/i386/pc/vbe_test.c.
48293 * commands/i386/pc/vbe_list_modes.c: New file.
48294 * commands/i386/pc/vbe_test.c: Likewise.
48295 * term/i386/pc/vesafb.c: Likewise.
48296 * video/i386/pc/vbe.c: Likewise.
48297 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48298 (grub_vbe_probe) Added prototype.
48299 (grub_vbe_set_video_mode) Likewise.
48300 (grub_vbe_get_video_mode) Likewise.
48301 (grub_vbe_get_video_mode_info) Likewise.
48302 (grub_vbe_set_pixel_rgb) Likewise.
48303 (grub_vbe_set_pixel_index) Likewise.
48304 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48305 (pkgdata_MODULES): Added vesafb.mod.
48306 (pkgdata_MODULES): Added vbe_list_modes.mod.
48307 (pkgdata_MODULES): Added vbe_test.mod.
48308 (vbe_mod_SOURCES): Added.
48309 (vbe_mod_CFLAGS): Likewise.
48310 (vesafb_mod_SOURCES): Likewise.
48311 (vesafb_mod_CFLAGS): Likewise.
48312 (vbe_list_modes_mod_SOURCES): Likewise.
48313 (vbe_list_modes_mod_CFLAGS): Likewise.
48314 (vbe_test_mod_SOURCES): Likewise.
48315 (vbe_test_mod_CFLAGS): Likewise.
48316
0a74e62f 483172005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48318
0a74e62f 48319 * normal/command.c (grub_command_execute): If INTERACTIVE is
48320 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48321 CMDLINE. Disable the pager if INTERACTIVE is true.
48322 All callers are changed.
48323
48324 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48325 before reading a config file.
48326 * normal/main.c (read_config_file): Even if a command is not
48327 found, register it if it is within an entry.
48328
48329 * util/grub-emu.c: Include sys/types.h and unistd.h.
48330 (options): Added --hold.
48331 (struct arguments): Added a new member "hold".
48332 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48333 missing.
48334 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48335 cleared by a debugger, if it is not zero.
48336
48337 * include/grub/normal.h (grub_command_execute): Add an argument
48338 INTERACTIVE.
48339
e51f85ae 483402005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48341
48342 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48343
e9c6f39b 483442005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48345
48346 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48347 program with another one, because the old one didn't detect a bug
48348 in gcc-3.4. Always use regparm 2, because the new test is still
48349 not enough for gcc-4.0. Someone must investigate a simple test
48350 case which detects a bug in gcc-4.0.
48351
8de3495c 483522005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48353
48354 * DISTLIST: Added normal/completion.c.
48355
48356 * normal/completion.c: New file.
f19dbdb7 48357
8de3495c 48358 * term/i386/pc/console.c (grub_console_getwh): New function.
48359 (grub_console_term): Assign grub_console_getwh to getwh.
48360
48361 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48362 function is defined in normal/completion.c as
48363 grub_normal_do_completion.
48364 (grub_cmdline_get): Use grub_normal_do_completion instead of
48365 grub_tab_complete.
48366
48367 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48368 returns non-zero, otherwise return 0.
48369 (grub_partition_iterate): First, probe the partition map. Then,
48370 call ITERATE only for this partition map.
48371
48372 * kern/misc.c (grub_strncmp): Rewritten.
48373
48374 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48375 returns non-zero. Otherwise return 0.
48376
48377 * include/grub/partition.h (grub_partition_map_iterate): Return
48378 int instead of void.
48379
48380 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48381
48382 * include/grub/misc.h (grub_strncmp): Change the type of N to
48383 grub_size_t.
48384
48385 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48386 of void.
48387
48388 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48389 unsigned explicitly before comparing it with I.
8de3495c 48390
48391 * kern/main.c (grub_env_write_root): Add the attribute unused into
48392 VAR.
48393
48394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48395 normal/completion.c.
48396 (normal_mod_SOURCES): Likewise.
48397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48398 (normal_mod_SOURCES): Likewise.
48399
48400 * normal/command.c (grub_iterate_commands): If ITERATE returns
48401 non-zero, return one immediately.
48402
e85e144b 484032005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48404
48405 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48406 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48407 descriptions.
48408 (grub_vbe_get_controller_info): New function.
48409 (grub_vbe_get_mode_info): Likewise.
48410 (grub_vbe_set_mode): Likewise.
48411 (grub_vbe_get_mode): Likewise.
48412 (grub_vbe_set_memory_window): Likewise.
48413 (grub_vbe_get_memory_window): Likewise.
48414 (grub_vbe_set_scanline_length): Likewise.
48415 (grub_vbe_get_scanline_length): Likewise.
48416 (grub_vbe_set_display_start): Likewise.
48417 (grub_vbe_get_display_start): Likewise.
48418 (grub_vbe_set_palette_data): Likewise.
48419 * include/grub/i386/pc/vbe.h: New file.
48420
c46153d2 484212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48422
48423 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48424 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48425 * DISTLIST: Likewise.
48426 * kern/ieee1275/of.c: Moved to ...
48427 * kern/ieee1275/ieee1275.c: ... here.
48428
0cb90c45 484292005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48430
48431 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48432 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48433 Pass 0 as `end' parameter to grub_strtoul().
48434
a19fb360 484352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48436
48437 * include/grub/powerpc/ieee1275/console.h: Do not include
48438 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48439 ifdef.
48440 (grub_console_cur_color): Remove i386-specific prototype.
48441 (grub_console_real_putchar): Likewise.
48442 (grub_console_checkkey): Likewise.
48443 (grub_console_getkey): Likewise.
48444 (grub_console_getxy): Likewise.
48445 (grub_console_gotoxy): Likewise.
48446 (grub_console_cls): Likewise.
48447 (grub_console_setcursor): Likewise.
48448 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48449 Include <grub/machine/console.h>.
48450 * term/ieee1275/ofconsole.c: Likewise.
48451
4ac9bd04 484522005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48453
48454 * Makefile.in (LIBLZO): New variable.
48455
48456 * configure.ac: Check for LZO version 2.
48457
48458 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48459 lzo/lzo1x.h instead of lzo1x.h.
48460
48461 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48462 of -llzo.
48463
48464 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48465 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48466
48467 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48468 copying the data from PARTITION to P.
48469
f4917dfd 484702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48471
48472 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48473 negative, unload the module.
48474
48475 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48476 map is "pc_partition_map" but not "pc".
48477 (usage): Fix the description. The options are --boot-image and
48478 --core-image but not --boot-file or --core-file.
48479 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48480 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48481 DEFAULT_DIRECTORY.
48482
48483 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48484 --core-file. Specify INSTALL_DEVICE as an argument.
48485
48486 * util/console.c: Include config.h.
48487 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48488 [HAVE_NCURSES_H]: Include ncurses.h.
48489 [HAVE_CURSES_H]: Include curses.h.
48490 [!A_NORMAL] (A_NORMAL): Defined as zero.
48491 [!A_STANDOUT] (A_STANDOUT): Likewise.
48492
48493 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48494 -lncurses.
48495 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48496
48497 * configure.ac: Check for curses libraries and headers.
48498
48499 * Makefile.in (LIBCURSES): New variable.
48500
48501 * genmk.rb (Script::rule): Set the executable bits.
48502
48503 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48504 name of the PC partition map is "pc_partition_map" but not "pc".
48505
0e143073 485062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48507
48508 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48509 (modules): Likewise.
48510 (usage): Added descriptions for --modules and --grub-probefs.
48511 Handle --modules and --grub-probefs. Save the arguments in MODULES
48512 and GRUB_PROBEFS, respectively.
48513 Auto-detect a filesystem module against GRUBDIR. If the result is
48514 empty and modules are not specified explicitly, abort the
48515 installation. Add the result to MODULES.
48516
48517 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48518 disk/powerpc/ieee1275/ofdisk.c,
48519 include/grub/powerpc/ieee1275/init.h and
48520 term/powerpc/ieee1275/ofconsole.c.
48521 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48522 term/ieee1275/ofconsole.c.
48523
48524 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48525
48526 * COPYING: Upgraded to the latest version. Only the address of the
48527 FSF office has changed.
f19dbdb7 48528
efd6e6d5 485292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48530
48531 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48532 kern/ieee1275.c with kern/ieee1275/of.c.
48533
48534 * kern/ieee1275.c: Moved to ...
48535 * kern/ieee1275/of.c: ... here.
48536
8ceafda2 485372005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48538
48539 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48540 readability.
8ceafda2 48541
48542 * config.guess: Updated to the latest version from gnulib.
48543 * config.sub: Likewise.
48544 * install.sh: Likewise.
48545 * mkinstalldirs: Likewise.
48546
48547 * include/grub/console.h: Removed. This file is arch-specific. Do
48548 not put this in include/grub.
48549
48550 * include/grub/i386/pc/console.h: Resurrected.
48551
48552 * util/console.c: Include grub/machine/console.h instead of
48553 grub/console.h.
48554 * util/grub-emu.c: Likewise.
48555
267f6cd9 485562005-08-04 Marco Gerards <metgerards@student.han.nl>
48557
48558 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48559 hardcoded value.
f19dbdb7 48560
267f6cd9 48561 From Vincent Pelletier <subdino2004@yahoo.fr>
48562 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48563 Redefined to use grub_getwh.
48564 (grub_term): New member named getwh.
48565 (grub_getwh): New prototype.
48566 * kern/term.c (grub_getwh): New function.
48567 * term/i386/pc/console.c (grub_console_getwh): New function.
48568 (grub_console_term): New member `getwh'.
48569 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48570 (grub_vga_term): New member `getwh'.
0b5abe02 48571 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48572 grub_ssize_t.
48573 (grub_ofconsole_getw): New function.
48574 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48575 (grub_ofconsole_term): New field named getwh and new initial
48576 value.
48577
3be7266d 485782005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48579
48580 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48581 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48582 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48583 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48584 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48585 of <grub/machine/ieee1275.h>.
48586 * commands/ieee1275/reboot.c: Likewise.
48587 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48588 * kern/ieee1275.c: ... to here. All users updated. Change all
48589 parameter structs to use new type `grub_ieee1275_cell_t'.
48590 * term/powerpc/ieee1275/ofconsole.c: Move ...
48591 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48592 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48593 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48594 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48595 to return int.
48596 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48597 Remove unused prototypes. All users updated.
48598 * include/grub/powerpc/ieee1275/console.h: Removed.
48599 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48600 `grub_ieee1275_cell_t'.
48601 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48602 Cast comparisons with -1 to the correct type.
48603 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48604 type to match `grub_ieee1275_entry_fn'.
48605
8b5f3938 486062005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48607
48608 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48609
48610 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48611 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48612 partmap/sun.c.
48613 (grub_probefs_SOURCES): New variable.
48614
48615 * util/i386/pc/grub-probefs.c: New file.
48616
48617 * util/i386/pc/grub-setup.c (main): Call
48618 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48619 grub_hfs_init and grub_jfs_init to initialize the system. Call
48620 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48621 grub_pc_partition_map_fini to finish the system.
48622
ea409713 486232005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48624
48625 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48626 function.
48627 (grub_multiboot_load_elf32): Likewise.
48628 (grub_multiboot_is_elf64): Likewise.
48629 (grub_multiboot_load_elf64): Likewise.
48630 (grub_multiboot_load_elf): Likewise.
48631 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48632 an ELF32 or ELF64 file.
48633 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48634
48635 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48636 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48637 NULL before calling FS->LABEL.
48638 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48639 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48640 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48641 before calling FS->LABEL.
48642
141a288b 486432005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48644
48645 * util/i386/pc/grub-install.in (datadir): New variable.
48646 (libdir): Removed.
48647 (pkgdatadir): New variable.
48648 (pkglibdir): Removed.
48649
0d5f8a54 486502005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48651
48652 * DISTLIST: Added util/i386/pc/grub-install.in.
48653
48654 * util/i386/pc/grub-install.in: New file.
48655
48656 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48657 (grub_install_SOURCES): Likewise.
48658
48659 * genmk.rb: Added support for scripts.
48660 (Script): New class.
48661 (scripts): New variable.
48662
48663 * Makefile.in (install-local): Install sbin_SCRIPTS by
48664 INSTALL_SCRIPT.
48665 (uninstall): Remove sbin_SCRIPTS.
48666
48667 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48668 device, try to get a GRUB device by
48669 grub_util_biosdisk_get_grub_dev.
48670 Free DEST_DEV.
48671
48672 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48673 description for --device-map.
48674
5f968e1e 486752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48676
48677 Change the semantics of variable hooks. They now return strings
48678 instead of error values.
f19dbdb7 48679
5f968e1e 48680 * util/i386/pc/grub-setup.c: Include grub/env.h.
48681 (setup): Use grub_device_set_root instead of grub_env_set.
48682
48683 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48684 grub_env_get instead of grub_device_set_root and
48685 grub_device_get_root, respectively.
48686
48687 * kern/main.c (grub_env_write_root): New function.
48688 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48689 grub_env_set instead of grub_device_set_root.
48690
48691 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48692 many variables.
48693 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48694 rather than calling ENV->WRITE_HOOK afterwards.
48695 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48696 passing a pointer of a pointer.
48697 (grub_register_variable_hook): Change the types of "read_hook" and
48698 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48699 respectively.
48700 Allocate the default empty string on the heap, because this string
48701 may be freed later.
48702
48703 * kern/device.c: Include grub/env.h.
48704 (grub_device_set_root): Removed.
48705 (grub_device_get_root): Likewise.
48706 (grub_device_open): Use grub_env_get instead of
48707 grub_device_get_root.
48708
48709 * include/grub/env.h (grub_env_read_hook_t): New type.
48710 (grub_env_write_hook_t): Likewise.
48711 (grub_env_var): Change the types of "read_hook" and "write_hook"
48712 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48713 (grub_register_variable_hook): Likewise.
48714
48715 * include/grub/device.h (grub_device_set_root): Removed.
48716 (grub_device_set_root): Likewise.
48717
48718 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48719 make sure that DIRNAME terminates with '/', so that
48720 grub_fat_find_dir will fail if PATH is not a directory.
48721
48722 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48723 from DIRNAME.
48724 Use the qualifier auto for print_files and print_files_long.
48725 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48726 as a regular file.
48727 Put a newline only if there is no error.
48728 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48729 used.
48730
896f0afd 487312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48732
48733 * kern/partition.c (grub_partition_probe): Initialize PART to
48734 NULL. Otherwise, when no partition map is registered, this returns
48735 a garbage.
48736
b28b81b2 487372005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48738
48739 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48740 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48741 valid.
48742
5f3607e0 487432005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48744
48745 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48746 information on each device, if it does not have partitions. Print
48747 "Device" instead of "Disk", because this function is not specific
48748 to disk devices.
48749
48750 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48751 static to ensure that it is put on the memory rather than a
48752 register.
48753
502c87e8 487542005-07-17 Yoshinori Okuji <okuji@enbug.org>
48755
48756 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48757 (grub_cat_init): Likewise.
48758 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48759 (options): Likewise.
48760 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48761 (grub_configfile_init): Likewise.
48762 * font/manager.c (GRUB_MOD_INIT): Likewise.
48763 * commands/help.c (GRUB_MOD_INIT): Likewise.
48764 (grub_help_init): Likewise.
48765 * normal/command.c (grub_command_init): Likewise.
48766 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48767 * disk/loopback.c (grub_loop_init): Likewise.
48768 (GRUB_MOD_INIT): Likewise.
48769 * commands/ls.c (grub_ls_init): Likewise.
48770 (GRUB_MOD_INIT): Likewise.
48771 (options): Likewise.
48772 * commands/boot.c (grub_boot_init): Likewise.
48773 (GRUB_MOD_INIT): Likewise.
48774 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48775 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48776 (GRUB_MOD_INIT): Likewise.
48777 * commands/cmp.c (grub_cmp_init): Likewise.
48778 (GRUB_MOD_INIT): Likewise.
48779
48780 * normal/arg.c: Use <> instead of "" to include header files.
48781 (SHORT_ARG_HELP): New macro.
48782 (SHORT_ARG_USAGE): Likewise.
48783 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48784 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48785 descriptions.
48786 (find_short): Check if C is 'h' or 'u' explicitly.
48787 (grub_arg_show_help): Use space characters instead of tabs. Treat
48788 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48789 are shown with --help and --usage only if they are not used for
48790 the command itself.
48791 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48792 'h' and 'u'.
48793
48794 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48795 const into "longarg". Change the type of "shortarg" to int.
48796
f806d18e 487972005-07-17 Yoshinori Okuji <okuji@enbug.org>
48798
48799 * boot/i386/pc/boot.S (boot_drive_check): New label.
48800
48801 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48802 macro.
48803
48804 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48805 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48806
e293232b 488072005-07-17 Yoshinori Okuji <okuji@enbug.org>
48808
48809 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48810 When turning off Gate A20, skip the check and return immediately,
48811 because this is not fatal usually.
48812
ebedfd00 488132005-07-17 Yoshinori Okuji <okuji@enbug.org>
48814
48815 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48816 be 0x7C00 instead of 0x8000.
48817
48818 * boot/i386/pc/pxeboot.S: Rewritten.
48819
48820 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48821 EXT_C.
48822 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48823 result.
48824
654fc59f 488252005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48826
48827 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48828 robustness. This routine now supports a BIOS call and System
48829 Control Port A to modify the gate A20.
48830
48831 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48832 Increased to 0x440.
48833
09f9923f 488342005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48835
48836 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48837 device path and resulting ihandle.
48838 (grub_ofdisk_close): dprintf the ihandle being closed.
48839 (grub_ofdisk_read): dprintf function parameters.
48840 * kern/mm.c (grub_mm_init_region): Likewise.
48841 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48842 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48843 size, and boot arguments.
48844 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48845 before loading into memory.
48846 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48847 before loading into memory.
48848
7ef504d8 488492005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48850
48851 * kern/mm.c: Added much documentation.
48852 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48853 8, set to 5 instead of 8.
48854
e0f050c2 488552005-07-10 Yoshinori Okuji <okuji@enbug.org>
48856
48857 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48858
48859 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48860 (grub_mkdevicemap_SOURCES): New variable.
48861
48862 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48863 lib/device.c of GRUB Legacy.
48864
7224189a 488652005-07-10 Yoshinori Okuji <okuji@enbug.org>
48866
48867 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48868 instead of PATH is NULL.
48869
68c864eb 488702005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48871
48872 * commands/cmp.c (BUFFER_SIZE): New macro.
48873 (grub_cmd_cmp): Close the right file at the right time. Compare
48874 only data just read. Don't report files of different size as
48875 identical. Dynamically allocate buffers. Move variable
48876 declarations at the beginning of function.
48877
e6f3e614 488782005-07-09 Yoshinori Okuji <okuji@enbug.org>
48879
48880 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48881 reverse.
48882
f8f1559a 488832004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48884
48885 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48886 when backspace is pressed at beginning of line.
48887
39c9d41d 488882005-07-03 Yoshinori Okuji <okuji@enbug.org>
48889
48890 * DISTLIST: Added genfslist.sh.
48891
48892 * normal/main.c (fs_module_list): New variable.
48893 (autoload_fs_module): New function.
48894 (read_fs_list): Likewise.
48895 (grub_normal_execute): Call read_fs_list.
48896
48897 * kern/fs.c (grub_fs_autoload_hook): New variable.
48898 (grub_fs_probe): Added support for auto-loading.
48899
48900 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48901 (grub_fs_module_list_t): New type.
48902
48903 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48904 (grub_fs_autoload_hook): New prototype.
48905
48906 * genfslist.sh: New file.
f19dbdb7 48907
39c9d41d 48908 * genmk.rb: Added a rule to generate a filesystem list.
48909
121c1d83 489102005-06-30 Marco Gerards <metgerards@student.han.nl>
48911
48912 * configure.ac: Fix the test for cross-compiling.
48913
48914 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48915 define GRUB_UTIL anymore.
48916
48917 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48918 so this function works on other systems than just big endian.
48919 (load_modules): Likewise.
48920 (add_segments): Likewise.
48921
e75d76e1 489222005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48923
48924 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48925 contains `l' modifier, get a long from va_arg().
48926
50b5a0a7 489272005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48928
48929 * kern/mm.c (grub_free): If the next free block which is being
48930 merged is the first free block, set the first block to the block
48931 being freed.
48932 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48933
89371b20 489342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48935
48936 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48937 `grub_ieee1275_chosen'.
48938
168d6e58 489392005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48940
48941 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48942 (grub_ieee1275_chosen): New variable.
48943 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48944 `chosen'.
48945 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48946 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48947 Rename first argument to `phandle' for consistency.
48948 (grub_ieee1275_get_property_length): Likewise.
48949 (grub_ieee1275_next_property): Likewise. Change type of first argument
48950 to grub_ieee1275_phandle_t.
48951 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48952 Move export next to declaration.
48953 (grub_ieee1275_chosen): New variable.
48954 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48955 Correct cosmetic typo.
48956 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48957 `grub_ieee1275_chosen'.
48958 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48959 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48960 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48961 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48962 `grub_ieee1275_chosen'.
48963
ca5baa3f 489642005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48965
48966 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48967 /chosen/bootargs.
48968 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48969 /chosen/bootargs as "variable=value" pairs.
48970
708b345f 489712005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48972
48973 * include/grub/misc.h (grub_dprintf): New macro.
48974 (grub_real_dprintf): New prototype.
48975 (grub_strword): Likewise.
48976 (grub_iswordseparator): Likewise.
48977 * kern/misc.c (grub_real_dprintf): New function.
48978 (grub_strword): Likewise.
48979 (grub_iswordseparator): Likewise.
48980
f4c5e67c 489812005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48982
48983 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48984 (roundup): Remove macro.
48985 (grub_ieee1275_flags): Make static.
48986 (grub_ieee1275_realmode): Remove.
48987 (grub_ieee1275_test_flag): New function.
48988 (grub_ieee1275_set_flag): Likewise.
48989 (find_options): Rename to `grub_ieee1275_find_options'; update
48990 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48991 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48992 (cmain): New prototype.
48993 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48994 `grub_ieee1275_flags' directly.
48995 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48996 machine/biosdisk.h.
48997 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48998 Don't include grub/machine/init.h.
48999 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49000 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49001 Remove prototype.
49002 (grub_ieee1275_realmode): Likewise.
49003 (grub_ieee1275_flag): New enum.
49004 (grub_ieee1275_test_flag): New prototype.
49005 (grub_ieee1275_set_flag): New prototype.
49006 * include/grub/powerpc/ieee1275/init.h: Remove file.
49007 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49008 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49009 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49010 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49011 comment.
49012 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49013 `grub_ieee1275_test_flag'.
49014 (grub_ieee1275_encode_devname): Likewise.
49015
ed16607e 490162005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49017
49018 * include/grub/powerpc/ieee1275/ieee1275.h
49019 (grub_ieee1275_encode_devname): New prototype.
49020 (grub_ieee1275_get_filename): Likewise.
49021 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49022 function.
49023 (grub_set_prefix): Likewise.
49024 (grub_machine_init): Call grub_set_prefix.
49025 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49026 (grub_parse_type): New enum.
49027 (grub_ieee1275_get_devargs): New function.
49028 (grub_ieee1275_get_devname): Likewise.
49029 (grub_ieee1275_parse_args): Likewise.
49030 (grub_ieee1275_get_filename): Likewise.
49031 (grub_ieee1275_encode_devname): Likewise.
49032
be369920 490332005-03-30 Marco Gerards <metgerards@student.han.nl>
49034
49035 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49036 `grub_loader_unset'.
49037
a5ce3a4a 490382005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49039
49040 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49041 instead of grub_ieee1275_interpret.
49042 (grub_halt_init): New function.
49043 (grub_halt_fini): Likewise.
49044 (GRUB_MOD_INIT): Correct message grammar.
49045 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49046 instead of grub_ieee1275_interpret.
49047 (grub_reboot_init): New function.
49048 (grub_reboot_fini): Likewise.
49049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49050 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49051 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49052 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49053 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49054 function.
49055 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49056 Add prototype.
49057 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49058 prototype.
49059 (grub_halt): Likewise.
49060 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49061 (cmain): Remove __attribute__((unused)).
49062 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49063 (grub_heap_len): Likewise.
49064 (grub_machine_fini): New function.
49065 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49066 (grub_halt): Likewise.
49067 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49068 function.
49069 * util/powerpc/ieee1275/misc.c: New file.
49070
0058f771 490712005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49072
49073 * DISTLIST: New file.
49074 * gendistlist.sh: Likewise.
f19dbdb7 49075
0058f771 49076 * Makefile.in (COMMON_DISTFILES): Removed.
49077 (BOOT_DISTFILES): Likewise.
49078 (CONF_DISTFILES): Likewise.
49079 (DISK_DISTFILES): Likewise.
49080 (FS_DISTFILES): Likewise.
49081 (INCLUDE_DISTFILES): Likewise.
49082 (KERN_DISTFILES): Likewise.
49083 (LOADER_DISTFILES): Likewise.
49084 (TERM_DISTFILES): Likewise.
49085 (UTIL_DISTFILES): Likewise.
49086 (DISTFILES): Likewise.
49087 (uninstall): Uninstall files in $(pkgdata_DATA).
49088 (DISTLIST): New target.
49089 (distdir): Use the contents of the file DISTLIST to get a list of
49090 distributed files.
49091
46b3b8a5 490922005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49093
49094 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49095 descriptor. This is ported from GRUB Legacy.
49096
49097 * gencmdlist.sh: Added an extra semicolon to make it work with
49098 old sed versions. Reported by Robert Bihlmeyer
49099 <robbe@orcus.priv.at>.
49100
5822ff87 491012005-03-08 Yoshinori Okuji <okuji@enbug.org>
49102
49103 Automatic loading of commands is supported.
f19dbdb7 49104
5822ff87 49105 * normal/main.c (read_command_list): New function.
49106 (grub_normal_execute): Call read_command_list.
49107
49108 * normal/command.c (grub_register_command): Return zero or CMD.
49109 Allocate CMD->NAME from the heap.
49110 Initialize CMD->MODULE_NAME to zero.
49111 Find the same name as well. If the same command is found and it is
49112 a dummy command, overwrite members. If it is not a dummy command,
49113 return zero.
49114 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49115 (grub_command_find): If a dummy command is found, load a module
49116 and retry to find a command only once.
49117
49118 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49119 make sure that each command is loaded.
49120
49121 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49122 macro.
49123 (struct grub_command): Remove const from the member `name'.
49124 Add a new member `module_name'.
49125 (grub_register_command): Return grub_command_t.
49126
49127 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49128 sure that each command is loaded.
49129
49130 * genmk.rb (PModule::rule): Specify a module name without the
49131 suffix ".mod" to gencmdlist.sh.
49132
7b1f4b57 491332005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49134
49135 * gencmdlist.sh: New file.
f19dbdb7 49136
7b1f4b57 49137 * genmk.rb (PModule::rule): Generate a rule for a command list.
49138 Clean command.lst.
49139 Generate command.lst from $(COMMANDFILES).
49140
49141 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49142 (DATA): Added $(pkgdata_DATA).
49143 (install-local): Install files in $(pkgdata_DATA).
49144
062aaf39 491452005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49146
49147 * term/i386/pc/vga.c (debug_command): Removed.
49148 (GRUB_MOD_INIT): Do not register the command "debug".
49149
49150 From Hollis Blanchard:
49151 * commands/configfile.c: New file.
49152 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49153 commands/configfile.c.
49154 (pkgdata_MODULES): Added configfile.mod.
49155 (configfile_mod_SOURCES): New variable.
49156 (configfile_mod_CFLAGS): Likewise.
49157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49158 commands/configfile.c.
49159 (pkgdata_MODULES): Added configfile.mod.
49160 (configfile_mod_SOURCES): New variable.
49161 (configfile_mod_CFLAGS): Likewise.
49162 * util/grub-emu.c (main): Call grub_configfile_init and
49163 grub_configfile_fini.
49164 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49165 prototype.
49166 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49167
cee01aa6 491682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49169
49170 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49171 address.
49172
49173 * commands/help.c (grub_cmd_help): Do not print newlines after
49174 the last command in print_command_help.
49175
93f3a1d8 491762005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49177
49178 * commands/default.h: New file.
49179 * commands/timeout.h: Likewise.
49180 * normal/context.c: Likewise.
f19dbdb7 49181
93f3a1d8 49182 * util/misc.c: Do not include sys/times.h.
49183 Include sys/time.h and grub/machine/time.h.
49184 (grub_get_rtc): Rewritten with gettimeofday.
49185
49186 * util/grub-emu.c (main): Call grub_default_init and
49187 grub_timeout_init before grub_normal_init, and call
49188 grub_timeout_fini and grub_default_fini after grub_main.
49189
49190 * util/console.c (grub_ncurses_checkkey): Return the read
49191 character or -1.
49192
49193 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49194 timeouts.
49195
49196 * normal/main.c (read_config_file): Push MENU. If this fails,
49197 print an error and wait for a user input.
49198 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49199 If a menu is empty or an error occurs, pop MENU.
49200 (grub_normal_execute): Pop and free MENU after grub_menu_run
49201 returns.
49202
49203 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49204
49205 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49206 include time.h.
49207 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49208 without GRUB_UTIL.
49209 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49210 time.h.
49211 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49212 without GRUB_UTIL.
49213
49214 * include/grub/normal.h (struct grub_menu_list): New struct.
49215 (grub_menu_list_t): New type.
49216 (struct grub_context): New struct.
49217 (grub_context_t): New type.
49218 (grub_register_command): Got rid of EXPORT_FUNC.
49219 (grub_unregister_command): Likewise.
49220 (grub_context_get): New prototype.
49221 (grub_context_get_current_menu): Likewise.
49222 (grub_context_push_menu): Likewise.
49223 (grub_context_pop_menu): Likewise.
49224 [GRUB_UTIL] (grub_default_init): Likewise.
49225 [GRUB_UTIL] (grub_default_fini): Likewise.
49226 [GRUB_UTIL] (grub_timeout_init): Likewise.
49227 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49228
49229 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49230 commands/timeout.c and normal/context.c.
49231 (pkgdata_MODULES): Added default.mod and timeout.mod.
49232 (normal_mod_SOURCES): Added normal/context.c.
49233 (default_mod_SOURCES): New variable.
49234 (default_mod_CFLAGS): Likewise.
49235 (timeout_mod_SOURCES): Likewise.
49236 (timeout_mod_CFLAGS): Likewise.
49237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49238 conf/i386-pc.rmk.
49239 (pkgdata_MODULES): Added default.mod and timeout.mod.
49240 (normal_mod_SOURCES): Added normal/context.c.
49241 (default_mod_SOURCES): New variable.
49242 (default_mod_CFLAGS): Likewise.
49243 (timeout_mod_SOURCES): Likewise.
49244 (timeout_mod_CFLAGS): Likewise.
49245
49246 * Makefile.in (all-local): Added $(MKFILES).
49247
4ed2e1dd 492482005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49249
49250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49251 (grub_emu_SOURCES): Likewise.
49252 (pkgdata_MODULES): Add `sun.mod'.
49253 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49255 `partmap/sun.c'.
49256 (pkgdata_MODULES): Add `sun.mod'.
49257 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49258 * include/grub/partition.h (grub_sun_partition_map_init): New
49259 prototype.
49260 (grub_sun_partition_map_fini): Likewise.
49261 * partmap/sun.c: New file.
49262 * util/grub-emu.c (main): Initialize and de-initialize the sun
49263 partitionmap support.
49264
4d4e372e 492652005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49266
49267 This implements an Emacs-like menu entry editor.
f19dbdb7 49268
4d4e372e 49269 * normal/menu_entry.c: New file.
f19dbdb7 49270
4d4e372e 49271 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49272 characters to ASCII.
49273 (saved_char): New variable.
49274 (grub_ncurses_checkkey): Rewritten completely.
49275 (grub_ncurses_getkey): Likewise.
49276 (grub_ncurses_init): Call raw instead of cbreak.
49277
49278 * normal/menu.c (print_entry): Do not put a space.
49279 (init_page): Renamed to ...
49280 (grub_menu_init_page): ... this. All callers changed.
49281 (edit_menu_entry): Removed.
49282 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49283
49284 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49285
49286 * kern/misc.c (grub_vprintf): Call grub_refresh.
49287
49288 * normal/menu.c (DISP_LEFT): Renamed to ...
49289 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49290 * normal/menu.c (DISP_UP): Renamed to ...
49291 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49292 * normal/menu.c (DISP_RIGHT): Renamed to ...
49293 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49294 * normal/menu.c (DISP_DOWN): Renamed to ...
49295 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49296 * normal/menu.c (DISP_HLINE): Renamed to ...
49297 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49298 * normal/menu.c (DISP_VLINE): Renamed to ...
49299 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49300 * normal/menu.c (DISP_UL): Renamed to ...
49301 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49302 * normal/menu.c (DISP_UR): Renamed to ...
49303 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49304 * normal/menu.c (DISP_LL): Renamed to ...
49305 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49306 * normal/menu.c (DISP_LR): Renamed to ...
49307 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49308 * normal/menu.c (TERM_WIDTH): Renamed to ...
49309 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49310 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49311 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49312 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49313 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49314 * normal/menu.c (TERM_MARGIN): Renamed to ...
49315 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49316 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49317 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49318 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49319 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49320 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49321 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49322 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49323 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49324 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49325 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49326 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49327 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49328 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49329 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49330 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49331 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49332 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49333 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49334 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49335 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49336 All callers changed.
49337
49338 * include/grub/normal.h: New prototype.
49339
49340 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49341 normal/menu_entry.c.
49342 (normal_mod_SOURCES): Likewise.
49343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49344 (normal_mod_SOURCES): Likewise.
49345
e6b92c8a 493462005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49347
49348 * include/grub/normal.h (grub_halt_init): New prototype.
49349 (grub_halt_fini): Likewise.
49350 (grub_reboot_init): Likewise.
49351 (grub_reboot_fini): Likewise.
49352
49353 * util/grub-emu.c: Include signal.h.
49354 (main_env): New global variable.
49355 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49356 catch C-c.
49357 (grub_machine_fini): New function.
49358 (main): Call grub_halt_init and grub_reboot_init before
49359 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49360 Call setjmp with MAIN_ENV to go back afterwards.
49361 Call grub_machine_fini right before return.
49362
49363 * include/grub/util/misc.h: Include setjmp.h.
49364 (main_env): New prototype.
49365
49366 * include/grub/kernel.h (grub_machine_fini): New prototype.
49367 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49368 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49369
49370 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49371 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49372 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49373
e6b92c8a 49374 * util/i386/pc/misc.c: New file.
f19dbdb7 49375
e6b92c8a 49376 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49377 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49378 commands/i386/pc/reboot.c.
49379
c642636f 493802005-02-14 Guillem Jover <guillem@hadrons.org>
49381
49382 * include/grub/dl.h (grub_dl_check_header): New prototype.
49383 (grub_arch_dl_check_header): Change return type to grub_err_t,
49384 remove size parameter and export function. Update all callers.
49385 * kern/dl.c (grub_dl_check_header): New function.
49386 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49387 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49388 are inside the core.
49389 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49390 independent ELF header checks.
49391 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49392 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49393 `grub_dl_check_header' instead of explicit checks. Check for the
49394 ELF type.
49395 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49396 `grub_dl_check_header' instead of explicit checks. Remove arch
49397 specific ELF header checks.
49398
e6b92c8a 49399 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49400 argument SIZE.
49401
5eabe94b 494022005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49403
49404 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49405 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49406
1b14a681 494072005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49408
49409 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49410 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49411 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49412 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49413 * partmap/amiga.c (amiga_partition_map_iterate): Return
49414 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49415 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49416
aca108aa 494172005-02-01 Guillem Jover <guillem@hadrons.org>
49418
49419 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49420 help info.
49421
c9f9c556 494222005-01-31 Marco Gerards <metgerards@student.han.nl>
49423
49424 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49425 Removed prototype.
49426 (grub_rescue_cmd_linux): New prototype.
49427 (grub_rescue_cmd_initrd): Likewise.
49428 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49429 `bi_rec'.
49430 (grub_linux_release_mem): Release the memory for the initrd.
49431 (grub_load_linux): Renamed from this...
49432 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49433 Changed `entry' not to be static. Loop over memory regions to
49434 find another one when the default fails.
49435 (grub_rescue_cmd_initrd): New function.
49436 (grub_linux_init): Remove function.
49437 (grub_linux_fini): Likewise.
49438 (GRUB_MOD_INIT): Register `initrd'.
49439 (GRUB_MOD_FINI): Unregister `initrd'.
49440 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49441 Function removed.
49442 (grub_linux_normal_fini): Likewise.
49443 (GRUB_MOD_INIT): Register `initrd'.
49444 (GRUB_MOD_FINI): Unregister `initrd'.
49445
990cf3aa 494462005-01-31 Marco Gerards <metgerards@student.han.nl>
49447
49448 * commands/help.c: New file.
49449 * normal/arg.c (show_help): Renamed to...
49450 (grub_arg_show_help): ... this.
49451 * commands/i386/pc/halt.c: New file.
49452 * commands/i386/pc/reboot.c: Likewise.
49453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49454 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49455 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49456 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49457 variables.
49458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49459 `commands/help.c'.
49460 (pkgdata_MODULES): Add `help.mod'.
49461 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49462 * grub/i386/pc/init.h (grub_reboot): New prototype.
49463 (grub_halt): Likewise.
49464 * include/grub/normal.h (grub_arg_show_help): New prototype.
49465 (grub_help_init): Likewise.
49466 (grub_help_fini): Likewise.
49467 * util/grub-emu.c (main): Initialize and deinitialize the help
49468 command.
49469
49470 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49471
49472 * normal/command.c (grub_command_init): Fixed the description of
49473 the `set' and `unset' commands.
49474
494752005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49476
49477 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49478 function.
49479 * commands/ieee1275/halt.c: New file.
49480 * commands/ieee1275/reboot.c: Likewise.
49481 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49482 `__attribute__ ((unused))'. Some GCS related fixed.
49483 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49484 (grub_suspend_fini): Likewise.
49485 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49486 and `halt.mod'.
49487 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49488 (halt_mod_CFLAGS): New variables.
49489 * include/grub/powerpc/ieee1275/ieee1275.h
49490 (grub_ieee1275_interpret): New prototype.
49491
1ab09cc7 494922005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49493
49494 * include/grub/misc.h (memmove): New prototype.
49495 (memcpy): Likewise.
49496
8b8cbdb2 494972005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49498
49499 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49500 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49501
e3741a27 495022005-01-22 Marco Gerards <metgerards@student.han.nl>
49503
49504 * kern/misc.c (grub_strndup): Function rewritten.
49505
776bd780 495062005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49507
49508 * normal/menu.c (TERM_WIDTH): Macro redefined.
49509 (TERM_TOP_BORDER_Y): Likewise.
49510 (draw_border): Replaced while-loop by a for-loop. Make the number
49511 of lines consistent with the number of lines displayed in
49512 print_entries. Added a margin below the rectangle.
49513 (print_entry): Make the entry fit in the rectangle.
49514 (print_entries): Display the scroll arrows next to the right
49515 border.
49516
78026bce 495172005-01-21 Marco Gerards <metgerards@student.han.nl>
49518
49519 * fs/minix.c (grub_minix_find_file): Reserve more space for
49520 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49521 `grub_strncpy' to copy `path' into it.
49522
67bbaf0f 495232005-01-21 Marco Gerards <metgerards@student.han.nl>
49524
49525 Add the loopback device, a device via which files can be accessed
49526 as devices.
f19dbdb7 49527
67bbaf0f 49528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49529 (pkgdata_MODULES): Add loopback.mod.
49530 (loopback_mod_SOURCES): New variable.
49531 (loopback_mod_CFLAGS): Likewise.
49532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49533 `disk/loopback.c'.
49534 (pkgdata_MODULES): Add loopback.mod.
49535 (loopback_mod_SOURCES): New variable.
49536 (loopback_mod_CFLAGS): Likewise.
49537 * disk/loopback.c: new file.
49538 * include/grub/normal.h (grub_loop_init): New prototype.
49539 (grub_loop_fini): New prototype.
49540 * util/grub-emu.c (main): Initialize and de-initialize loopback
49541 support.
49542 * include/grub/disk.h (grub_disk_dev_id): Add
49543 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49544
6f1c18bd 495452005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49546
49547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49548 function.
49549 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49550 (suspend_mod_SOURCES): New variable.
49551 (suspend_mod_CFLAGS): Likewise.
49552 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49553 New prototype.
49554 * commands/ieee1275/suspend.c: New file.
49555
b38551da 495562005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49557
49558 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49559 ((unused))' to `__attribute__ ((used))'.
b38551da 49560 (GRUB_MOD_FINI): Likewise.
49561 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49562 * genmk.rb (PModule): Assign space to common symbols when linking
49563 modules.
49564
777aff39 495652005-01-20 Marco Gerards <metgerards@student.han.nl>
49566
49567 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49568 `unsigned' arguments to `grub_size_t'.
49569 (grub_malloc): Likewise.
49570 (grub_realloc): Likewise.
49571 (grub_memalign): Likewise.
49572 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49573 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49574 * util/misc.c (grub_malloc): Likewise.
49575 (grub_realloc): Likewise.
49576 * kern/mm.c (get_header_from_pointer): Change the casts to
49577 `unsigned' into a cast to `grub_size_t'.
49578
49579 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49580 point to `currnode' when `currnode' is changed.
49581
49582 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49583 Schottelius <nico-linux@schottelius.org>.
49584
d0ff18e1 495852005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49586
49587 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49588 (note_path): Remove variable.
49589 (GRUB_IEEE1275_NOTE_NAME): New macro.
49590 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49591 (grub_ieee1275_note_hdr): New structure.
49592 (grub_ieee1275_note_desc): Likewise.
49593 (grub_ieee1275_note): Likewise.
49594 (load_note): Remove `dir' argument. All callers updated. Remove
49595 `note_img' and `path'. Do not load a file from `note_path'.
49596 Initialize a struct grub_ieee1275_note and write that to `out'.
49597 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49598
4ca7004c 495992005-01-05 Marco Gerards <metgerards@student.han.nl>
49600
49601 * util/misc.c (grub_util_read_image): Revert last change. It
49602 called `grub_util_read_at', which seeks from the beginning of the
49603 file.
49604
0b412211 496052005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49606
49607 * TODO: Add note about endianness in grub-mkimage.
49608 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49609 section.
49610 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49611 (grub_mkimage_SOURCES): New target.
49612 * include/grub/kernel.h (grub_start_addr): Remove variable.
49613 (grub_end_addr): Likewise.
49614 (grub_total_module_size): Likewise.
49615 (grub_kernel_image_size): Likewise.
49616 (GRUB_MODULE_MAGIC): New constant.
49617 (grub_module_info): New structure.
49618 (grub_arch_modules_addr): New prototype.
49619 (grub_get_end_addr): Remove prototype.
49620 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49621 * include/grub/powerpc/ieee1275/kernel.h: New file.
49622 * include/grub/util/misc.h (grub_util_get_fp_size): New
49623 prototype.
49624 (grub_util_read_at): Likewise.
49625 (grub_util_write_image_at): Likewise.
49626 * kern/main.c (grub_get_end_addr): Remove function.
49627 (grub_load_modules): Call grub_arch_modules_addr instead of using
49628 grub_end_addr. Look for a grub_module_info struct in memory. Use
49629 the grub_module_info fields instead of calling grub_get_end_addr
49630 as loop conditions. Move grub_add_unused_region code here.
49631 (grub_add_unused_region): Remove function.
49632 * kern/i386/pc/init.c: Include grub/cache.h.
49633 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49634 one call to add_mem_region.
49635 (grub_arch_modules_addr): New function.
49636 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49637 (grub_total_module_size): Likewise.
49638 Include grub/machine/kernel.h.
49639 (grub_arch_modules_addr): New function.
49640 * util/grub-emu.c (grub_end_addr): Remove variable.
49641 (grub_total_module_size): Likewise.
49642 (grub_arch_modules_addr): New function.
49643 * util/misc.c: Include unistd.h.
49644 (grub_util_get_fp_size): New function.
49645 (grub_util_read_at): Likewise.
49646 (grub_util_write_image_at): Likewise.
49647 (grub_util_read_image): Call grub_util_read_at.
49648 (grub_util_write_image): Call grub_util_write_image_at.
49649 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49650 additional memory in kernel_img for a struct grub_module_info.
49651 Fill in that grub_module_info.
49652 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49653
458786f8 496542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49655
49656 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49657 New function.
49658 * include/grub/powerpc/ieee1275/ieee1275.h
49659 (grub_ieee1275_milliseconds): New prototype.
49660 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49661 Change to 1000.
49662 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49663 grub_ieee1275_milliseconds.
49664
ac507d1b 496652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49666
49667 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49668 variable.
49669 (find_options): New function.
49670 (cmain): Call find_options.
49671 * include/grub/powerpc/ieee1275/ieee1275.h
49672 (grub_ieee1275_realmode): New extern variable.
49673 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49674 grub_map if grub_ieee1275_realmode is false.
49675
6b8fd1c4 496762004-12-29 Marco Gerards <metgerards@student.han.nl>
49677
49678 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49679 lines are inserted and make it work like readline. Reported by
49680 Vincent Pelletier <subdino2004@yahoo.fr>.
49681
8514a1e0 496822004-12-28 Marco Gerards <metgerards@student.han.nl>
49683
49684 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49685
49686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49687 `kern/powerpc/cache.S'.
49688
924b6140 496892004-12-27 Marco Gerards <metgerards@student.han.nl>
49690
49691 * genmk.rb: Handle the `Program' class in the main loop. Written
49692 by Johan Rydberg <jrydberg@gnu.org>.
49693 (Program): New class.
49694 (programs): New variable.
49695 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49696 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49697 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49698 (help_arch): Function removed.
49699 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49700 `powerpc/libgcc.h' and `loader.h'.
49701 (pkgdata_PROGRAMS): New variable.
49702 (sbin_UTILITIES): Variable removed.
49703 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49704 (grubof_SOURCES): Variable re-defined so it only includes the
49705 core functionality.
49706 (grubof_CFLAGS): Remove `-DGRUBOF'.
49707 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49708 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49709 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49710 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49711 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49712 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49713 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49714 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49715 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49716 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49717 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49718 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49719 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49720 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49721 (pc_mod_CFLAGS): New variables.
49722 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49723 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49724 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49725 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49726 Moved from here...
49727 * include/grub/i386/pc/init.h (grub_os_area_addr)
49728 (rub_os_area_size): ... to here.
49729 * include/grub/powerpc/ieee1275/ieee1275.h
49730 (grub_ieee1275_entry_fn): Export symbol.
49731 * include/grub/powerpc/ieee1275/init.h: New file.
49732 * include/grub/powerpc/libgcc.h: Likewise.
49733 * include/grub/cache.h: Likewise.
49734 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49735 <hollis@penguinppc.org>.
49736 * kern/dl.c: Include <grub/cache.h>.
49737 (grub_dl_flush_cache): New function.
49738 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49739 for this module.
49740 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49741 (grub_console_init): Removed prototypes.
49742 (grub_machine_init): Don't initialize the modules anymore.
49743 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49744 static.
49745 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49746 Macro undef removed.
49747 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49748 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49749 relocation `R_PPC_REL32'. Return an error when the relocation is
49750 unknown.
49751 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49752 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49753 * util/misc.c (grub_arch_sync_caches): Likewise.
49754
e4b47e0c 497552004-12-19 Marco Gerards <metgerards@student.han.nl>
49756
49757 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49758 `symlist.c', add `grubof_symlist.c'.
49759 (symlist.c): Variable removed.
49760 (grubof_HEADERS): Variable added.
49761 (grubof_symlist.c): New target.
49762 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49763 `kernel_img_HEADERS'.
49764 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49765 * kern/powerpc/dl.c: New file.
49766 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49767 Function removed.
49768 (grub_arch_dl_relocate_symbols): Likewise.
49769 (grub_register_exported_symbols): Likewise.
49770
4ceb3636 497712004-12-13 Marco Gerards <metgerards@student.han.nl>
49772
49773 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49774 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49775 to fail instead. Reported by Vincent Pelletier
49776 <subdino2004@yahoo.fr>.
49777
49778 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49779 it is not allocated. Reported by Vincent Pelletier
49780 <subdino2004@yahoo.fr>.
49781
49782 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49783 output so the output looks better.
f19dbdb7 49784
3f1578fe 497852004-12-04 Marco Gerards <metgerards@student.han.nl>
49786
49787 Modulize the partition map support and add support for the amiga
49788 partition map.
f19dbdb7 49789
3f1578fe 49790 * commands/ls.c: Include <grub/partition.h> instead of
49791 <grub/machine/partition.h>.
49792 * kern/disk.c: Likewise.
49793 * kern/rescue.c: Likewise.
49794 * loader/i386/pc/chainloader.c: Likewise.
49795 * normal/cmdline.c: Likewise.
49796 * kern/powerpc/ieee1275/init.c: Likewise.
49797 (grub_machine_init): Call `grub_pc_partition_map_init',
49798 `grub_amiga_partition_map_init' and
49799 `grub_apple_partition_map_init'.
49800 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49801 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49802 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49803 `partition.h' and `pc_partition.h'.
49804 (grub_setup_SOURCES): Remove
49805 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49806 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49807 (grub_emu_SOURCES): Likewise.
49808 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49809 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49810 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49812 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49813 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49814 (grubof_SOURCES): Likewise.
49815 * disk/i386/pc/partition.c: File removed.
49816 * disk/powerpc/ieee1275/partition.c: Likewise.
49817 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49818 * include/grub/i386/pc/partition.h: Likewise.
49819 * kern/partition.c: New file.
49820 * partmap/amiga.c: Likewise.
49821 * partmap/apple.c: Likewise.
49822 * partmap/pc.c: Likewise.
49823 * include/grub/partition.h: Likewise..
49824 * include/grub/pc_partition.h: Likewise.
49825 * util/grub-emu.c: Include <grub/partition.h> instead of
49826 <grub/machine/partition.h>.
49827 (main): Call `grub_pc_partition_map_init',
49828 `grub_amiga_partition_map_init' and
49829 `grub_apple_partition_map_init' and deinitialize afterwards.
49830 * util/i386/pc/biosdisk.c: Include `#include
49831 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49832 `<grub/machine/partition.h>'.
49833 * util/i386/pc/grub-setup.c: Likewise.
49834 * util/i386/pc/biosdisk.c: Likewise.
49835 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49836 partition information in case of a PC partition.
49837 * util/i386/pc/grub-setup.c: Include `#include
49838 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49839 `<grub/machine/partition.h>'.
49840 (setup): Only access the PC specific partition information in case
49841 of a PC partition.
49842
0ef4ced9 498432004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49844
0ef4ced9 49845 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49846 (grub_longjmp): Likewise.
49847 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49848 20.
49849 * normal/powerpc/setjmp.S: New file.
49850 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49851 `normal/powerpc/setjmp.S'.
49852 (grubof_CFLAGS): Add `-DGRUBOF'.
49853 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49854 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49855
19950e29 498562004-11-16 Marco Gerards <metgerards@student.han.nl>
49857
49858 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49859 property named `name'. Correctly handle the error returned by
49860 `grub_ieee1275_finddevice' if a device can not be opened.
49861
a2fea427 498622004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49863
49864 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49865 `actual' for negativity.
49866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49867 kern/fshelp.c.
49868
41ea0ea3 498692004-11-01 Marco Gerards <metgerards@student.han.nl>
49870
49871 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49872 (PAGE_OFFSET): New macro.
49873 (CRTC_ADDR_PORT): Likewise.
49874 (CRTC_DATA_PORT): Likewise.
49875 (START_ADDR_HIGH_REGISTER): Likewise.
49876 (START_ADDR_LOW_REGISTER): Likewise.
49877 (GRAPHICS_ADDR_PORT): Likewise.
49878 (GRAPHICS_DATA_PORT): Likewise.
49879 (READ_MAP_REGISTER): Likewise.
49880 (INPUT_STATUS1_REGISTER): Likewise.
49881 (INPUT_STATUS1_VERTR_BIT): Likewise.
49882 (page): New variable.
49883 (wait_vretrace): New function.
49884 (set_read_map): Likewise.
49885 (set_start_address): Likewise.
49886 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49887 the right page.
49888 (check_vga_mem): Take the page into account.
49889 (write_char): Likewise.
49890 (write_cursor): Likewise.
49891 (scroll_up): Likewise. Copy the page to the page that is not
49892 shown and switch between both pages.
49893 (grub_vga_putchar): Fix off by one error.
49894 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49895 account.
49896
ad0bd20b 498972004-11-01 Marco Gerards <metgerards@student.han.nl>
49898
49899 Add support for iso9660 (including rockridge).
f19dbdb7 49900
ad0bd20b 49901 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49902 (iso9660_mod_SOURCES): New variable.
49903 (iso9660_mod_CFLAGS): Likewise.
49904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49905 * include/grub/fs.h (grub_iso9660_init): New prototype.
49906 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49907 * fs/iso9660.c: New file.
49908
49909 * include/grub/misc.h (grub_strncat): New prototype.
49910 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49911
ad0bd20b 49912 * fs/hfs.c (grub_hfs_mount): Translate the error
49913 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49914 * fs/jfs.c (grub_jfs_mount): Likewise.
49915 * fs/ufs.c (grub_ufs_mount): Likewise.
49916
a5477a59 499172004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49918
49919 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49920 which initialized BAT registers.
49921 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49922 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49923 Move from here...
49924 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49925 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49926 ... to here.
49927 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49928 (grub_mapclaim): Likewise.
49929 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49930 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49931 hand.
49932
9304c1f8 499332004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49934
49935 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49936 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49937 -ffreestanding and -msoft-float.
49938
86f4ae25 499392004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49940
49941 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49942 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49943 set in grub_ieee1275_flags.
49944
38912228 499452004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49946
49947 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49948 prototype.
49949 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49950 grub_console_init first.
49951 Change the memory range used for grub_ieee1275_claim and
49952 grub_mm_init_region.
49953 Print an error message if the claim fails.
49954 Include <grub/misc.h>.
49955
d1923dc8 499562004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49957
49958 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49959 Call grub_children_iterate for device nodes of type `scsi',
49960 `ide', or `ata'.
49961 (grub_ofdisk_open): Remove manual device alias resolution.
49962 Fix memory leak when device cannot be opened.
f19dbdb7 49963 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49964 (grub_children_iterate): New prototype.
49965 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49966 New function.
49967 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49968 Return -1 if args.size was -1.
49969
4512e4f3 499702004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49971
49972 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49973 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49974 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49975 Open Firmware's memory for it; claim memory from _start to _end.
49976 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49977 (_end): New extern.
49978 (_start): Zero BSS from __bss_start to _end.
49979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49980 New extern.
49981 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49982
4d61feb0 499832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49984
ad0bd20b 49985 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49986 -1 if args.base was -1.
4d61feb0 49987
026fa2f9 499882004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49989
49990 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49991 escape sequence instead of a literal ^L. Also call
49992 grub_ofconsole_gotoxy.
49993
9f2220ef 499942004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49995
49996 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49997 void * arguments to grub_addr_t. All callers updated. Also make
49998 the `result' argument optional.
49999 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50000 All callers updated.
50001
8a572cd7 500022004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50003
50004 * commands/ls.c (grub_ls_list_files): Use the string following the
50005 initial ')', if present, as the filesystem path.
50006 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50007
50008 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50009
18aa81f2 500102004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50011
50012 Make the source code of the menu interface more readable.
f19dbdb7 50013
18aa81f2 50014 * normal/menu.c: Include grub/mm.h.
50015 (TERM_WIDTH): New macro.
50016 (TERM_HEIGHT): Likewise.
50017 (TERM_INFO_HEIGHT): Likewise.
50018 (TERM_MARGIN): Likewise.
50019 (TERM_SCROLL_WIDTH): Likewise.
50020 (TERM_TOP_BORDER_Y): Likewise.
50021 (TERM_LEFT_BORDER_X): Likewise.
50022 (TERM_BORDER_WIDTH): Likewise.
50023 (TERM_MESSAGE_HEIGHT): Likewise.
50024 (TERM_BORDER_HEIGHT): Likewise.
50025 (TERM_NUM_ENTRIES): Likewise.
50026 (TERM_FIRST_ENTRY_Y): Likewise.
50027 (TERM_ENTRY_WIDTH): Likewise.
50028 (TERM_CURSOR_X): Likewise.
50029 (draw_border): Use macros instead of magic numbers.
50030 (print_entry): Likewise.
50031 (print_entries): Likewise.
50032 (run_menu): Likewise. Also, handle the key 'e'.
50033 (run_menu_entry): Ignore empty command lines.
50034 (print_message): Added a new argument EDIT. If EDIT is true,
50035 print a different message.
50036 (init_page): Likewise.
50037 (edit_menu_entry): New function. Not implemented yet.
50038
b47efe30 500392004-09-17 Marco Gerards <metgerards@student.han.nl>
50040
50041 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50042 can be loaded from normal mode.
f19dbdb7 50043
b47efe30 50044 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50045 `multiboot.mod'.
50046 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50047 (multiboot_mod_CFLAGS): New variables.
50048 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50049 * loader/i386/pc/multiboot_normal.c: Likewise.
50050
b47efe30 50051 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50052 attribute `unused'.
f19dbdb7 50053
b47efe30 50054 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50055 `fdiro' to read the mode information from instead of `diro'.
50056
50057 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50058 looking up a symlink.
50059
50060 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50061 macro.
50062 * normal/command.c (grub_command_execute): Don't parse the
50063 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50064 flags of the command.
50065
50066 * normal/menu.c (grub_menu_run): Fix typo.
50067
da75ac71 500682004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50069
50070 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50071
50072 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50073 `y + 1' instead of `y - 1'.
50074
50075 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50076
062b24c2 500772004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50078
50079 From Hollis Blanchard <hollis@penguinppc.org>:
50080 * kern/misc.c (memmove): New alias for grub_memmove.
50081 (memcmp): New alias for grub_memcmp.
50082 (memset): New alias for grub_memset.
f19dbdb7 50083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50084 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50085 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50086 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50087
8ddad845 500882004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50089
50090 Added normal mode command `chainloader' as module chain.mod, which
50091 depends on normal.mod and _chain.mod.
f19dbdb7 50092
8ddad845 50093 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50094 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50095 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50096 Deleted prototype.
50097 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50098 but arguments parsing moved to ...
50099 (grub_chainloader_cmd): ... here. New function.
50100 * include/grub/i386/pc/chainloader.h: New file.
50101 * loader/i386/pc/chainloader_normal.c: Likewise.
50102
2c1f4ce3 501032004-09-11 Marco Gerards <metgerards@student.han.nl>
50104
50105 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50106 (grub_mkimage_LDFLAGS): Likewise.
50107 (grub_emu_SOURCES): Likewise.
50108 (kernel_img_HEADERS): Added fshelp.h.
50109 * fs/ext2.c: Include <grub/fshelp.h>.
50110 (FILETYPE_REG): New macro.
50111 (FILETYPE_INO_REG): Likewise.
50112 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50113 Changed all users.
50114 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50115 all users.
50116 (grub_fshelp_node): New struct.
50117 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50118 to a pointer.
50119 (grub_ext2_get_file_block): Removed function.
50120 (grub_ext2_read_block): New function.
50121 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50122 This function was written.
50123 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50124 (grub_ext2_find_file): Removed function.
50125 (grub_ext2_read_symlink): New function.
50126 (grub_ext2_iterate_dir): Likewise.
50127 (grub_ext2_open): Rewritten.
50128 (grub_ext2_dir): Rewritten.
50129 * include/grub/fshelp.h: New file.
50130 * fs/fshelp.c: Likewise.
50131
3c52136a 501322004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50133
50134 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50135 (print_message): Add a missing newline.
50136 (run_menu): Added timeout support.
50137 (run_menu_entry): New local function.
50138 (grub_menu_run): Added support for booting.
50139
50140 * kern/loader.c (grub_loader_is_loaded): New function.
50141
50142 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50143 (grub_get_rtc): Exported.
50144
50145 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50146 (grub_get_rtc): Exported.
50147
50148 * include/grub/normal.h (struct grub_command_list): Remove
50149 constant from the member `command'.
50150
50151 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50152
50153 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50154
50155 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50156
aa033560 501572004-08-28 Marco Gerards <metgerards@student.han.nl>
50158
50159 Add support for the JFS filesystem.
50160
50161 * fs/jfs.c: New file.
50162 * include/grub/fs.h (grub_jfs_init): New prototype.
50163 (grub_jfs_fini): New prototype.
50164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50165 (grub_emu_SOURCES): Likewise.
50166 (pkgdata_MODULES): Add jfs.mod.
50167 (jfs_mod_SOURCES): New variable.
50168 (jfs_mod_CFLAGS): Likewise.
50169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50170 (grubof_SOURCES): Likewise.
50171 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50172
50173 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50174 endian to the host endian.
50175 (grub_fat_utf16_to_utf8): Move function from there...
50176 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50177 the endianness of the source string anymore.
aa033560 50178 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50179
94bc45af 501802004-08-24 Marco Gerards <metgerards@student.han.nl>
50181
50182 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50183 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50184 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50185 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50186
94bc45af 50187 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50188 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50189 for `node_found' and `it_dir'.
50190 (grub_hfs_dir): Add prototype for `dir_hook'.
50191
50192 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50193 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50194 and `indir32' to silence a gcc warning.
50195
50196 * include/grub/fs.h (grub_hfs_init): New prototype.
50197 (grub_hfs_fini): Likewise.
f19dbdb7 50198
50199
97543f08 502002004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50201
50202 Each disk device has its own id now. This is useful to make use
50203 of multiple disk devices.
f19dbdb7 50204
97543f08 50205 * include/grub/disk.h (grub_disk_dev_id): New enum.
50206 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50207 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50208
50209 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50210 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50211
50212 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50213 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50214
50215 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50216 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50217
50218 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50219 "id" which is used by the cache manager.
50220
50221 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50222 of just "GRUB".
50223
64372eb4 502242004-08-18 Marco Gerards <metgerards@student.han.nl>
50225
50226 * fs/hfs.c: New file.
50227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50228 (grub_emu_SOURCES): Likewise.
50229 (pkgdata_MODULES): Add hfs.mod.
50230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50231 (grubof_SOURCES): Likewise.
50232 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50233
50234 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50235 * kern/misc.c (grub_strncasecmp): Add function.
50236
cc61b58f 502372004-08-14 Marco Gerards <metgerards@student.han.nl>
50238
50239 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50240 with parentheses.
50241
50242 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50243 (grub_ext2_dir): In case the directory entry type is unknown, read
50244 it from the inode.
50245
0ef123f6 502462004-08-02 Peter Bruin <pjbruin@dds.nl>
50247
50248 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50249 grub_load_linux instead of grub_rescue_cmd_linux as second
50250 argument of grub_rescue_register_command.
50251
50252 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50253
a447c5df 502542004-07-27 Marco Gerards <metgerards@student.han.nl>
50255
50256 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50257 function.
50258 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50259 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50260 `loader/powerpc/ieee1275/linux.c',
50261 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50262 * include/grub/powerpc/ieee1275/ieee1275.h
50263 (grub_ieee1275_release): New prototype.
50264 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50265 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50266 normal, boot, linux and linux_normal.
50267 * loader/powerpc/ieee1275/linux.c: New file.
50268 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50269
5a9e3546 502702004-07-12 Marco Gerards <metgerards@student.han.nl>
50271
50272 * normal/arg.c (grub_arg_parse): Correct error handling after
50273 reallocating the argumentlist (check if `argl' is not null instead
50274 of checking if `args' is not null).
50275 * kern/mm.c (grub_realloc): Return the same pointer when using the
50276 same region, instead of returning the header address.
50277
e15199cb 502782004-07-11 Marco Gerards <metgerards@student.han.nl>
50279
50280 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50281 one block instead of two when looking for the initial partition.
50282 (grub_partition_probe): Initialize the local variable `p' with 0.
50283 Use base 10 for the grub_strtoul call.
50284 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50285 need for one local variable.
50286 (grub_strtoul): Don't add the new value to `num', instead of that
50287 just assign it.
50288
020616c2 502892004-07-11 Marco Gerards <metgerards@student.han.nl>
50290
50291 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50292 (pxeboot_img_SOURCES): New variable.
50293 (pxeboot_img_ASFLAGS): Likewise.
50294 (pxeboot_img_LDFLAGS): Likewise.
50295 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50296 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50297 <lode_leroy@hotmail.com>.
50298
6c51eb64 502992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50300
50301 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50302 there was no input.
50303
cfb12aff 503042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50305
50306 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50307 the history buffer logic.
50308
6eabba74 503092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50310
50311 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50312 (FILETYPE_INO_SYMLINK): New macros.
50313 (grub_ext2_find_file): Check if the node is a directory using the
50314 inode stat information instead of using the filetype in the
50315 dirent. Exclude the first character of an absolute symlink.
50316 (grub_ext2_dir): Mask out the filetype part of the mode member of
50317 the inode.
50318
66e19ef8 503192004-05-24 Marco Gerards <metgerards@student.han.nl>
50320
50321 Add support for UFS version 1 and 2. Add support for the minix
50322 filesystem version 1 and 2, both the variants with 14 and 30 long
50323 filenames.
f19dbdb7 50324
66e19ef8 50325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50326 fs/minix.c.
50327 (grub_emu_SOURCES): Likewise.
50328 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50329 (ufs_mod_SOURCES): New variable.
50330 (ufs_mod_CFLAGS): Likewise.
50331 (minix_mod_SOURCES): Likewise.
50332 (minix_mod_CFLAGS): Likewise.
50333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50334 fs/minix.c.
50335 (grubof_SOURCES): Likewise.
50336 * fs/ufs.c: New file.
50337 * fs/minix.c: New file.
50338 * include/grub/fs.h (grub_ufs_init): New prototype.
50339 (grub_ufs_fini): Likewise.
50340 (grub_minix_init): Likewise.
50341 (grub_minix_fini): Likewise.
50342 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50343 minix fs.
50344
cc2e748a 503452004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50346
50347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50348 commands/ls.c, commands/terminal.c, commands/boot.c,
50349 commands/cmp.c and commands/cat.c.
50350 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50351
50352 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50353 "env.h"
50354
4b13b216 503552004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50356
50357 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50358 and grub_, respectively. Because the conversion is trivial and
50359 mechanical, I omit the details here. Please refer to the CVS
50360 if you need more information.
50361
6a142551 503622004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50363
50364 * include/pupa: Renamed to ...
50365 * include/grub: ... this.
50366 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50367 * util/i386/pc/grub-mkimage.c: ... this.
50368 * util/i386/pc/pupa-setup.c: Renamed to ...
50369 * util/i386/pc/grub-setup.c: ... this.
50370 * util/pupa-emu.c: Renamed to ...
50371 * util/grub-emu.c: ... this.
50372
e56cdf21 503732004-03-29 Marco Gerards <metgerards@student.han.nl>
50374
50375 Add support for the newworld apple macintosh (PPC). This has been
50376 tested on the powerbook 2000 only. It only adds support for
50377 generic ieee1275 functions, console and disk support. This should
50378 be easy to port to other architectures with support for Open
50379 Firmware.
f19dbdb7 50380
e56cdf21 50381 * configure.ac: Accept the powerpc as host_cpu. In the case of
50382 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50383 specific tests are only executed while building for the i386.
50384 Inverse test for crosscompile.
50385 * genmk.rb (Utility): Allow assembler files.
50386 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50387 * conf/powerpc-ieee1275.rmk: New file.
50388 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50389 * disk/powerpc/ieee1275/partition.c: Likewise.
50390 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50391 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50392 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50393 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50394 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50395 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50396 * include/pupa/powerpc/ieee1275/loader.h
50397 * include/pupa/powerpc/setjmp.h: Likewise.
50398 * include/pupa/powerpc/types.h: Likewise.
50399 * kern/powerpc/ieee1275/init.c: Likewise.
50400 * kern/powerpc/ieee1275/openfw.c: Likewise.
50401 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50402
50403 These files were written by Johan Rydberg
50404 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50405
e56cdf21 50406 * boot/powerpc/ieee1275/cmain.c: New file.
50407 * boot/powerpc/ieee1275/crt0.S: Likewise.
50408 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50409 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50410
8c8cc205 504112004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50412
50413 * Makefile.in: Update copyright.
50414 * genmodsrc.sh: Likewise.
50415 * gensymlist.sh: Likewise.
50416 * term/i386/pc/vga.c: Indent correctly.
50417
50418 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50419 bugreporting address.
50420 * util/i386/pc/pupa-setup.c (usage): Likewise,
50421 (main): Call pupa_ext2_init and pupa_ext2_fini.
50422
f19dbdb7 50423 * fs/fat.c (log2): Renamed to ...
8c8cc205 50424 (fat_log2): ... this.
50425 All callers changed.
50426 * kern/misc.c (memcpy): Alias to pupa_memmove.
50427 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50428 lvalue cast.
50429 * util/console.c (pupa_ncurses_fini): Return 0.
50430
50431 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50432 Move fail label here.
50433 [__GNU__]: Don't warn when using stat.
50434 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50435 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50436 long int. Use strtol instead of strtoul.
f19dbdb7 50437
db1771cf 504382004-03-14 Marco Gerards <metgerards@student.han.nl>
50439
50440 * commands/boot.c: New file.
50441 * commands/cat.c: Likewise.
50442 * commands/cmp.c: Likewise.
50443 * commands/ls.c: Likewise.
50444 * commands/terminal.c: Likewise.
50445 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50446 (pupa_register_command): Changed interface to match the new
50447 argument parser.
50448 (pupa_command_execute): Changed (almost rewritten) so it uses
50449 pupa_split_command. Added support for setting variables using the
50450 syntax `foo=bar'.
50451 (rescue_command): Changed to work with the new argument parser.
50452 (terminal_command): Moved from here to commands/terminal.c.
50453 (set_command): New function.
50454 (unset_command): New function.
50455 (insmod_command): New function.
50456 (rmmod_command): New function.
50457 (lsmod_command): New function.
50458 (pupa_command_init): Don't initialize the command terminal
50459 anymore. Initialize the commands set, unset, insmod, rmmod and
50460 lsmod.
50461 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50462 (kernel_img_HEADERS): Add arg.h and env.h.
50463 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50464 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50465 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50466 normal/arg.c.
50467 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50468 terminal.mod.
50469 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50470 (boot_mod_SOURCES): New variable.
50471 (terminal_mod_SOURCES): Likewise.
50472 (ls_mod_SOURCES): Likewise.
50473 (cmp_mod_SOURCES): Likewise.
50474 (cat_mod_SOURCES): Likewise.
50475
50476 * normal/arg.c: New file.
50477 * kern/env.c: Likewise.
50478 * include/pupa/arg.h: Likewise.
50479 * include/pupa/env.h: Likewise.
50480 * font/manager.c (font_command): Changed to match argument parsing
50481 interface changes.
50482 (PUPA_MOD_INIT): Likewise.
50483 * hello/hello.c (pupa_cmd_hello): Likewise.
50484 (PUPA_MOD_INIT): Likewise.
50485 * include/pupa/disk.h: Include <pupa/device.h>.
50486 (pupa_print_partinfo): New prototype.
50487 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50488 (pupa_dl_get_prefix): Likewise.
50489 * include/pupa/misc.h: Include <pupa/err.h>.
50490 (pupa_isgraph): New prototype.
50491 (pupa_isdigit): Likewise.
50492 (pupa_split_cmdline): Likewise.
50493 * include/pupa/normal.h: Include <pupa/arg.h>.
50494 (pupa_command): Changed the prototype of the member `func' to
50495 match the argument parsing interface. Added member `options'.
50496 (pupa_register_command): Updated to match function.
50497 (pupa_arg_parse): New prototype.
50498 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50499 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50500 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50501 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50502 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50503 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50504 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50505 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50506 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50507 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50508 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50509 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50510 * kern/disk.c: Include <pupa/file.h>.
50511 (pupa_print_partinfo): New function.
50512 * kern/dl.c: Include <pupa/env.h>.
50513 (pupa_dl_dir): Variable removed.
50514 (pupa_dl_load): Use the environment variable `prefix' instead of
50515 the variable pupa_dl_dir.
50516 (pupa_dl_set_prefix): Function removed.
50517 (pupa_dl_get_prefix): Likewise.
50518 * kern/i386/pc/init.c: Include <pupa/env.h>.
50519 (pupa_machine_init): Use the environment variable `prefix' instead of
50520 using pupa_dl_set_prefix to set the prefix.
50521 * kern/main.c: Include <pupa/env.h>.
50522 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50523 using pupa_dl_get_prefix to get the prefix.
50524 * kern/misc.c: Include <pupa/env.h>.
50525 (pupa_isdigit): New function.
50526 (pupa_isgraph): Likewise.
50527 (pupa_ftoa): Likewise.
50528 (pupa_vsprintf): Added support for printing values of the type
50529 `double'. Make it possible to format variable output when using
50530 formatting like `%1.2%f'.
50531 (pupa_split_cmdline): New function.
50532 * kern/rescue.c: Include <pupa/env.h>.
50533 (next_word): Removed function.
50534 (pupa_rescue_cmd_prefix): Likewise.
50535 (pupa_rescue_cmd_set): New function.
50536 (pupa_rescue_cmd_unset): New function.
50537 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50538 split the command line instead of splitting it here. Added
50539 support for setting variables using the syntax `foo=bar'. Don't
50540 initialize the prefix command anymore. Initialized the set and
50541 unset commands.
50542 * normal/cmdline.c: Include <pupa/env.h>.
50543 (pupa_tab_complete): Added prototypes for print_simple_completion,
50544 print_partition_completion, add_completion, iterate_commands,
50545 iterate_dev, iterate_part and iterate_dir. Moved code to print
50546 partition information from here to kern/disk.c.
fe6b695a 50547 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50548 * normal/main.c: Include <pupa/env.h>.
50549 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50550 instead of using pupa_dl_get_prefix to get the prefix.
50551 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50552 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50553 warning.
50554 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50555 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50556 ((unused))' to silence a gcc warning.
50557 (pupa_vga_setcolor): Likewise.
50558 (debug_command): Changed to match argument parsing
50559 interface changes.
50560 * util/pupa-emu.c: Include <pupa/env.h>.
50561 (options): Added 0's for unused fields to silence a gcc warning.
50562 (argp): Likewise.
50563 (main): Use the environment variable `prefix' instead of using
50564 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50565 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50566 and terminal.
50567
50568 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50569 * util/misc.c: Include <malloc.h>.
50570 (pupa_malloc): Rewritten so errors are correctly reported.
50571 (pupa_realloc): Likewise.
50572 (pupa_memalign): Likewise.
50573 (pupa_mm_init_region): Declare unused variables with
50574 `__attribute__ ((unused))' to silence a gcc warning.
50575 * normal/i386/setjmp.S: Remove tab at the end of the file to
50576 silence a gcc warning.
50577 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50578 variables with `__attribute__ ((unused))' to silence a gcc
50579 warning.
50580 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50581 local variable i unsigned to silence a gcc warning.
50582
50583 * kern/term.c: Include <pupa/misc.h>.
50584 (pupa_more_lines): New variable.
50585 (pupa_more): Likewise.
50586 (pupa_putcode): When the pager is active pause at the end of every
50587 screen.
50588 (pupa_set_more): New function.
50589 * include/pupa/term.h (pupa_set_more): New prototype.
50590
50591
3b1139cb 505922004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50593
50594 Now this project is GRUB 2 rather than PUPA. The location of
50595 the CVS repository was moved to GRUB's.
f19dbdb7 50596
3b1139cb 50597 * configure.ac: Use bug-grub as the reporting address.
50598 Use GRUB instead of PUPA.
50599 Change the version number to 1.90.
50600
8367695c 506012004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50602
50603 * genkernsyms.sh: Updated copyright information.
50604 * genmk.rb: Likewise.
50605 * genmodsrc.sh: Likewise.
50606 * gensymlist.sh: Likewise.
50607 * boot/i386/pc/boot.S: Likewise.
50608 * boot/i386/pc/diskboot.S: Likewise.
50609 * disk/i386/pc/biosdisk.c: Likewise.
50610 * disk/i386/pc/partition.c: Likewise.
50611 * font/manager.c: Likewise.
50612 * fs/ext2.c: Likewise.
50613 * fs/fat.c: Likewise.
50614 * include/pupa/boot.h: Likewise.
50615 * include/pupa/device.h: Likewise.
50616 * include/pupa/disk.h: Likewise.
50617 * include/pupa/dl.h: Likewise.
50618 * include/pupa/elf.h: Likewise.
50619 * include/pupa/err.h: Likewise.
50620 * include/pupa/file.h: Likewise.
50621 * include/pupa/font.h: Likewise.
50622 * include/pupa/fs.h: Likewise.
50623 * include/pupa/kernel.h: Likewise.
50624 * include/pupa/loader.h: Likewise.
50625 * include/pupa/misc.h: Likewise.
50626 * include/pupa/mm.h: Likewise.
50627 * include/pupa/net.h: Likewise.
50628 * include/pupa/normal.h: Likewise.
50629 * include/pupa/rescue.h: Likewise.
50630 * include/pupa/setjmp.h: Likewise.
50631 * include/pupa/symbol.h: Likewise.
50632 * include/pupa/term.h: Likewise.
50633 * include/pupa/types.h: Likewise.
50634 * include/pupa/i386/setjmp.h: Likewise.
50635 * include/pupa/i386/types.h: Likewise.
50636 * include/pupa/i386/pc/biosdisk.h: Likewise.
50637 * include/pupa/i386/pc/boot.h: Likewise.
50638 * include/pupa/i386/pc/console.h: Likewise.
50639 * include/pupa/i386/pc/init.h: Likewise.
50640 * include/pupa/i386/pc/kernel.h: Likewise.
50641 * include/pupa/i386/pc/linux.h: Likewise.
50642 * include/pupa/i386/pc/loader.h: Likewise.
50643 * include/pupa/i386/pc/memory.h: Likewise.
50644 * include/pupa/i386/pc/multiboot.h: Likewise.
50645 * include/pupa/i386/pc/partition.h: Likewise.
50646 * include/pupa/i386/pc/time.h: Likewise.
50647 * include/pupa/i386/pc/vga.h: Likewise.
50648 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50649 * include/pupa/util/getroot.h: Likewise.
50650 * include/pupa/util/misc.h: Likewise.
50651 * include/pupa/util/resolve.h: Likewise.
50652 * kern/device.c: Likewise.
50653 * kern/disk.c: Likewise.
50654 * kern/dl.c: Likewise.
50655 * kern/err.c: Likewise.
50656 * kern/file.c: Likewise.
50657 * kern/fs.c: Likewise.
50658 * kern/loader.c: Likewise.
50659 * kern/main.c: Likewise.
50660 * kern/misc.c: Likewise.
50661 * kern/mm.c: Likewise.
50662 * kern/rescue.c: Likewise.
50663 * kern/term.c: Likewise.
50664 * kern/i386/dl.c: Likewise.
50665 * kern/i386/pc/init.c: Likewise.
50666 * kern/i386/pc/lzo1x.S: Likewise.
50667 * kern/i386/pc/startup.S: Likewise.
50668 * loader/i386/pc/chainloader.c: Likewise.
50669 * loader/i386/pc/linux.c: Likewise.
50670 * loader/i386/pc/multiboot.c: Likewise.
50671 * normal/cmdline.c: Likewise.
50672 * normal/command.c: Likewise.
50673 * normal/main.c: Likewise.
50674 * normal/menu.c: Likewise.
50675 * normal/i386/setjmp.S: Likewise.
50676 * term/i386/pc/console.c: Likewise.
50677 * term/i386/pc/vga.c: Likewise.
50678 * util/console.c: Likewise.
50679 * util/genmoddep.c: Likewise.
50680 * util/misc.c: Likewise.
50681 * util/pupa-emu.c: Likewise.
50682 * util/resolve.c: Likewise.
50683 * util/unifont2pff.rb: Likewise.
50684 * util/i386/pc/biosdisk.c: Likewise.
50685 * util/i386/pc/getroot.c: Likewise.
50686 * util/i386/pc/pupa-mkimage.c: Likewise.
50687 * util/i386/pc/pupa-setup.c: Likewise.
50688
e6eced71 506892004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50690
50691 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50692 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50693 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50694 reading and reset it after reading.
50695 (pupa_ext2_close): Return PUPA_ERR_NONE.
50696
50697 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50698 Correct value.
50699 (struct linux_kernel_header): Add kernel_version and
50700 initrd_addr_max.
50701 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50702 pupa_file_read succeeds.
50703 (pupa_rescue_cmd_initrd): Implement.
50704
5aded270 507052003-12-03 Marco Gerards <metgerards@student.han.nl>
50706
50707 * fs/ext2.c (pupa_ext2_label): New function.
50708 (pupa_ext2_fs): Added label.
50709 * fs/fat.c (pupa_fat_label): New function.
50710 (pupa_fat_fs): Added label.
50711 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50712
50713 * kern/misc.c (pupa_strndup): New function.
50714 * include/pupa/misc.h (pupa_strndup): New prototype.
50715
50716 * include/pupa/normal.h: Include <pupa/err.h>.
50717 (pupa_set_history): New prototype.
50718 (pupa_iterate_commands): New prototype.
50719 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50720 <pupa/disk.h>, <pupa/file.h>.
50721 (hist_size): New variable.
50722 (hist_lines): Likewise.
50723 (hist_end): Likewise.
50724 (hist_used): Likewise.
50725 (pupa_set_history): New function.
50726 (pupa_history_get): Likewise.
50727 (pupa_history_add): Likewise.
50728 (pupa_history_replace): Likewise.
50729 (pupa_tab_complete): Likewise.
50730 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50731 completion shows partitionnames while completing partitions, this
50732 feature was suggested by Jeff Bailey.
50733 * normal/command.c (pupa_iterate_commands): New function.
50734 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50735 (pupa_normal_init): Initialize history buffer.
50736 (PUPA_MOD_INIT): Likewise.
50737 (pupa_normal_fini): Free the history buffer.
50738 (PUPA_MOD_FINI): Likewise.
50739
50740 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50741 key.
50742
50743 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50744 * configure.ac [i386]: Check for regparam bug.
50745 (NESTED_FUNC_ATTR) [! i386]: Defined.
50746
1f7315a3 507472003-11-17 Marco Gerards <metgerards@student.han.nl>
50748
50749 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50750 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50751 (pupa_emu_SOURCES): New variable.
50752 (pupa_emu_LDFLAGS): Likewise.
50753 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50754 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50755 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50756 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50757 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50758 (pupa_jmp_buf): New typedef.
50759 (pupa_setjmp) [PUPA_UTIL]: New macro.
50760 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50761 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50762 (pupa_refresh): New prototype.
50763 * include/pupa/util/getroot.h: New file.
50764 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50765 it.
50766 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50767 (pupa_rescue_cmd_cat): Likewise.
50768 (pupa_rescue_cmd_ls): Likewise.
50769 (pupa_rescue_cmd_testload): Likewise.
50770 (pupa_rescue_cmd_lsmod): Likewise.
50771 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50772 * normal/menu.c (run_menu): Likewise.
50773 * kern/term.c (pupa_cls): Likewise.
50774 (pupa_refresh): New function.
50775 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50776 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50777 * util/console.c: New file.
f19dbdb7 50778
1f7315a3 50779 * util/i386/pc/getroot.c: New file.
50780 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50781 (pupa_putchar): New function.
50782 (pupa_refresh): Likewise.
50783 (xgetcwd): Function moved to ...
50784 (strip_extra_slashes): Likewise.
50785 (get_prefix): Likewise.
f19dbdb7 50786 * util/i386/pc/getroot.c: ... here.
1f7315a3 50787 (find_root_device): Function moved and renamed to...
50788 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50789 Changed all callers.
50790 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50791 and renamed to...
50792 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50793 Changed all callers.
50794 * util/misc.c (pupa_memalign): New function.
50795 (pupa_mm_init_region): Likewise.
50796 (pupa_register_exported_symbols): Likewise.
50797 (pupa_putchar): Function removed.
50798 * util/pupa-emu.c: New file.
50799
9a5c1ade 508002003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50801
50802 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50803 (_multiboot_mod_SOURCES): New variable.
50804 (_multiboot_mod_CFLAGS): Likewise.
50805 * loader/i386/pc/multiboot.c: New file.
50806 * include/pupa/i386/pc/multiboot.h: Likewise.
50807 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50808 (pupa_multiboot_real_boot): New function.
50809 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50810 (pupa_multiboot_real_boot): New prototype.
50811 (pupa_rescue_cmd_multiboot): Likewise
50812 (pupa_rescue_cmd_module): Likewise.
50813
50814 * kern/loader.c (pupa_loader_set): Continue when
50815 pupa_loader_unload_func() fails.
50816 (pupa_loader_unset): New function.
50817 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50818
50819 * kern/misc.c (pupa_stpcpy): New function.
50820 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50821
8e72a9c0 508222003-11-12 Marco Gerards <metgerards@student.han.nl>
50823
50824 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50825 for available extensions.
50826
50827 * include/pupa/i386/pc/time.h: New file.
50828 * kern/disk.c: Include <pupa/machine/time.h>.
50829 (PUPA_CACHE_TIMEOUT): New macro.
50830 (pupa_last_time): New variable.
50831 (pupa_disk_open): Flush the cache when there was a timeout.
50832 (pupa_disk_close): Reset the timer.
50833 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50834 pupa_currticks.
50835 * util/misc.c: Include <sys/times.h>
50836 (pupa_get_rtc): New function.
50837
c4adbd32 508382003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50839
50840 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50841 as blocks.
50842 (pupa_ext2_get_file_block): Use blocks member.
50843
50844 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50845 first block. Return -1 instead of pupa_errno on error.
50846
bfd30f06 508472003-10-27 Marco Gerards <metgerards@student.han.nl>
50848
50849 * README: In the pupa-mkimage example use _chain instead of chain
50850 and ext2 instead of fat.
50851 * TODO: Replace ext2fs with jfs as an example. Add an item for
50852 adding journal playback for ext2fs.
50853 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50854 (pkgdata_MODULES): Added ext2.mod.
50855 (ext2_mod_SOURCES): New variable.
50856 (ext2_mod_CFLAGS): Likewise.
50857 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50858 * include/pupa/misc.h (pupa_strncpy): New prototype.
50859 (pupa_strcat): Likewise.
50860 (pupa_strncmp): Likewise.
50861 * kern/misc.c (pupa_strcat): Enable function.
50862 (pupa_strncpy): New function.
50863 (pupa_strncmp): Likewise.
50864 * fs/ext2.c: New file.
f19dbdb7 50865
bfd30f06 50866 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50867 when the read failed before retrying.
50868 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50869 (_FILE_OFFSET_BITS): Likewise.
50870 * configure.ac: Added AC_SYS_LARGEFILE.
50871
98d15063 508722003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50873
50874 * genmk.rb (PModule#rule): Make sure to get only symbol names
50875 from the output of nm.
59cad637 50876 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50877
18d9c7cd 508782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50879
50880 I forgot to check in these changes for a long time. This adds
50881 incomplete support for VGA console, and this is still very
50882 buggy. Also, a lot of consideration is required for I18N,
50883 UNICODE, and VGA font issues. Therefore, assume that this is
50884 such that "better than nothing".
f19dbdb7 50885
18d9c7cd 50886 * font/manager.c: New file.
50887 * include/pupa/font.h: Likewise.
50888 * include/pupa/i386/pc/vga.h: Likewise.
50889 * term/i386/pc/vga.c: Likewise.
50890 * util/unifont2pff.rb: Likewise.
50891
50892 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50893 (pkgdata_MODULES): Added vga.mod and font.mod.
50894 (vga_mod_SOURCES): New variables.
50895 (vga_mod_CFLAGS): Likewise.
50896 (font_mod_SOURCES): Likewise.
50897 (font_mod_CFLAGS): Likewise.
50898
50899 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50900
50901 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50902 (struct pupa_term): Added init and fini.
18d9c7cd 50903 Changed the argument of putchar to pupa_uint32_t.
50904
50905 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50906 (pupa_console_real_putchar): New prototype.
50907 (pupa_console_putchar): Removed.
50908 (pupa_console_checkkey): Exported.
50909 (pupa_console_getkey): Likewise.
50910
50911 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50912 characters.
50913
50914 * kern/term.c (pupa_term_set_current): Rewritten.
50915 (pupa_putchar): Likewise.
50916 (pupa_putcode): New function.
50917
50918 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50919 (pupa_console_real_putchar): ... this.
50920 (pupa_vga_set_mode): New function.
50921 (pupa_vga_get_font): Likewise.
50922
50923 * normal/command.c: Include pupa/term.h.
50924 (terminal_command): New function.
50925 (pupa_command_init): Register the command "terminal".
50926
50927 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50928 (DISP_UP): Likewise.
50929 (DISP_RIGHT): Likewise.
50930 (DISP_DOWN): Likewise.
50931 (DISP_HLINE): Likewise.
50932 (DISP_VLINE): Likewise.
50933 (DISP_UL): Likewise.
50934 (DISP_UR): Likewise.
50935 (DISP_LL): Likewise.
50936 (DISP_LR): Likewise.
50937
50938 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50939
977329f5 509402003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50941
50942 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50943 FIX. Reverse the path_list.
50944
50945 * include/pupa/normal.h: Export pupa_register_command and
50946 pupa_unregister_command.
50947
50948 * hello/hello.c (pupa_cmd_hello): New module.
50949 * conf/i386-pc.rmk: Added hello.mod.
50950
1f5ab428 509512003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50952
50953 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50954
1f5ab428 50955 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50956 (compress_kernel): New variable.
50957 (generate_image): Heavily modified to support compressing a
50958 large part of the core image.
50959
50960 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50961 leak.
50962 (pupa_util_load_image): New function.
50963
50964 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50965 (pupa_compressed_size): New variable.
50966 (codestart): Enable Gate A20 here.
50967 Decompress the compressed part of the core image.
50968 Rearrange the code to put functions and variables which are
50969 required for initialization in the non-compressed part.
50970 Include lzo1x.S.
50971
50972 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50973 here.
50974
50975 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50976
f19dbdb7 50977 * include/pupa/i386/pc/kernel.h
1f5ab428 50978 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50979 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50980 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50981 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50982 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50983
50984 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50985
50986 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50987 (Utility#rule): Likewise.
50988
50989 * configure.ac: Check if LZO is available.
50990
ce5bf700 509912003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50992
50993 * include/pupa/normal.h: New file.
50994 * include/pupa/setjmp.h: Likewise.
50995 * include/pupa/i386/setjmp.h: Likewise.
50996 * normal/cmdline.c: Likewise.
50997 * normal/command.c: Likewise.
50998 * normal/main.c: Likewise.
50999 * normal/menu.c: Likewise.
51000 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51001
ce5bf700 51002 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51003 (pupa_rescue_cmd_initrd): Likewise.
51004
51005 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51006 Likewise.
51007
51008 * kern/i386/pc/startup.S (translation_table): New variable.
51009 (translate_keycode): New function.
51010 (pupa_console_getkey): Call translate_keycode.
51011
51012 * kern/rescue.c (attempt_normal_mode): New function.
51013 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51014 it failed, print a message.
51015
51016 * kern/mm.c (pupa_real_malloc): Print more information when a
51017 free magic is broken.
51018 (pupa_free): If the first free header is not free actually, set
51019 it to P.
51020
51021 * kern/main.c (pupa_load_normal_mode): Just load the module
51022 "normal".
51023 (pupa_main): Don't print the message
51024 "Entering into rescue mode..." here.
51025
51026 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51027 Declared.
51028 (pupa_rescue_cmd_initrd): Likewise.
51029 (pupa_rescue_cmd_initrd): Likewise.
51030
51031 * include/pupa/symbol.h (FUNCTION): Specify the type.
51032 (VARIABLE): Likewise.
51033
51034 * include/pupa/err.h (pupa_err_t): Added
51035 PUPA_ERR_UNKNOWN_COMMAND.
51036
51037 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51038 (pupa_dl_get_prefix): Likewise.
51039
51040 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51041 Added _chain.mod and _linux.mod instead of chain.mod and
51042 linux.mod.
51043 (chain_mod_SOURCES): Renamed to ...
51044 (_chain_mod_SOURCES): ... this.
51045 (chain_mod_CFLAGS): Renamed to ...
51046 (_chain_mod_CFLAGS): ... this.
51047 (linux_mod_SOURCES): Renamed to ...
51048 (_linux_mod_SOURCES): ... this.
51049 (linux_mod_CFLAGS): Renamed to ...
51050 (_linux_mod_CFLAGS): ... this.
51051 (normal_mod_SOURCES): New variable.
51052 (normal_mod_CFLAGS): Likewise.
51053 (normal_mod_ASFLAGS): Likewise.
51054
510552003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51056
51057 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51058 possible.
51059
fe6b695a 51060 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51061 recursively.
51062 (pupa_dl_unref): Unrefer depending modules recursively.
51063 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51064 a module is unloaded before one depending on that module is
51065 unloaded.
51066 (pupa_dl_unload): Unload depending modules explicitly,
51067 if possible.
51068
c04da074 510692003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51070
51071 * include/pupa/i386/pc/linux.h: New file.
51072 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51073
c04da074 51074 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51075 Removed.
51076 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51077 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51078 of PUPA_CHAINLOADER_BOOT_SECTOR.
51079
51080 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51081 (pupa_linux_prot_size): New variable.
51082 (pupa_linux_tmp_addr): Likewise.
51083 (pupa_linux_real_addr): Likewise.
51084 (pupa_linux_boot_zimage): New function.
51085 (pupa_linux_boot_bzimage): Likewise.
51086
51087 * kern/i386/pc/init.c (struct mem_region): New structure.
51088 (MAX_REGIONS): New macro.
51089 (mem_regions): New variable.
51090 (num_regions): Likewise.
51091 (pupa_os_area_addr): Likewise.
51092 (pupa_os_area_size): Likewise.
51093 (pupa_lower_mem): Likewise.
51094 (pupa_upper_mem): Likewise.
51095 (add_mem_region): New function.
51096 (compact_mem_regions): Likewise.
51097 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51098 the size of the conventional memory and that of so-called upper
51099 memory (before the first memory hole).
51100 Instead of adding each found region to free memory, use
51101 add_mem_region and add them after removing overlaps.
51102 Also, add only 1/4 of the upper memory to free memory. The rest
51103 is used for loading OS images. Maybe this is ad hoc, but this
51104 makes it much easier to relocate OS images when booting.
51105
51106 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51107 (pupa_enter_rescue_mode): Don't register initrd and module.
51108
51109 * kern/mm.c: Include pupa/dl.h.
51110
51111 * kern/main.c: Include pupa/file.h and pupa/device.h.
51112
51113 * kern/loader.c (pupa_loader_load_module_func): Removed.
51114 (pupa_loader_load_module): Likewise.
51115
51116 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51117 ``.o''.
51118
51119 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51120 (pupa_linux_tmp_addr): Likewise.
51121 (pupa_linux_real_addr): Likewise.
51122 (pupa_linux_boot_zimage): Likewise.
51123 (pupa_linux_boot_bzimage): Likewise.
51124
51125 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51126 (pupa_upper_mem): Likewise.
51127 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51128 module is too dangerous.
51129
51130 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51131 (pupa_os_area_size): Likewise.
51132 (pupa_loader_set): Remove the first argument. Loader doesn't
51133 manage modules or initrd any longer.
51134 (pupa_loader_load_module): Removed.
51135
51136 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51137 (linux_mod_SOURCES): New variable.
51138 (linux_mod_CFLAGS): Likewise.
51139
a13f9237 511402003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51141
51142 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51143 the length of a blocklist correctly.
51144
51145 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51146 Use ioctl only if the OS file is a block device.
51147 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51148 not very useful for normal files.
51149
51150 * kern/main.c (pupa_set_root_dev): New function.
51151 (pupa_load_normal_mode): Likewise.
51152 (pupa_main): Call those above.
51153
51154 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51155 pupa_uint16_t.
51156
51157 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51158
a5ffe966 511592003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51160
51161 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51162 (setup): Configure the installed partition information and the
51163 dl prefix.
51164
51165 * loader/i386/pc/chainloader.c (my_mod): New variable.
51166 (pupa_chainloader_unload): New function.
51167 (pupa_rescue_cmd_chainloader): Refer itself.
51168 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51169
51170 * kern/i386/pc/startup.S (install_partition): Removed.
51171 (version_string): Likewise.
51172 (config_file): Likewise.
51173 (pupa_install_dos_part): New variable.
51174 (pupa_install_bsd_part): Likewise.
51175 (pupa_prefix): Likewise.
51176 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51177
51178 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51179 and pupa/misc.h.
51180 (make_install_device): New function.
51181 (pupa_machine_init): Set the dl prefix.
51182
51183 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51184 (buf): Renamed to ...
51185 (linebuf): ... this.
51186 (pupa_rescue_cmd_prefix): New function.
51187 (pupa_rescue_cmd_insmod): Likewise.
51188 (pupa_rescue_cmd_rmmod): Likewise.
51189 (pupa_rescue_cmd_lsmod): Likewise.
51190 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51191 rmmod and lsmod.
51192
51193 * kern/mm.c (pupa_memalign): If failed even after invalidating
51194 disk caches, unload unneeded modules and retry.
51195
51196 * kern/misc.c (pupa_memmove): New function.
51197 (pupa_memcpy): Removed.
51198 (pupa_strcpy): New function.
51199 (pupa_itoa): Made static.
51200
51201 * kern/dl.c (pupa_dl_iterate): New function.
51202 (pupa_dl_ref): Likewise.
51203 (pupa_dl_unref): Likewise.
51204 (pupa_dl_unload): Return if succeeded or not.
51205 (pupa_dl_unload_unneeded): New function.
51206 (pupa_dl_unload_all): Likewise.
51207 (pupa_dl_init): Renamed to ...
51208 (pupa_dl_set_prefix): ... this.
51209 (pupa_dl_get_prefix): New function.
51210
51211 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51212 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51213 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51214 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51215 (pupa_install_dos_part): Declared.
51216 (pupa_install_bsd_part): Likewise.
51217 (pupa_prefix): Likewise.
51218 (pupa_boot_drive): Likewise.
51219
51220 * include/pupa/types.h: Fix a typo.
51221
51222 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51223 pupa_memmove.
51224 (pupa_memmove): Declared.
51225 (pupa_strcpy): Likewise.
51226
51227 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51228 pupa_mod_init takes one argument, its own module.
51229 (pupa_dl_unload_unneeded): Declared.
51230 (pupa_dl_unload_all): Likewise.
51231 (pupa_dl_ref): Likewise.
51232 (pupa_dl_unref): Likewise.
51233 (pupa_dl_iterate): Likewise.
51234 (pupa_dl_init): Renamed to ...
51235 (pupa_dl_set_prefix): ... this.
51236 (pupa_dl_get_prefix): Declared.
51237
51238 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51239 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51240 unloaded.
51241 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51242 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51243
51244 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51245 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51246
012d7999 512472003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51248
51249 * util/i386/pc/pupa-setup.c (setup): Define the internal
51250 function find_first_partition_start at the top level, because GCC
51251 3.0.x cannot compile internal functions in deeper scopes
51252 correctly.
51253 (find_root_device): Use lstat instead of stat.
51254 Don't follow symbolic links.
51255 Fix the path-constructing code.
51256
51257 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51258 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51259 by a BLKGETSIZE ioctl first, because block devices don't fill
51260 the member st_mode of the structure stat on Linux.
51261 [__linux__] (linux_find_partition): Use a temporary buffer
51262 REAL_DEV for the working space. Copy it to DEV before returning.
51263 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51264 buffer cache consistent.
51265 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51266 strncmp. The previous value was merely wrong.
51267 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51268
51269 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51270 FAT size is 12. The previous value was merely wrong.
51271
51272 * kern/main.c (pupa_main): Don't split the starting message from
51273 newlines.
51274
51275 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51276 LF, because BIOS goes crazy about character attributes in this
51277 case.
51278
1cc73a62 512792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51280
51281 * include/i386/pc/util/biosdisk.h: New file.
51282 * util/i386/pc/biosdisk.c: Likewise.
51283 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51284
1cc73a62 51285 * Makefile.in (INCLUDE_DISTFILES): Added
51286 include/pupa/i386/pc/util/biosdisk.h.
51287 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51288 directory util/i386/pc.
51289 (install-local): Added a rule for sbin_UTILITIES.
51290 (uninstall): Likewise.
51291
51292 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51293
51294 * util/misc.c (xrealloc): New function.
51295 (pupa_malloc): Likewise.
51296 (pupa_free): Likewise.
51297 (pupa_realloc): Likewise.
51298 (pupa_stop): Likewise.
51299 (pupa_putchar): Likewise.
51300
51301 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51302
51303 * include/pupa/util/misc.h (xrealloc): Declared.
51304
51305 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51306 macro.
51307 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51308 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51309
51310 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51311 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51312
51313 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51314 way should be implemented.
51315 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51316
51317 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51318 the size of NAME for safety.
51319 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51320 0x88.
51321
51322 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51323 (pupa_setup_SOURCES): Likewise.
51324
51325 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51326
08b70fe8 513272002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51328
51329 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51330 bunch of pushl's from pusha, because this destroys the return
51331 value.
51332
62ddcc8f 513332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51334
51335 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51336 This means that any missing prototypes could be fatal. Also, you
51337 must take care when writing assembly code. See the comments at
51338 the beginning of startup.S, for more details.
f19dbdb7 51339
62ddcc8f 51340 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51341 compilation mechanism.
51342 (pupa_chainloader_real_boot): Likewise.
51343 (pupa_biosdisk_rw_int13_extensions): Likewise.
51344 (pupa_biosdisk_rw_standard): Likewise.
51345 (pupa_biosdisk_check_int13_extensions): Likewise.
51346 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51347 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51348 (pupa_get_memsize): Likewise.
51349 (pupa_get_mmap_entry): Likewise.
51350 (pupa_console_putchar): Likewise.
51351 (pupa_console_setcursor): Likewise.
51352 (pupa_getrtsecs): Use pushl instead of push.
51353
51354 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51355 memory instead of the stack for a mmap entry, because some
51356 BIOSes may ignore the maximum size and overflow.
51357
51358 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51359
51360 * genmk.rb (PModule#rule): Compile automatically generated
51361 sources with module-specific CFLAGS as well as other sources.
51362
9962ed99 513632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51364
51365 * configure.ac: Check ld.
51366 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51367 respectively, before checking endianness and sizes.
51368
51369 * Makefile.in (LD): New variable.
f19dbdb7 51370
abdfc3c5 513712002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51372
51373 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51374
6a161fa9 513752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51376
51377 * Changelog: New file.
51378