]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/misc.c (grub_abort): Make static
[grub2.git] / ChangeLog
CommitLineData
a8f15bce
VS
12013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/misc.c (grub_abort): Make static
4
a60dae7e
VS
52013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
8 transform invalid unicode codepoints.
9
891b713b
VS
102013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
13 \0 checking.
14
03dcac7f
VS
152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
18
c81acb7f
VS
192013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Consolidate cpuid code.
22
c1bee646
VS
232013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
24
25 Move cpuid code to cpuid.h and TSC code to tsc.c.
26
f37bf9c7
GS
272013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28
29 * util/grub.d/00_header.in: Don't use LANG if it's not set.
30
4021132b
GS
312013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
32
33 * util/grub-mkconfig.in: Replace $0 with $self.
34 * util/grub-reboot.in: Likewise.
35 * util/grub-set-default.in: Likewise.
36
3ace8d75
BC
372013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
38
39 * docs/osdetect.cfg: New file.
40
1e6ad6a6
BC
412013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
42
43 * tests/util/grub-shell.in: Add new --debug option.
44
188929eb
BC
452013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
46
47 * tests/test_unset.in: New test.
48
7994a09a
BC
492013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
50
51 * tests/test_sha512sum.in: New test.
52
2a8a7585
VS
532013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
56 * include/grub/misc.h: Remove strncat.
57 * grub-core/lib/posix_wrap/string.h: Likewise.
58
6d1fc99a
VS
592013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * tests/date_unit_test.c: New test.
62
10bafa1c
VS
632013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
66 of first three years after start of validity of unixtime.
67
b1c6d037
VS
682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
71 division as the one making more sense.
72 (update_screen): Likewise.
73 (complete): Likewise.
74
5f4028d4
VS
752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
78
a2856736
VS
792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Make char and string width grub_size_t rather than grub_ssize_t.
82
0a7e52b2
VS
832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
86 unsigned.
87 (grub_history_replace): Likewise.
88
42829573
VS
892013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
92 appropriate.
93
3523b8d8
VS
942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
97 appropriate.
98
d43c6489
VS
992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
102 Use unsigned divisions rather than signed variants.
103
f690f8b0
VS
1042013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/video/readers/png.c (grub_png_convert_image): Use
107 unsigned arithmetics.
108 Add missing break.
109
74ff2c05
VS
1102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
113
fb56391e
VS
1142013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
117 rather than signed one.
118 (recovery): Likewise.
119
40f29060
VS
1202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
123
c64577a5
VS
1242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
127 than signed.
128
c16535a8
JM
1292013-10-25 Jon McCune <jonmccune@google.com>
130
131 * docs/grub.texi: Cleanup security documentation around signatures.
132
6673d8e7
VS
1332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
136
a105d375
VS
1372013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
140 than int.
141
af81ed88
VS
1422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
145 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
146 functions when compiling for kernel.
147
ea899a57
VS
1482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
151 unsigned long long when using %llu.
152
c6dc6fa1
VS
1532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
156 terminal after updating progress.
157
ad2dc003
VS
1582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
161 argument. We don't disable Gate A20 in this code.
162
b46684ae
VS
1632013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
166 Conceptually based on change in branch "vbe-on-coreboot".
167
f70d5c07
RM
1682013-10-24 Robert Millan <rmh@gnu.org>
169
170 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
171 numeric constants with their symbolic equivalent.
172 Taken from branch "vbe-on-coreboot".
173
bca274b4
VS
1742013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * docs/grub.texi: Fix ordering and use pxref rather than xref.
177
238f0489
VS
1782013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
181 divmod64 for offset division.
182
863c590b
PFS
1832013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
184
185 Rename .bzrignore to .gitignore. Add "*.o" rule.
186
187 * .bzrignore: Renamed to...
188 * .gitignore: ...this.
189
84a0e969
PFS
1902013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
191
192 Add new progress module that displays the load progress of files.
193
194 * grub-core/lib/progress.c: New file.
195 * grub-core/Makefile.core.def (progress): New module.
196 * grub-core/kern/file.c (grub_file_open): File name added.
197 * (grub_file_read): Progress hook added.
198 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
199 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
200 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
201 * include/grub/file.h (struct grub_file): Add progress module members.
202 * include/grub/term.h (struct grub_term_output): Likewise.
203 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
204 Terminal velocity added.
205 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
206 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
207 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
208 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
209 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
210 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
211 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
212 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
213 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
214 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
215 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
216 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
217
0d711431
VS
2182013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Verify signatures of signatures unless --skip-sig is specified.
221
f8401f76
VS
2222013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
225 \0 checking.
226
227 Saves 70 bytes on compressed image.
228
ac1feb61
VS
2292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
232 check.
233
234 Saves 10 bytes on compressed image.
235
00f72e89
VS
2362013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/kern/misc.c (grub_isprint): Move to ...
239 * include/grub/misc.h (grub_isprint): ... here. Make inline.
240
241 Saves 20 bytes on compressed image due to remving exporting.
242
067e6ae7
VS
2432013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
246
247 Saves 5 bytes on compressed image.
248
64a6c791
VS
2492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
252 function get_utf8.
253
254 Saves 379 bytes on compressed image.
255
979d9f52
VS
2562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
259
1437da54
VS
2602013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
263
264 Saves 40 bytes on compressed image.
265
d9ee2269
VS
2662013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
269 mask rather than 64-bit type.
270
271 Saves 20 bytes on compressed image.
272
63efa602
VS
2732013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
276 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
277
47601ffe
VS
278 Saves 273 bytes on compressed image.
279
2cc679ad
VS
2802013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
283 variable length arrays.
284
285 Saves 50 bytes on compressed image.
286
2e4659b8
VS
2872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
290
2a40badf
VS
2912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/fs/ufs.c: Remove variable length arrays.
294
1ba6b9b9
VS
2952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
298
f3e39341
VS
2992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/fs/zfs.c: Remove variable length arrays.
302 Reduces zfs.mod by 160 bytes (208 compressed).
303
71523935
VS
3042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
307
28153eb8
VS
3082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/net/arp.c: Remove variable length arrays.
311 * grub-core/net/bootp.c: Likewise.
312 * grub-core/net/dns.c: Likewise.
313 * grub-core/net/icmp6.c: Likewise.
314 * grub-core/net/net.c: Likewise.
315
88ce4cd7
VS
3162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/fs/ntfs.c: Remove variable length arrays.
319 Increases ntfs.mod by 64 bytes (but decreases by 3 when
320 compressed).
321
66123940
VS
3222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/fs/hfs.c: Remove variable length arrays.
325 Reduces hfs.mod by 8 bytes (52 compressed).
326
0927e5bd
VS
3272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 330 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
331 compressed).
332
9c12ac97
VS
3332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 336 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
337 compressed).
338
97ec2d71
VS
3392013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 342 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
343 compressed).
344
156e4ea0
VS
3452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/fs/xfs.c: Remove variable length arrays.
348 Reduces xfs.mod by 40 bytes (43 compressed).
349
3b502c29
VS
3502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/fs/fshelp.c: Remove variable length arrays.
353 Reduces fshelp.mod by 116 bytes (23 compressed).
354
c7037f1d
VS
3552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/normal/completion.c: Remove variable length arrays.
358 * grub-core/normal/menu_entry.c: Likewise.
359
360 Reduces normal.mod by 496 bytes.
361
a07e6ad0
VS
3622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
365 by 356 bytes (158 compressed).
366
2359bf88
VS
3672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
370 by 364 bytes (169 compressed).
371
d28e1163
VS
3722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
375 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
376 * include/grub/types.h (grub_unaligned_uint64_t): New type.
377
e89c2d48
VS
3782013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
381 bitmasks to small structures of size chosen to fit in registers.
382
7abdac8e
VS
3832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * conf/Makefile.common: Use -freg-struct-return on i386. This
386 decreases code size and improves performance.
387
518864c0
VS
3882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
391
bbd2b539
VS
3922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
395 "(null)" string.
396 Simplify expressions to save around 256 bytes in kernel.img.
397 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
398
99519c15
VS
3992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
402 Use GRUB_UTIL_FD_O_* rather than O_*.
403
20285765
VS
4042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Add haiku-specific functions.
407
887c0bb6
VS
4082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
411
cd78a56f
VS
4122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Move stat () and device mode checking into OS-dependent files as
415 long as performance doesn't suffer.
416
a4012f07
VS
4172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Split make_system_path_relative_to_its_root into separate file
420 relpath.c from getroot.c as it's common between unix and haiku
421 but otherwise haiku doesn't use any functions from unix getroot.c.
422
31de274d
VS
4232013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
426 New function.
427 (grub_util_is_special_file): Likewise.
428
40346de6
VS
4292013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
432 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
433
d3923ab9
VS
4342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
437 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
438
663f6eb1
VS
4392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
442 (load_image): Likewise.
443
44d1c20a
VS
4442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * util/grub-render-label.c: Move backend part to ...
447 * util/render-label.c: ... here.
448
d0a116ee
VS
4492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
452 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
453
b47fcae6
VS
4542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
457
0f7c00c1
VS
4582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
461 CD-ROM in case when it's declared as having subpartitions.
462
29013cba
VS
4632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Don't add -lm on haiku.
466
467 * configure.ac: Define BUILD_LIBM to -lm on most platforms
468 and empty on haiku.
469 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
470 -lm.
471
e8559d24
VS
4722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * configure.ac: Use -melf_*_haiku as target on haiku.
475
8104063c
VS
4762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * Makefile.util.def: Add util/setup.c to extra_dist.
479
fc3182c7
VS
4802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
483 unknown types through.
484
f90a3cc0
VS
4852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
488 (grub_util_check_char_device): Likewise.
489 * include/grub/emu/getroot.h: Likewise.
490
1e3e7419
VS
4912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
494 memset rather than inline static function.
495
92c88fc8
VS
4962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
499 not doing embedded decompressor.
500
3cd910a2
VS
5012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
504 shadowing.
505 * grub-core/kern/disk.c: Likewise.
506 * grub-core/kern/misc.c: Likewise.
507 * include/grub/parser.h: Likewise.
508 * include/grub/script_sh.h: Likewise.
509 * include/grub/zfs/zfs.h: Likewise.
510
7b3aca00
VS
5112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
514
97dfe7e4
VS
5152013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
518 defined before trying to use it.
519
bf919aa9
VS
5202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
523 warning.
524
f4ccf29d
VS
5252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
528 Use __unused__ rather than __used__ on gcc < 3.2.
529
0d3a6f85
VS
5302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
533 gcc < 4.0.
534 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
535
757e3eb7
VS
5362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
539
fb320faf
VS
5402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
543 * include/grub/emu/misc.h: Likewise.
544
ea73acd2
VS
5452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
548 cur_color.
549
71237a6f
VT
5502013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
551
552 * grub-core/tests/checksums.h: Regenerated due to progress bar
553 get_minimal_size changes.
554
3d46c22f
BC
5552013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
556
557 Added `tr' command support.
558
559 * grub-core/commands/tr.c: New file.
560 * grub-core/Makefile.core.def: Build rules for new module.
561
562 * tests/grub_cmd_tr.in: New test.
563 * Makefile.util.def: Build rules for new test.
564
47e0a61f
VT
5652013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
566
567 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
568
946fd073
VT
5692013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
570
571 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
572 * docs/gurb.texi: Likewise.
573
9c13c576
VT
5742013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
575
576 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
577 Pixmap highlighted section with east and west slices was displayed
578 incorrectly due to negative width of the central slice.
579
ad543f12
VT
5802013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
581
582 * docs/grub.texi: Graphical options information update.
583 Removed outdated. Updated current. Inserted missed.
584
6176a0cd
VS
5852013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * docs/grub.texi: Mention few new platform-specific commands.
588
9688cae2
VS
5892013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
592 currently used so this doesn't really have any effect.
593 Reported by: Douglas Ray <dougray>
594
f7b69a3f
VS
5952013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
598 compilation but prevents gcc from displaying messages in non-Latin
599 alphabets.
600 * conf/Makefile.common: Likewise.
601
ceca6ddf
HY
6022013-10-16 Hiroyuki YAMAMORI
603
604 Handle Japanese special keys.
605 Reported by: Hiroyuki YAMAMORI.
606 Codes supplied by: Hiroyuki YAMAMORI.
607
ac48d334
VT
6082013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
609
610 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
611
b2b71bff
VT
6122013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
613
614 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
615 * docs/grub.texi: Likewise.
616
669fc449
VS
6172013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
620 value in case of incomplete read.
621 (grub_util_fd_write): Likewise.
622
59381678
VS
6232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
626
bacfefbb
VS
6272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub-editenv.c (create_envblk_file): More from here ...
630 * util/editenv.c (grub_util_create_envblk_file): ... to here.
631
f7c49570
VS
6322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
635 canonicalize file name before doing the rest.
636
7b83ca44
VS
6372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
640 mingw32.
641
df1e64c9
VS
6422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
643
644 Define grub_util_is_directory/regular/special_file and
645 use OS-dependent versions rather than to rely on stat().
646
ec16e026
VS
6472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * util/grub-mkimage.c: Move backend part to ...
650 * util/mkimage.c: ... here.
651
4b4eeb3c
VS
6522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
653
654 Allow compilation with mingw64 albeit with warnings due to lack of
655 %llx/%llu.
656
657 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
658 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
659 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
660 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
661 on mingw64.
662 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
663
f4e0adc0
VS
6642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Remove leftover references to some of the system headers.
667
e0127364
VS
6682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
671 read.
672
20d53541
VS
6732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
676 of strerror.
677
5a869940
VS
6782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Split out blocklist retrieving from setup.c to
681 grub-core/osdep/blocklist.c and add windows implementation since
682 generic version doesn't work on NTFS on Windows due to aggressive
683 unflushable cache.
684
c06c7520
VS
6852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
686
687 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
688 files.
689
8f53bb3f
VS
6902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
693 Cut tailing newline. Remove arbitrary limitation. Always use
694 grub_util_tchar_to_utf8.
695
148f1007
VS
6962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
699 * tests/printf_unit_test.c (printf_test): Add %% tests.
700 Reported by: Paulo Flabiano Smorigo.
701
af3b06be
VS
7022013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
705 implement fsync.
706
27f9d02e
VS
7072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * configure.ac: Check for nvlist_lookup_string in nvpair since we
710 use nvlist_lookup_string and don't use nvlist_print.
711
f6a81f0a
VS
7122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Add wrappers around rename, unlink, mkdir, opendir, readdir and
715 closedir to handle filename charset translation.
716
d7750b32
VS
7172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * include/grub/emu/hostdisk.h: Move file operations to
720 * include/grub/emu/hostfile.h: ... here.
721
2859196e
VS
7222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
725 unicode path.
726
c018c968
VS
7272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
730
7e45abce
VS
7312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
734 and remove export.h.
735
23934da2
VS
7362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/kern/emu/error.c: Removed.
739 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
740 explicitly as it's already in libgnu.a.
741
c11ebcc8
VS
7422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
745 config-util.h include.
746
70671037
VS
7472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Split emunet into platform-dependent and GRUB-binding parts. Keep
750 platform-dependent part in kernel for easy access to OS functions.
751
25ac643a
VS
7522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
755 open/read/write.
756
69ca5876
VS
7572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/osdep/windows/emuconsole.c: New file.
760
d9d68ef0
AB
7612013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
762
763 * conf/Makefile.extra-dist: Add osdep/*/init.c
764
58e211cc
VS
7652013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
768
588744d0
VS
7692013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * util/grub-probe.c (probe): Separate different drives in hint-str
772 by spaces and not newlines.
773 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
774
44016e52
AB
7752013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
776
777 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
778 Handle CD-ROMs.
779
6de9ee86
VS
7802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Pass-through unknown E820 types. It required reorganisation of mmap
783 module.
784
f8f3f155
AB
7852013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
786
787 * Makefile.util.def: Add osdep/init.c to grub-mount files.
788
b73249d2
VS
7892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
792 fseeko.
793
dac86b18 7942013-10-14 qwertial <qwertial>
795
796 * grub-core/gdb_grub.in: Fix overflow and wrong field.
797
17614b84
JM
7982013-10-14 Jon McCune <jonmccune@google.com>
799
800 * docs/grub.texi: Document new signatures possibility.
801
6de292cb
VS
8022013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
805
84379b61
VS
8062013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
809 missing prototype.
810 (grub_util_tchar_to_utf8): Likewise.
811
21d85db1
VS
8122013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
815 * grub-core/kern/emu/main.c: Add missing include.
816 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
817 Don't call grub_util_init_nls.
818 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
819 Likewise.
820
66a1b3ee
VS
8212013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
824 stat.
825
e19bec17
VS
8262013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
829
ee8c1b29
VS
8302013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
833
bb338aaf
VS
8342013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
835
836 Add a wrapper for fopen. On unix-like systems just pass-through. On
837 windows use unicode version.
838
ae5540d3
VS
8392013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Move set_program_name and init_nls to host_init. On windows
842 fix in this fuction console and argument charset as well.
843
4cd3c4fe
AB
8442013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
845
846 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
847 GRUB_ENABLE_CRYPTODISK.
848
849 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
850 GRUB_ENABLE_CRYPTODISK.
851 * util/grub-mkconfig_lib.in: Likewise.
852
78170f3e
CCZ
8532013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
854
855 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
856
3414b6c0
MC
8572013-10-12 Melki Christian <Christian.melki@saabgroup.com>
858
859 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
860 error when enabling debug.
861
6d0740e8
IB
8622013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
863
864 * configure.ac: Use -melf_*_obsd on openbsd.
865
ff2d4dc4
VS
8662013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
869
eac6ae82
VS
8702013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * include/grub/misc.h: Use gnu_printf rather than printf as format
873 template since our functions are independent of libc.
874
ba9baabe
VS
8752013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/grub-setup.c (setup): Move copying of partition table as
878 futher up as possible to avoid possible overwrite by floppy routines.
879
8802013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
881
882 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
883
145e2369
VT
8842013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
885
886 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
887 * docs/grub.texi: Likewise.
888
3530bc9d
VS
8892013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
892 it's mostly unused. Move vestiges to the callers.
893
fb9f59c3
VS
8942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
897 version of salt and hash. Use grub_snprintf rather than snprintf.
898
9be1c255
VS
8992013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * docs/grub.texi: Fix problem with braces.
902
ed8c0887
VS
9032013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * conf/Makefile.extra-dist: Fix extra-dist list.
906 * grub-core/Makefile.core.def: Likewise.
907
f72ab14e
VS
9082013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * docs/grub.texi: Document disk names used on Windows and AROS.
911
2fe53a22
VS
9122013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
915 with AROS devs.
916 * grub-core/osdep/aros/hostdisk.c: Likewise.
917
71c1d67a
VS
9182013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
919
920 Avoid including hostfile.h when not necessarry as it pulls
921 in OS-specific headers which may redefine generic names
922 like "far".
923
ad297ec7
VT
9242013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
925
926 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
927 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
928 scrollbar_bottom_pad
929 * docs/grub.texi: Likewise.
930
6e9e5dc9
VT
9312013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
932
933 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
934
761c718b
VS
9352013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
938
37149a2f
VS
9392013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
942 Removed.
943 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
944 Made static.
945
3837a151
VS
9462013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
949 leftover.
950
caca1c70
VS
9512013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
952
953 Move OS-specific driver configuration to grub_util_fd_open. This
954 moves OS-dependent parts from kern/emu/hostdisk.c to
955 grub-core/osdep/*/hostdisk.c.
956
f7676b70
VS
9572013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * util/grub-mkimage.c (generate_image): Use size_t instead of
960 grub_size_t.
961 * util/grub-mkimagexx.c (locate_sections): Likewise.
962 (load_image): Likewise.
963
22f98db2
VS
9642013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
967 size_t.
968 (grub_util_write_image): Likewise.
969
b102ce69
VS
9702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
973 get random when no RNG is available.
974 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
975
acbbe5cb
VS
9762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * include/grub/util/lvm.h: Removed.
979
2112fb3f
VS
9802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
983 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
984
79f78fbf
VS
9852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/osdep/windows/sleep.c: Add missing config.h.
988
c2e6f705
VS
9892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
992
aabe433a
VS
9932013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/net/drivers/emu/emunet.c: Move to ..
996 * grub-core/osdep/linux/emunet.c: ..here.
997
9a2c903f
VS
9982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * util/ieee1275/ofpath.c: Move to ...
1001 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1002 * grub-core/osdep/basic/ofpath.c: ..here.
1003
4a445f58
VS
10042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 Move password-querying (util-version) routines to grub-core/osdep.
1007
c1ca4244
VS
10082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Move sleep routines to grub-core/osdep.
1011
672fa55e
VS
10122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Move OS-dependent files to grub-core/osdep and document it.
1015
a5b0365a
VS
10162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1019 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1020
29072e99
VS
10212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1024
f8772ea7
VS
10252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * util/misc.c: Remove leftover inclusion of malloc.h.
1028
a1a315e7
VS
10292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * include/grub/setjmp.h: Remove leftover GRUBOF.
1032
cef86fef
VS
10332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * util/raid.c: Fold into ...
1036 * util/getroot_linux.c: ... here. Make all functions static.
1037
c4cf25ee
VS
10382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1041 macros to GRUB ones.
1042
53a5f5c2
VT
10432013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1044
1045 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1046 occasional bug. If there are too many boot entries or too low
1047 scrollbar height then we need to use another formula to calculate
1048 the position and size of the scrollbar thumb.
1049
de300af2
VS
10502013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1051
c4cf25ee 1052 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1053
c5827364
VT
10542013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1055
1056 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1057 * docs/grub.texi: Likewise.
1058
dd2ed8b0
VT
10592013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1060
1061 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1062 viewport.
1063
7286c384
VT
10642013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1065
ffdfc1f3
VT
1066 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1067 minimal width calculations.
7286c384 1068
ea547e14
VS
10692013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * docs/grub.texi: Update note on colors on emu console.
1072
b726be76
VS
10732013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1076 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1077 it's FS and not GRUB limitation.
1078
a5f6ade6
VS
10792013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1082
3b0f3aa2
VS
10832013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1086
1db38304
ST
10872013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1088
1089 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1090 kernels by version order.
1091
fb295fc0
VS
10922013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1095
47345010
VS
10962013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Add AROS hostdisk and getroot routines.
1099
bf25f879
VS
11002013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Make cryptodisk and diskfilter probe data retrievable programmatically
1103 and not just printable.
1104
24ca4512
VS
11052013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Split random retrieving code into separate files.
1108
c7c177f0
VS
11092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1112 R_ARM_V4BX.
1113
d71b45ae
VS
11142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1117 condition.
1118 * grub-core/tests/fake_input.c: Likewise.
1119 * grub-core/tests/cmdline_cat_test.c: Likewise.
1120
e44b9a83
VS
11212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/video/capture.c: Do not do finalization when .fini
1124 is called as there is explicit capture_end.
1125
4fa60739
VS
11262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1129 changing windows to avoid crash.
1130
17c8bc37
VS
11312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1134
9d4d7977
VS
11352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * po/exclude.pot: Add several strings to exclude.
1138
0caa407c
VS
11392013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1142
9ae393da
VS
11432013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1146 ./util/grub-gen-asciih.c to exclude list.
1147
498d5033
VS
11482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1151 and don't mark error strings for translation.
1152
7d93298f
VS
11532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1156 properly in case of missing block size.
1157
b2cae20c
VS
11582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/lib/arm/setjmp.S: Add missing license section.
1161
3896d6b4
VS
11622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * po/swiss.sed: Add replacement for key names and for term computer.
1165
ebc1da55
VT
11662013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1167
1168 * grub-core/gfxmenu/theme_loader.c: New global options for the
1169 theme background image handling. desktop-image-scale-method,
1170 desktop-image-h-align, desktop-image-v-align.
1171 * grub-core/gfxmenu/view.c: Likewise.
1172 * include/gfxmenu_view.h: Likewise.
1173 * include/bitmap_scale.h: Proportional scale functions introduced.
1174 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1175 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1176 cases of unexpected input variables for scale functions.
1177 * docs/grub.texi: Updated documentation for new options.
1178
c5739143
VS
11792013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1182
be74aeb3
VT
11832013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1184
1185 * grub-core/tests/checksums.h: Corrected due to changes in
1186 bilinear interpolation function.
1187
d999ac72
VT
11882013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1189
1190 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1191 to eliminate artefacts in bilinear interpolation.
1192
2b131610
VS
11932013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/video/readers/tga.c: Support paletted tga.
1196
de6e5ff8
VS
11972013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1200 incorrect cbcr setting when in color mode.
1201
fa31ee9c
VS
12022013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/video/readers/png.c: Support paletted images and clean up
1205 greyscale support.
1206
e84f8188
VS
12072013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1210 usage of wrong table which resulted in mishandling of 4-byte
1211 sequences.
1212
12132013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1214
1215 * grub-core/term/terminfo.c: Add Home and End key sequences.
1216
d72bff09
VS
12172013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1220 Fix formula for computing total number of bytes.
1221
29648c5d
VS
12222013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1225 image processing, fix big-endian and support grayscale.
1226
4a876492
VS
12272013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1230 Correctly will with maximum transparency when using index color.
1231
3ccf16df
VS
12322013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/video/readers/png.c: Support grayscale
1235
12362013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1237
1238 * grub-core/video/readers/jpeg.c: Support grayscale.
1239
3ccf16df 12402013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1241
1242 * grub-core/commands/loadenv.c: Support skipping signature check
1243 and variable names filtering.
1244
30b7f58f
VS
12452013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1248 * grub-core/kern/emu/hostfs.c: Likewise.
1249 * util/getroot_unix.c: Likewise.
1250
bab7b1eb
VS
12512013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1254 Migrate all explicit defines to this new one.
1255
43b1c99d
VS
12562013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1259 grub_util_fd_strerror when using grub_util_fd_*.
1260 (grub_util_fd_open_device): Likewise.
1261 (grub_util_biosdisk_read): Likewise.
1262 (grub_util_biosdisk_write): Likewise.
1263 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1264 (grub_util_fd_strerror): Likewise.
1265 (grub_util_fd_sync): Likewise.
1266 (grub_util_fd_close): Likewise.
1267 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1268 (grub_util_fd_close): Likewise.
1269 (grub_util_fd_strerror): Likewise.
1270 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1271 function proto rather than macro.
1272 (grub_util_fd_sync): Likewise.
1273 (grub_util_fd_open): Likewise.
1274 (grub_util_fd_strerror): New proto.
1275
e8fd80bc
VS
12762013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1279 platforms on which it doesn't work.
1280
bf645fda
VS
12812013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1284 stat immediately to where it's used.
1285
5177ba14
VS
12862013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * util/getroot.c (grub_util_check_block_device): Move to ...
1289 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1290 * util/getroot.c (grub_util_check_char_device): Move to ...
1291 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1292
9db826e1
VS
12932013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1296 disk closing logic.
1297
49120085
AB
12982013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1299
1300 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1301
b3328b68
AB
13022013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1303
1304 * docs/grub.texi (File name syntax): Document ZFS filenames
1305 (/volume@snapshot/...).
1306
3fff48ab
VS
13072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1310 Always return full path. Fixes a problem with mkrelpath.
1311
39cfdaa9
PFS
13122013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1313
1314 * util/grub-install.in: Add GPT PReP support.
1315 * util/grub-probe.c (probe): Support GPT partition type.
1316 (main): Support -t gpt_parttype.
1317
7c680e1f 13182013-09-23 Aleš Nesrsta <starous@volny.cz>
1319
1320 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1321
890bdabe
MM
13222013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1323
1324 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1325
9c262ff9
TH
13262013-09-23 Tim Hardeck <thardeck>
1327
1328 * util/grub.d/10_hurd.in: Filter out character for the class.
1329 * util/grub.d/10_kfreebsd.in: Likewise.
1330 * util/grub.d/10_linux.in: Likewise.
1331 * util/grub.d/20_linux_xen.in: Likewise.
1332
d755342a
MC
13332013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1334
1335 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1336 "changed".
1337
68b77707
JT
13382013-09-23 Josh Triplett <josh@joshtriplett.org>
1339
1340 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1341 boot partition.
1342
efa68bfa
VS
13432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1346 doesn't use posix_wrap. Keep literal -fno-builtin however.
1347
d9104204
VS
13482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1351
c248781a 13522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13532013-09-23 neil
1354
5830df88 1355 * configure.ac: Do not enable -Wmissing-noreturn as its
1356 usefulness is limited and creates problems on some OS notably with
1357 code generated by bison.
1358
13592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13602013-09-23 neil
1361
1362 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1363 supported by all gcc and when it is, it's already enabled by -Wall.
1364
621bed69
VS
13652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1368 desactivated use of EDID at all.
1369
71764dc8 13702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13712013-09-23 neil
1372
1373 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1374 video if no text is available.
1375
affce7d4 13762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
13772013-09-23 neil
1378
1379 * configure.ac: Substitute TARGET_RANLIB.
1380
13812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13822013-09-23 neil
affce7d4
VS
1383
1384 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1385
1386 Based on patches from AROS.
1387
0e8daad0 13882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 13892013-09-23 neil
0e8daad0
VS
1390
1391 * grub-core/Makefile.am: Override STRIP and RANLIB.
1392 * configure.ac: compute TARGET_RANLIB.
1393 * INSTALL: Document TARGET_RANLIB
1394
1395 Based on patches from AROS.
1396
3f7d9c82
VS
13972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1400 that floppies are unpartitioned.
1401
bca8873a
VS
14022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1405 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1406
14072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1410 less nice but more portable.
1411 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1412
a47a78be
VS
14132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1416 for cheat_fd.
1417 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1418 functions.
1419 (grub_cryptodisk_cheat_insert): Likewise.
1420 (grub_cryptodisk_close): Likewise.
1421
e85a5d5c
VS
14222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1425 Use windows path for DEFAULT_DIRECTORY.
1426
dad9fa6b
VS
14272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1430 difference was likely just gcc version, not anything mingw-related.
1431
7e518ca8
VS
14322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 Use Winapi on both cygwin and mingw32 to share more code between both.
1435
d68d0157
AB
14362013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1437
1438 * util/grub-install.in: Add --grub-editenv option.
1439 * util/grub-install_header (grub_compress_file): Explicitly check for
1440 plain file to avoid cp error.
1441
775b284d
AB
14422013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1443
1444 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1445 names; fix LVM driver name (lvm, not lv).
1446 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1447 names.
1448
3ff4063d
VS
14492013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1452 files rather than one file with loads of #if's.
1453 * util/getroot.c: Likewise.
1454
287faafe
VS
14552013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1458
d1983764
VS
14592013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1462 GNU/Hurd to the list of checked PRNG.
1463
15ce95c4
VS
14642013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1467
207862dd 14682013-09-21 Ales Nesrsta <starous@volny.cz>
1469
7c680e1f 1470 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1471
63653cfd
VS
14722013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1475 * grub-core/disk/lvm.c: Add LVM UUIDs.
1476 * util/getroot.c: Use LVM UUIDs whenever possible.
1477
f5d3e7ef
AB
14782013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1479
1480 * docs/grub.texi (Networking commands): Add documentation for
1481 network related commands.
1482
53c6b7d6
VS
14832013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1486 to determine if device is handled by devmapper.
1487 (convert_system_partition_to_system_disk): Likewise.
1488 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1489 already done in grub_util_open_dm.
1490
e70d6736
LL
14912013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1492
1493 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1494 Clean up stack manipulation (sync_caches_armv*)
1495
90379808
VS
14962013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * util/lvm.c: Remove since unused. Remove remaining references.
1499
386701a8
VS
15002013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Handle the case of partitioned LVM properly.
1503
1504 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1505 Stop on meeting LVM, mpath or DMRAID.
1506 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1507 (read_device_map): Likewise.
1508 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1509 device is full disk rather than erroring out on LVM and similar cases.
1510
53070787
VS
15112013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1514
1bc783bd
VS
15152013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1518 4K before the end.
1519 Reported by: Leif Lindholm
1520
436ad5c3
PW
15212013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
15222013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1525 codes.
1526
607319c9
CW
15272013-09-18 Colin Watson <cjwatson@ubuntu.com>
1528
1529 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1530 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1531
d404d154
DR
15322013-09-18 Douglas Ray <dougray@cpan.org>
1533
1534 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1535 as secure.
1536
28851ef6
AN
15372013-09-18 Aleš Nesrsta <starous@volny.cz>
1538
1539 * docs/grub.texi: Fix broken link.
1540
897c3bc6
MC
15412013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1542
1543 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1544 to break endless loop.
1545
f1630459
VS
15462013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * util/grub-fstest.c: Fix several printf formats.
1549 * util/grub-mkimage.c: Likewise.
1550 * util/grub-mkimagexx.c: Likewise.
1551 * util/grub-script-check.c: Likewise.
1552
64463dfd
VS
15532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1556 error.
1557
48972495
VS
15582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1561
5dd5e64b
VS
15622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1565 removed in current versions cygwin_conv_*.
1566
1c1f31e5
VS
15672013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * configure.ac: Disable efiemu runtime on cygwin.
1570
c546a259
VS
15712013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1574 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1575
81690478
VS
15762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1579 error message.
1580
6b87c10a
VS
15812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1584 windows variant.
1585 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1586 data.
1587
8f0baaac
VS
15882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1591 when on x86 and not cygwin.
1592 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1593 -Wl,-melf_x86_64.
1594
b224c266
VS
15952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * configure.ac: Set CPP to build one when checkoing for freetype for
1598 build.
1599
506b336b
VS
16002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1603 [!GRUB_BUILD]: Remove has_argument.
1604
8c8c87b7
VS
16052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1608 Replace with a dummy.
1609
7dc5ca13
VS
16102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * configure.ac: Don't change host_os from mingw to cygwin.
1613
c3302aa5
VS
16142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * configure.ac: Change target_os from windows to cygwin.
1617
7b780018
VS
16182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1621
1622 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1623 (build-grub-gen-asciih): Likewise.
1624 (build-grub-gen-widthspec): Likewise.
1625 * Makefile.util.def (grub-pe2elf): Remove.
1626 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1627 * configure.ac: Separate tests for build.
1628 Move ./build-grub-pe2elf to grub-core.
1629 Fix typo.
1630 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1631 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1632 defined.
1633 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1634 constants.
1635 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1636 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1637 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1638
984cfd8a
VS
16392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1642 mingw32 as well based on grub_util_get_disk_size.
1643 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1644 grub_util_get_fd_size.
1645 (sync): Removed.
1646 (fsync): Moved to ...
1647 * grub-core/kern/emu/misc.c (fsync): ... here.
1648
f82d79c9
VS
16492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * include/grub/mm.h (grub_extend_alloc): Remove.
1652 * grub-core/loader/i386/pc/plan9.c: Use own version of
1653 grub_extend_alloc with appropriate types.
1654
fd7dd66d
VS
16552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1658
43ffba7c
VS
16592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1662
3c7eac44
VS
16632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Fix dependencies on cygwin.
1666
1667 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1668 dependencies when used and defined.
1669 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1670
bdb5ba47
VS
16712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1674 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1675
ed7fbf43
VS
16762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1679 implementation available to cause compile-time rather than runtime
1680 error.
1681
fc46e9fc
VS
16822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * util/grub-fstest.c: Don't check for symlinks on windows.
1685
7f68269a
VS
16862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * INSTALL: Mention unavailability of man pages when cross-compiling.
1689
8ed358e0
VS
16902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1693 and gcry_log_bug.
1694 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1695
fc97214f
VS
16962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * INSTALL: Document cross-compilation.
1699 * acinclude.m4: Determine whether nm support -P and --defined-only.
1700 * configure.ac: Add TARGET_ to all variables pertaining to target
1701 that don't have it yet.
1702 * gentpl.py: Likewise.
1703 * grub-core/Makefile.am: Likewise.
1704 * grub-core/genmod.sh.in: Likewise.
1705 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1706 as well.
1707
ca1fb563
IB
17082013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1709
1710 * configure.ac: Remove -Wempty-body. It's not essential and needs
1711 recent gcc.
1712
0031b229
IB
17132013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1714
1715 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1716 * util/getroot.c: Likewise.
1717
54ea2f44
VS
17182013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/disk/ahci.c: Add needed explicit cast.
1721 * grub-core/lib/backtrace.c: Likewise.
1722 * grub-core/net/ip.c: Likewise.
1723 * grub-core/net/tcp.c: Likewise.
1724 * grub-core/net/udp.c: Likewise.
1725
3c601f8c
VS
17262013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1729
1d679dda
VS
17302013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * util/import_gcry.py: Add final newline in visibility.h.
1733
00c28dd9
VS
17342013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * conf/Makefile.common: Fix typo.
1737
32af299a
VS
17382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1741
e733cf52
VS
17422013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * Makefile.am (widthspec.h): Fix typo.
1745 * util/grub-gen-widthspec.c: Likewise.
1746
c6b066f2
VS
17472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 Move ascii.h and widthspec.h generation to a separate build-time-only
1750 tool.
1751
ad1fe3f9 17522013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1753
1754 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1755 Always fill bootdisk info and improve check for NetBSD disklabel.
1756
92a52dd4
VS
17572013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * conf/Makefile.extra-dist: Add util/bin2h.c.
1760 Reported by: floppym.
1761
b2e9d276
VS
17622013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1765
7b966834
VS
17662013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * configure.ac: Disable unifont and starfield if no freetype was found.
1769
d5c1eef1
VS
17702013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1773 on NetBSD and OpenBSD.
1774
66345b50 17752013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1776
1777 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1778
66345b50 17792013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1780
1781 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1782 reduced. Inheritant options are processed during the theme loading.
1783
66345b50 17842013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1785
1786 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1787
369508b3
AS
17882013-08-14 Avik Sil <aviksil@in.ibm.com>
1789
1790 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1791
17922013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1793
1794 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1795 using qemu.
1796
6f27a3f6
PFS
17972013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1798
1799 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1800 remove-potcdate.sed.
1801
c6ed362a
AB
18022013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1803
1804 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1805 unused attribute from pull argument.
1806
5e7d9464
AB
18072013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1808
1809 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1810 memory leak.
1811
dea55e2a
AB
18122013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1813
1814 * util/getroot.c (pull_lvm_by_command): add --separator option
1815 to vgs call to disable padding of output to 10 characters.
1816
f0b94ded
VS
18172013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1820 here ...
1821 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1822 here.
1823
b828fb5d
VS
18242013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1827 length.
1828
7c9d0c39
VS
18292013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1832 full Canadian cross. Tested with build=x86_64, host=arm,
1833 target=ppc-ieee1275.
1834
816719c8
VS
18352013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * configure.ac: Error if no $BUILD_CC could be found.
1838 Reported by: DevHC.
1839
2af2353b
VS
18402013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1843 i386-multiboot.
1844
797abd0a
VS
18452013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1848 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1849
36e87d25
CW
18502013-08-13 Colin Watson <cjwatson@ubuntu.com>
1851
1852 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1853 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1854 falling back to the partition device, otherwise a later call to this
1855 function may fail spuriously.
1856 Reported by Axel Beckert. Fixes Debian bug #708614.
1857
273349fe
GS
18582013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1859
1860 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1861
418f86c6
GS
18622013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1863
1864 Prevent shadowing of stdlib's devname(3) on BSD.
1865
1866 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1867 and devlast to diskname and disklast, respectively.
1868
c137aea0
CW
18692013-08-11 Colin Watson <cjwatson@ubuntu.com>
1870
1871 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1872
272dc8df 18732013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1874
1875 * docs/grub.texi: Introduce terminal window position options:
1876 terminal-left: terminal window's left position
1877 terminal-top: terminal window's top position
1878 terminal-width: terminal window's width
1879 terminal-height: terminal window's height
1880 terminal-border: terminal window's border width
1881 * grub-core/gfxmenu/theme-loader.c: Likewise.
1882 * include/grub/gfxmenu_view.h: Likewise.
1883 * po/exlude.pot: Likewise.
1884 * grub-core/gfxmenu/view.c: Likewise.
1885 Also updated minimal window size.
1886 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1887 * grub-core/tests/checksums.h: Update (terminal window height
1888 is adjusted now for low resolution screen)
b4743461 1889
748a4533
VS
18902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1893 position).
1894
fca5f944
VS
18952013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * po/exclude.pot: Add few recent exceptions.
1898
4f47d809
VS
18992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * tests/grub_func_test.in: Add unicode.pf2.
1902
a62ae90c
VS
19032013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1906 standard rather than noral color, in line with other terminals.
1907
4ed41392
VS
19082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1911 analysis.
1912
3719fbc5
VS
19132013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1916
459b1d91
VS
19172013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1920 inappropriate printf.
1921
f4e1ab9d
AB
19222013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1923
1924 * .bzrignore: Remove grub-core/lib/dtc-grub,
1925 grub-core/Makefile.libfdt.def
1926 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1927
fa471bfa
VS
19282013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * include/grub/video.h (grub_video_register): Keep double-linked as
1931 well as single-linked invariants.
1932 Reported by: qwertial.
1933
d65be02b
VS
19342013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/commands/nativedisk.c (get_uuid): Handle
1937 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1938
ba8bc620
VT
19392013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1940
1941 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1942 maximum of NW, N, NE heights instead of N's height and maximum of
1943 NW, W, SW widths instead of W's width. (So the box will be always
1944 correctly drawn)
1945
4f0ad029
GS
19462013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1947
1948 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1949 Fix misuse of variable count.
1950
43d53b72
LL
19512013-07-18 Leif Lindholm <leif.lindholm@arm.com>
19522013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
19532013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1954
43d53b72
LL
1955 New ports to arm-uboot and arm-efi.
1956 Mostly by Leif Lindholm with some additions from
1957 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1958
88f8d146
VS
19592013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1962 and not before.
1963 Reported by: Leon Drugi.
1964
3f42504c
VS
19652013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1968 Reported by: Paulo Flabiano Smorigo.
1969
d110499b
VT
19702013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1971
1972 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1973
a8674ad3
VT
19742013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1975
1976 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1977
286fe4b3
VS
19782013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1981
1bd57aa3
VS
19822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1985
7a87d69f
AB
19862013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1987
1988 * grub-core/net/bootp.c: Export net_* variables.
1989 * grub-core/net/net.c: Likewise.
1990
b2182299
VS
19912013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1994
795b3dc0
VS
19952013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1998
68714c43
VS
19992013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2002
af211bab
VS
20032013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2006
0036f02d
MM
20072013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2008
2009 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2010 <= 0.
2011
6d0ddff3
MM
20122013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2013
2014 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2015 functions.
2016
038016f4
MM
20172013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2018
2019 * grub-core/fs/zfs/zfs_lz4.c: New file.
2020 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2021
776bdce2
MM
20222013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2023
2024 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2025
c71dbd40
MM
20262013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2027
2028 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2029 (check_pool_label): Likewise.
2030 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2031
20322013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2033
2034 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2035
8e67b50f
AB
20362013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2037
2038 * docs/grub.texi (Commands): Document postition parameters
2039 for menuentry command.
2040
f5ae3717
AB
20412013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2042
2043 * util/grub-mknetdir.in: Remove stray line from help output.
2044
9c28da2a
VS
20452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Remove early sm712 init as there is no reason for it (the "watchdog"
2048 effect was due to wrong GPIO map).
2049
139072b8
VS
20502013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/commands/pcidump.c: Remove static variables.
2053
c6a61bda
VS
20542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2057
51369614
VS
20582013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * configure.ac: Move delimiter after the infos.
2061
efa8640a
VS
20622013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2065
6f80a7b2
VS
20662013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2069 not filling whole 8x16 space.
2070
a2371e19
VS
20712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2074
64fce2d8
VS
20752013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * configure.ac: Indicate which liblzma is used if any.
2078
eb272d84
PW
20792013-06-21 Paul Wise <pabs3@bonedaddy.net>
20802013-06-21 Craig Sanders <savannah@taz.net.au>
2081
2082 * util/grub-reboot.in: Document submenu usage.
2083
a9e5abee
CW
20842013-06-25 Colin Watson <cjwatson@ubuntu.com>
2085
2086 * .bzrignore: Update with a number of new test-related files.
2087
e639c204
CW
20882013-06-25 Colin Watson <cjwatson@ubuntu.com>
2089
2090 * util/grub-script-check.c: Fail on scripts containing no
2091 commands, to guard against corrupted grub-mkconfig setups that
2092 produce no useful output.
2093 * tests/grub_script_no_commands.in: New test.
2094 * Makefile.util.def (grub_script_no_commands): Add.
2095 Reported by Hans Putter. Fixes Debian bug #713886.
2096
a4c89b17
AB
20972013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2098
2099 * grub-core/disk/diskfilter.c: Forgot to remove comment
2100 from previous commit.
2101
5b06b53c
AB
21022013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2103
2104 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2105 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2106
702da5c9
AB
21072013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2108
2109 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2110
aa62a5b7
AB
21112013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2112
2113 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2114 rescan diskfilter devices until nothing new is found.
2115
4aa237c8
VS
21162013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2119
93d8479b
VS
21202013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Don't try to detect cbfs on *-emu.
2123
837222cc
VS
21242013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2127
99c971af
VS
21282013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Add support for processed coreboot payload chainloading.
2131
e6930a45
VS
21322013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Enable coreboot information commands even when not loaded as
2135 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2136
5027af38
VS
21372013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Support for cbfs. Also factor out the part which is common
2140 for all archives to a separate module. This splits tar from cpio
2141 as they are very different but keeps cpio, cpio_be, odc and newc
2142 together since they're very similar.
2143
a5b55c4b
DM
21442013-06-15 David Michael <fedora.dm0@gmail.com>
2145
2146 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2147 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2148
0301a8b3
VS
21492013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * tests/grub_script_eval.in: Really add the eval test.
2152
3d84cb17
VS
21532013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 Move flavour-specific parts out of common cpio.c file and
2156 rename remaining to cpio_common.c
2157
593e430c
AB
21582013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2159
2160 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2161 off new function grub_script_execute_new_scope. Change callers to use
2162 either of them as appropriate.
2163 * grub-core/commands/eval.c: New command eval.
2164 * docs/grub.texi (Commands): Document it.
2165
63c29849
AB
21662013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2167
2168 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2169 to fetch values when listing.
2170
cc284112
AB
21712013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2172
2173 Fix make dist on non-pc.
2174
21752013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2176
2177 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2178 without a device name.
2179
69544d1e
VS
21802013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Remove enable_executable_check as it's not needed anymore.
2183 Reported by: dougray.
2184
96dbe648
VS
21852013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2188 ambigouos RAID before discovering RAIDs on top of it.
2189 Reported by: bodom.
2190
ccfc0bdb
VS
21912013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Fix typo (failback vs fallback).
2194
f2587088
AB
21952013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2196
2197 * util/grub.d/30_os-prober.in: Add support for probing EFI
2198 System Partition (as of os-prober 1.58).
2199
cec5cf0c
VS
22002013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * configure.ac: Add yet another path to unifont. For parabola.
2203
e40b4596
JT
22042013-05-30 Josh Triplett <josh@joshtriplett.org>
2205
2206 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2207 handling to copy the killed characters to the kill buffer as
2208 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2209 stored as char. Eliminates UCS4 truncation and corruption
2210 observed when killing characters with Ctrl-u and yanking them
2211 back with Ctrl-y.
2212
fc4c4fdd
VS
22132013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 Detach optional parts of gfxterm and integrate in with coreboot init.
2216
6570b205
VS
22172013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Move blit and fill dispatcher to appropriate files to decrease export
2220 and relocation overhead.
2221
b8323067
VS
22222013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2225 functions.
2226
3cc1878f
VS
22272013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/Makefile.am: Fix compilation problem with some
2230 automake versions.
2231
4b80e43c
VS
22322013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2235
57e0c20c
VS
22362013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2239 automake versions.
2240
4fd42c53
VS
22412013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2244 SSDT.
2245
1e908b34
RS
22462013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2247
2248 * grub-core/partmap/dfly.c: New partition map.
2249
1359e474
VS
22502013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2253 checking.
2254 Reported by: Francesco Lavra.
2255
17806392
AB
22562013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2257
2258 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2259 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2260 false conditions.
2261 * conf/Makefile.common: define dist_grubconf_DATA
2262
cdce14fa
VS
22632013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 Progressively skip menu elements on small terminals rather
2266 than crashing.
2267
c8d6cc3c
VS
22682013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2271 to avoid losing last column.
2272
a73b31ce
VS
22732013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * po/exclude.pot: Add missing string "%C".
2276
1202c764
VS
22772013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2280 after the test.
2281
50268344
VS
22822013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * util/grub-install.in: Gettextize "Not found" message.
2285
62b15edf
VS
22862013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Fix distfiles list.
2289 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2290
22912013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2292
2293 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2294 present.
2295 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2296
709ad61b
VS
22972013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2300
d128901a
VS
23012013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2304 attribute since structure is not necessarily aligned.
2305
34b22f5c
AB
23062013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2307
2308 * docs/grub.texi (Device syntax): Clarify description of network
2309 drives.
2310
0f7e980b
VS
23112013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2314 for vasprintf presence.
2315
30b03dc2
VS
23162013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * util/grub-install.in: Handle efibootmgr presence check.
2319 Reported by: Leif Lindholm.
2320
0dc11c08
VS
23212013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2324 new strings to translate.
2325
f8024c3f
VS
23262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2329 yet another string (pun intended) to translate.
2330
b4c1da62
VS
23312013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * po/POTFILES-shell.in: Autogenerate it.
2334
0ef7478b
VS
23352013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2338
8200fa15
VS
23392013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2342 misnomer.
2343
091945b2
AB
23442013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2345
2346 * docs/grub.texi (Network): Add description of net_default_interface,
2347 net_default_ip and net_default_mac. Rewrite variables description
2348 to emphasize that they are per-interface.
2349
0e7b2e32
VS
23502013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 New test: cmdline and cat.
2353
16f7c8f6
VS
23542013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/commands/cat.c: Show UTF-8 characters.
2357
3e912fda
VS
23582013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * conf/Makefile.common: Poison float and double on non-emu.
2361
ee0220bc
VS
23622013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * configure.ac: Don't disable extended registers on emu.
2365
89e0240c
VS
23662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * configure.ac: Don't use extended registers on x86_64.
2369 Reported by: Peter Jones.
2370
e56d9637
VS
23712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/term/efi/console.c: Fix compile error.
2374
8098f655
VS
23752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Compressed HFS+ support.
2378
16940e07
VS
23792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2382 pixel".
2383
c5dbc13d
VS
23842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Menu color test.
2387
011f8ae8
VS
23882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/tests/setjmp_test.c: New test.
2391
2aa072d7
VS
23922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 New variables 'net_default_*' to determine MAC/IP of default interface.
2395
43fe02cb
VS
23962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * tests/gettext_strings_test.in: A test to check for strings not
2399 marked for translation.
2400
bed06142
VS
24012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * autogen.sh: Exclude unused libgcrypt files from translation.
2404
fb2666b5
VS
24052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 Simplify few strings.
2408
d22840ec
VS
24092013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Mark few forgotten strings for translation.
2412
e34092fd
VS
24132013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2416 rather than printf.
2417
47cf82b4
VS
24182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2421 rather than printf.
2422 * grub-core/video/readers/tga.c: Likewise.
2423
1eed0e6e
VS
24242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * tests/priority_queue_unit_test.cc: New test.
2427
c5b7697b
VS
24282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2431 than printf.
2432
5945c2f8
AB
24332013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2434
2435 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2436 variable for one time boot menu entry.
2437
fa292343
B
24382013-05-05 Bean <bean123ch@gmail.com>
2439
2440 * grub-core/commands/testspeed.c: New command testspeed.
2441
310d4214
VS
24422013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Factor-out human-size printing.
2445
85002bf3
VS
24462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 Agglomerate more mallocs to speed-up gfxterm.
2449
22b06e96
VS
24502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Speed-up gfxterm by slightly agglomerating mallocs.
2453
b7c036bc
VS
24542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 More video checks.
2457
92323d1f
VS
24582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 Speed-up gfxterm by saving intermediate results in index+alpha
2461 format.
2462
0fb356a3
VS
24632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2466 test.
2467
44dea3f9
VS
24682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2471 line of timeout as it may contain the rest of long line.
2472
14af86e4
VS
24732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/normal/main.c: Fix freed memory dereference.
2476
03f7c8c3
VS
24772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Fix several memory leaks.
2480
c686014c
VS
24812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2484
0788a695
VS
24852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2488
daf01d61
VS
24892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Fix test -a and -o precedence.
2492 Reported by: adrian15.
2493
82ae74d7
VS
24942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2497
8cec7bd4
AB
24982013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2499
2500 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2501 and add it as source to functional_test module.
2502
aa73d688
VS
25032013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2506
c104b6f9
VS
25072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 New series of tests for gfxterm and gfxmenu.
2510
7391c4d5
VS
25112013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2514 the theme path relative to $prefix/themes.
2515
cff50118
VS
25162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2519 Fix order bug.
2520 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2521
7c332bdc
VS
25222013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2525 descriptor.
2526
a4f9a5ff
VS
25272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2530 grub_gfxmenu_timeout_notifications.
2531 (grub_gfxmenu_view_destroy): Likewise.
2532
b5a2114d
VS
25332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2536
a8905e8a
VS
25372013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Several fixes to ieee1275 and big-endian video.
2540
813c1622
VS
25412013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 Add missing exports on mips.
2544
3f3e7326
VS
25452013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2548 if no unifont is found.
2549 Restore original keyboard.
2550
095accd1
VS
25512013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2554 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2555
50361660
VS
25562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 First automated video test (running videotest and comparing results)
2559
cd0f6eec
VS
25602013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2563 instead of 2 to have full RGB/CMY test pattern.
2564
3f9634e5
VS
25652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Add few more tests.
2568
583e5b64
VS
25692013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2572 ARCS. All users updated.
2573
aa7bcb99
VS
25742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2577
95ef1a54
VS
25782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2581
46546fc5
VS
25822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2585 Reported by: qwertial.
2586
3476e0ef
VT
25872013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2588
2589 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2590 with syntax "XXX deg"/"XXX °".
2591
96f33fed
VS
25922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Make PCI init in i386-qemu port more robust.
2595
25962013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2597
2598 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2599 cached view is reused.
2600 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2601 open boot menus.
2602
c53b4e67
VS
26032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Unify more code in grub-install_header.
2606
f7457fb2
VS
26072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Add few new tests.
2610
e2f27a8c
VS
26112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 Enforce disabling of firmware disk drivers when native drivers kick in.
2614
ef9d8cd5
VS
26152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/commands/nativedisk.c: Customize the list of modules on
2618 platform. Don't try to search for disks already using native drivers.
2619
f7bf6c31
VS
26202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2623 platforms.
2624
bdc4add8
VS
26252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2628 handling of variables containing backslash.
2629
e9e46c9a
VS
26302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2633 dereference.
2634 Reported by: qwertial.
2635
0e90dee8
VS
26362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2639
e0aacf24
VS
26402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2643 dereference.
2644 Reported by: qwertial.
2645
3c0003c3
VS
26462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2649
adb7d667
VS
26502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2653
7cd0df84
VS
26542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 New command `nativedisk'.
2657
02adbb93
VS
26582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2661 * grub-core/loader/i386/bsd.c: Likewise.
2662
9fb0fd4f
VS
26632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2666
bd69257a
VS
26672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2670 grub_get_unaligned16 rather than shifts.
2671
178c2764
VS
26722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/kern/file.c: Use const char * rather than casting to
2675 non-const.
2676
eadfad24
VS
26772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/commands/probe.c: Add missing grub_device_close.
2680
9f73ebd4
VS
26812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * INSTALL: Document linguas.sh.
2684
965fa829
VS
26852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 Remove POTFILES.in and regenerate it in autogen.sh.
2688
d417ddc4
VS
26892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 Move --directory/--override-directorry to grub-install_header and unify.
2692
f97ec546
VS
26932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/term/morse.c: Macroify dih and dah.
2696
b2d7470c
PFS
26972013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2698
2699 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2700
141e2a78
VS
27012013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/term/ns8250.c: Systematically probe ports by writing
2704 to SR before using them.
2705
1dd70ebd
PFS
27062013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2707
2708 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2709 disks.
2710 (check_sas): Get sas_adress info.
2711
c796a107
VS
27122013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2715 ports.
2716
43168646
LD
27172013-04-27 Leon Drugi <eyak>
2718
2719 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2720 BSS clearing.
2721
e7b8fd08
VS
27222013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 Core compression test.
2725
17f9fd29
VS
27262013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Implement grub_machine_get_bootlocation for ARC.
2729
dc2a6c8b
VS
27302013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 Improve AHCI detection and command issuing.
2733
f25a2ba6
VS
27342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Fix pseries test.
2737
a6393224
VS
27382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Make 'make check' work on emu.
2741
db99fbe8
VS
27422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Replace libcurses with our own vt100 handling for the ease of testing
2745 and decreasing prerequisites.
2746
b24ca7cd
VS
27472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2750
63314aa4
VS
27512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2754 compile when not needed.
2755
c1b00fff
VS
27562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * tests/pseries_test.in: New test.
2759
f93e89ef
VS
27602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 Add test to check that different boot mediums work.
2763
c4b456d3
VS
27642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2767 ofw limited ISO support.
2768
5fe67f39
VS
27692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * configure.ac: Fix loongson conditional.
2772
7f63a64f
VS
27732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Enable mipsel-arc.
2776
b04b5990
VS
27772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Add serial on ARC platform.
2780
88d2f302
VS
27812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2784 commit.
2785
86eb23bc
VS
27862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * tests/partmap_test.in: Add missing double semicolon.
2789
eec3bb75
VS
27902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * util/grub-mkrescue.in: Fix loongson filename.
2793
e0810df3
VS
27942013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * util/grub-mkrescue.in: Move all files that don't have a location
2797 set in stone under /boot/grub. Use ISO hard links rather than copies
2798 to save some space.
2799
65a6b30b
VS
28002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2803 bogus SLOF values.
2804
6aff0107
VS
28052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 Make check work on mips-arc.
2808
5e013e56
VS
28092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * util/grub-mkrescue.in: Alias sashARCS as sash.
2812
d1989e2e
VS
28132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2816 it's serial.
2817
1a25e72c
VS
28182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/grub-install.in: Fix target fo qemu_mips.
2821 Fix extension on EFI.
2822
a59a9826
VS
28232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2826 in front of chosen entry to mark it even if highlighting is lost.
2827
1a40f80c
VS
28282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2831 gfxpayload=keep if cbfb is active.
2832
e343549c
VS
28332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2836
45fbd9a2
VS
28372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Add missing video ids to coreboot and ieee1275 video.
2840
ab1440bd
VS
28412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-mkrescue.in: Add mips-arc support.
2844
cdeb8324
VS
28452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2848
8528c879
VS
28492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 Move mips-arc link address. Previous link address was chosen
2852 in belief that RAM on SGI platforms grows down while in fact it
2853 grows up from an unusual base.
2854
17fca573
VS
28552013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2858 Fix a type which prevented CD-ROM and floppy boot.
2859
d178788e
VS
28602013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Support coreboot framebuffer.
2863
2864 * grub-core/video/i386/coreboot/cbfb.c: New file.
2865
fe4c3e7e
VS
28662013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2869 detecting too small regions.
2870
ec2dd179
VS
28712013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2874
872dac83
VS
28752013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2878 Remove dprintf.
2879 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2880
90ec4b7f
VS
28812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2884 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2885 * grub-core/loader/powerpc/ieee1275/linux.c
2886 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2887
f32555dd
VS
28882013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2891 Look for /boot-rom as well as /rom/boot-rom.
2892
38649799
VS
28932013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2896 handling when creating text_layer failed.
2897 * grub-core/video/video.c (grub_video_create_render_target):
2898 Set result to 0 on error.
2899 (grub_video_delete_render_target): Do not dereference NULL.
2900
aeace7f7
VS
29012013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2904 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2905 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2906 (grub_linux_load64): Mask out 2 high bits.
2907
4eafa175
AB
29082013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2909
2910 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2911 more place.
2912
daaa64bd
VS
29132013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Add support for pseries and other bootinfo machines to grub-mkrescue.
2916
2917 Tested by: Paulo Flabiano Smorigo.
2918
d0d2daa6
VS
29192013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * util/grub-mkrescue.in: Add GPT for EFI boot.
2922
b193e100
VS
29232013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2926 It improves performance in qemu.
2927
a0f8f3ac
VS
29282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * build-aux/snippet: Add missing gnulib files.
2931
284df0e2
AB
29322013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2933
2934 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2935
740201f3
AB
29362013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2937
2938 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2939
a7e03923
PJ
29402013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
29412013-04-15 Peter Jones <pjones@redhat.com>
2942
2943 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2944 sectors.
2945 Based on patch by Peter Jones.
2946
25fc51a8
VS
29472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 Fix DMRAID partition handling.
2950
88017d47
VS
29512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * tests/grub_cmd_date.in: Skip on sparc64.
2954
fa7d914e
VS
29552013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2958 firmware error messages.
2959
cbe57a48
VS
29602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2963 source and destination differ.
2964
21aecce0
VS
29652013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2968 detection.
2969
25092d29
VS
29702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2973 match config-util.h to avoid warnings and increase compatibility.
2974
79451522 29752013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 29762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2977
2978 Add option to compress files on install/image creation.
2979
78b7d77b
VS
29802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * docs/grub-dev.texi: Rearrange menu to match the section order.
2983 Reported by: Bryan Hundven.
2984
cc2fa5ec
VS
29852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2988
b49fe879
VS
29892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 Move GRUB out of system area when using xorriso 1.2.9 or later.
2992
5351da81
VS
29932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * tests/grub_cmd_date.in: Add missing exit 1.
2996
c9d586ea
VS
29972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * tests/partmap_test.in: Skip on sparc64.
3000
3f729741
VS
30012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Support grub-shell on sparc64.
3004
8ca86b3a
VS
30052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 Support mkrescue on sparc64.
3008
aa1af9bb
VS
30092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3012 Needed on OpenBIOS due to incomplete device tree.
3013
ac4fea79
VS
30142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3017 would be otherwise excluded.
3018
30192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3020
3021 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3022 Inline name defines used only once.
3023
fe22b071
VS
30242013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Fix memory leaks in ofnet.
3027 Reported by: Francesco Lavra.
3028
9d21381b
VS
30292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * docs/man/grub-glue-efi.h2m: Add missing file.
3032
07aec23c
VS
30332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3036
67ab8353
VS
30372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Better support Apple Intel Macs on CD.
3040
ba44ca6d
VS
30412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 Replace stpcpy with grub_stpcpy in tools.
3044
bbdd6305
VS
30452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 Handle Japanese special keys.
3048 Reported by: Hiroyuki YAMAMORI.
3049 Codes supplied by: Hiroyuki YAMAMORI.
3050
8573d302
VS
30512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * util/grub-mkimage.c: Document memdisk implying --prefix.
3054
d70dbab7
VS
30552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3058 much we can do about it anyway.
3059
51a4c3e3
AN
30602013-04-12 Aleš Nesrsta <starous@volny.cz>
3061
3062 Fix handling of split transfers.
3063
92c8f58d
VS
30642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/net/http.c: Fix bad free.
3067
b7d17a49
VS
30682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3071 than buffer size.
3072
a3d566d4
VS
30732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3076
a936af56
VS
30772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * tests/util/grub-shell.in: Fix it on powerpc.
3080
51212234
VS
30812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 Turn off QEMU ACPI-way since new releases don't have shutdown port
3084 anymore.
3085
a21eec9e
VS
30862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * docs/grub.texi: Update coreboot status info.
3089
e3734b84
VS
30902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * tests/grub_cmd_date.in: New test for datetime.
3093
f9d40055
VS
30942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * tests/partmap_test.in: Fix missing qemudisk setting.
3097
dbc56d8f
VS
30982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Support i386-ieee1275 grub-mkrescue and make check on it.
3101
a79b8a15
VS
31022013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3105 feature for it.
3106
48f39bb4
VS
31072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3110 GRUB_CMDLINE_XEN_DEFAULT.
3111 Reported by: Marc Warne (GigaTux) <gigatux>
3112
053cfcdd
VS
31132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Import new gnulib.
3116
93cd84df
VS
31172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Use ACPI shutdown intests as traditional port was removed.
3120
f4b1fa4f
AB
31212013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3122
3123 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3124 distinction.
3125
49818a59
VS
31262013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3129 Fix few warining messages and leaks while on it.
3130
9277a306
AB
31312013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3132
3133 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3134 links under grub-core/lib/libgcrypt-grub/mpi.
3135
d5e2a158
VS
31362013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Fix ia64-efi image generation on big-endian machines. Deduplicate
3139 some code while on it.
3140 Reported by: Leif Lindholm.
3141
18866643
AB
31422013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3143
3144 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3145 as extra_dist.
3146
ca53deb8
AB
31472013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3148
3149 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3150
d4c4b8e1
BH
31512013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3152
3153 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3154 texinfo-5.1.
3155
47043f95
VS
31562013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/normal/term.c: Few more fixes for menu entry editor
3159 rendering.
3160 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3161
a3216068
VS
31622013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/normal/term.c: Few more fixes for menu entry editor
3165 rendering.
3166 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3167
21026747
AB
31682013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3169
3170 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3171 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3172
59624ca8
AB
31732013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3174
3175 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3176 instead of hardcoding grub.mo.
3177
1f44478c
FN
31782013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3179
3180 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3181
eeada7b1
VS
31822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3185 grub-core/disk/geli.c.
3186
132867de
VS
31872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * util/grub-mkfont.c: Prefer enum to #define.
3190
de73de17
VS
31912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3194
1865baa7
VS
31952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3198
ce7d92a9
VS
31992013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3202
52eab656
VS
32032013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3206
98b23b95
VS
32072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/bsdlabel.h: Use enums.
3210
0467a5dd
VS
32112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Move GRUB_CHAR_BIT to types.h.
3214
16cc9f03
AB
32152013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3216
3217 * docs/grub.texi: Document more user commands.
3218
3152aecb
AB
32192013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3220
3221 * docs/grub.texi: Document menuentry --id option.
3222
c506fc30
FL
32232013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3224
3225 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3226
aa428238
VS
32272013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 Unify file copying setup across different install scripts. Add
3230 options for performing partial install.
3231
efe0cdda
PJ
32322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32332013-04-04 Peter Jones <pjones@redhat.com>
3234
3235 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3236
f75835bd
VS
32372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Use TSC as a possible time source on i386-ieee1275.
3240
2cd5ce6c
VS
32412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3244 Init err.
3245
c9625630
VS
32462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * util/grub-setup.c (setup): Handle some corner cases.
3249
be008941
VS
32502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3253
1a78d573
VS
32542013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/commands/verify.c: Save verified file to avoid it being
3257 tampered with after verification was done.
3258
db8ff59f
VS
32592013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3262 reported width by one to compensate for curesor algorithm problem.
3263
91bf46b1
VS
32642013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 Fix screen corruption in menu entry editor and simplify the code
3267 flow while on it.
3268
a7b1d693
AB
32692013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3270
3271 * util/grub-mount.c (fuse_init): Return error if fuse_main
3272 failed.
3273
31df9ad8
FL
32742013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3275
3276 * include/grub/elf.h: Add missing ARM relocation codes and fix
3277 existing ones.
3278
07f392eb
VT
32792013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3280
3281 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3282
9efd73ec 32832013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
32842013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3287 into account when calculating radius.
3288
32892013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3290
3291 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3292
4985ddaa
VT
32932013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3294
3295 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3296
8c3635ff
RS
32972013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3298
3299 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3300 missing closing bracket.
3301
74a35e69
RS
33022013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3303
3304 * INSTALL: Mention xorriso requirement.
3305
40f1c000
AB
33062013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3307
3308 * grub-core/commands/verify.c: Fix hash algorithms values for
3309 the first three hashes - they start with 1, not with 0.
3310
e75fdee4
VS
33112013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3314 Try terminating EFI services several times due to quirks in some
3315 implementations.
3316
33028f4c
CW
33172013-03-26 Colin Watson <cjwatson@ubuntu.com>
3318
3319 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3320 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3321 BankField extended opcodes.
3322 (get_sleep_type): Add minimal scope handling (just enough to
3323 handle setting the scope to the root path).
3324 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3325 * include/grub/acpi.h: Add enumeration values for Event, Device,
3326 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3327
33871a10
VT
33282013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3329
3330 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3331 memory leak.
3332
8990963a
VS
33332013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/disk/ahci.c: Give more time for AHCI request.
3336
daae8f9e
VS
33372013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3340 command.
3341
6a7fb94b
VS
33422013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 Replace the region at 0 from coreboot tables to available in BSD
3345 memory map.
3346
ff99babd
VS
33472013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3350 non-BIOS platforms.
3351
30d6b1b2
VS
33522013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3355 platforms.
3356
6ccd0b31
VS
33572013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3360 handling of multi-device filesystems.
3361
23c9cc04
VS
33622013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3365 platforms.
3366
ce50dbd7
VS
33672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Add new 'proc' filesystem framework and put luks_script into it.
3370
d975e8d5
VS
33712013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3374 and qemu.
3375
e73ba5e8
VS
33762013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3379
92750e4c
VS
33802013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Add ability to generate newc additions on runtime.
3383
0ec45a68
VS
33842013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3387 description.
3388
320abd43
VS
33892013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * po/POTFILES.in: Regenerate.
3392
d7a6506e
VS
33932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/commands/verify.c (hashes): Add several hashes
3396 from the spec.
3397
8fe05def
VS
33982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 Slight improve in USB-related boot-time checkpoints.
3401
524e2766
VS
34022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/commands/boottime.c: Fix copyright header.
3405
cc19857a
VS
34062013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3409 coreboot tables content. Support for cbmemc.
3410
ef8810e9
VS
34112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 Fix a conflict between ports structures with 2 controllers of
3414 same kind.
3415
e9dabdfa
VS
34162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * include/grub/boottime.h: Add missing file.
3419
f6df57d2
VS
34202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 Initialize USB ports in parallel to speed-up boot.
3423
d745dda7
VS
34242013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Fix USB devices not being detected when requested
3427 due to delayed attach.
3428
e5a2dd7b
VS
34292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3430
e744219b
VS
3431 Implement boot time analysis framework.
3432
34332013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3436 descriptor to just receive it as argument rather than endpoint
3437 address.
3438
5dd6f587
VS
34392013-03-19 Aleš Nesrsta <starous@volny.cz>
3440
3441 Better estimate the maximum USB transfer size.
3442
2f1071d5
VS
34432013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Resend a packet if we got the wrong buffer in status.
3446
46ecfc49
VS
34472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3450 multiplication rather than division.
3451
ea811130
VS
34522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3455 than divisions.
3456
d2789cf0
VS
34572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3460 operations to have intended shifts and not divisions.
3461
a9c94590
VS
34622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3465 intended shifts rather than division.
3466
84cfe81b
VS
34672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3470 computation for some years before epoch. Avode confusing division
3471 while on it.
3472
21344ef6
VS
34732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/video/i386/pc/vbe.c
3476 (grub_video_vbe_print_adapter_specific_info): Replace division by
3477 shifts.
3478
3f2b4d1a
VS
34792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 Adjust types in gdb module to have intended unsigned shifts rather than
3482 signed divisions.
3483
3dac5878
VS
34842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3487 maximum size is 4G - 1 on hfs
3488
5341c0fb
VS
34892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3492
fc3ff2a2
VS
34932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3496 function.
3497
81455e8e
AB
34982013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3499
3500 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3501 causing gcc error with gcc 4.7.1.
3502
efd4f117
NZ
35032013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3504
3505 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3506 dereference null pointer. While the code is technically correct, gcc
3507 may eliminate a null check if pointer is already dereferenced.
3508
e11645f4
NZ
35092013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3510
3511 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3512 OOM check.
3513 * grub-core/normal/term.c (read_terminal_list): Likewise.
3514
77468368
VS
35152013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Lift up core size limits on some platforms. Fix potential memory
3518 corruption with big core on small memory systems. Document remaining
3519 limits.
3520
f6b58fe5
VS
35212013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3524 gotoxy to 0,0.
3525
19ce697d
VS
35262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 Remove all trampoline support. Add -Wtrampolines when
3529 present. Remove symbols used for trampolines to make
3530 link fail if trampolines are present.
3531
73b5d90f
VS
35322013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3535 append out of its parent.
3536
cb758e96
VS
35372013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3540 parent.
3541
3188131f
VS
35422013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3545 all vars to a macro. All users updated.
3546
e42b2514
VS
35472013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3550 i386-ieee1275.
3551
83e1a1a1
VS
35522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3555
1d5a880f
VS
35562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3559
6e4146c4
VS
35602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 Move to more hookless approach in IEEE1275 devices handling.
3563
99fcda8a
VS
35642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/kern/term.c (grub_term_normal_color),
3567 (grub_term_highlight_color): Add back lost defaults.
3568
73bf57e2
VS
35692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 Make elfload not use hooks. Opt for flags and iterators instead.
3572
7f8c105f
VS
35732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3576 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3577
396d4091
VS
35782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3581
35822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3585 hook pass-through parameter. All users updated and unnested.
3586
74a27421
VS
35872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3590 out of its parent.
3591
b46d4213
VS
35922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/fs/hfs.c: Remove nested functions.
3595
e114c3cc
VS
35962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3599 the context through.
3600 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3601
f9b7d780
VS
36022013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * util/grub-editenv.c (list_variables): Move print_var out of its
3605 parent.
3606
ca9c2608
VS
36072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3610 function.
3611
5d983f5f
VS
36122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/gentrigtables.c: Make tables const.
3615
3056d3e7
VS
36162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Remove nested functions from videoinfo iterators.
3619
e2303774
VS
36202013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3623 for 64-bit platforms.
3624
f42e3a2f
VS
36252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3628 a FOR_CHILDREN macro.
3629
be174e5e
VS
36302013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3633 platform from firmware path.
3634
0789b672
VS
36352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 Enable linux16 on non-BIOS systems for i.a. memtest.
3638
3639 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3640 correctly.
3641 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3642
005a9c32
VS
36432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3646 Fix end of table condition.
3647
ff2b3cd9
VS
36482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3651 out of its parent.
3652
4fc40ff8
VS
36532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/fs/jfs.c: Remove nested functions.
3656
be42d97a
VS
36572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/fs/minix.c: Remove nested functions.
3660
99373ce4
VS
36612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/fs/iso9660.c: Remove nested functions.
3664
5aec2afe
VS
36652013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3668 of parent function.
3669
6c69e691
VS
36702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-fstest.c: Remove nested functions.
3673
43c91882
VS
36742013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/loader/machoXX.c: Remove nested functions.
3677
4eb8b756
CW
36782013-02-27 Colin Watson <cjwatson@ubuntu.com>
3679
3680 Remove nested functions from disk and file read hooks.
3681
3682 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3683 (struct grub_disk): Add read_hook_data member.
3684 * include/grub/file.h (struct grub_file): Likewise.
3685 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3686 argument.
3687
3688 Update all callers.
3689
df6da5a5
AB
36902012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3691
3692 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3693 Fix off by one error in enumerating extended partitions.
3694
21aecde5
AB
36952013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3696
3697 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3698 memory leak if device name is not found.
3699
f1a19118
AB
37002013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3701
3702 * grub-core/normal/menu_entry.c (update_screen): remove
3703 unused variable `off' which caused scroll down arrow to be always shown.
3704
958bfd20
AB
37052013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3706
3707 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3708 access to unallocated memory.
3709
b7b78edb
AB
37102013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3711
3712 * Makefile.util.def: Add partmap/msdos.c to common library.
3713 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3714 * grub-core/disk/ldm.c: Check for existence of
3715 GRUB_PC_PARTITION_TYPE_LDM.
3716
28d468d6
VS
37172013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3720 sizes and display sector size.
3721
d55ffb02
VS
37222013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 Implement new command cmosdump.
3725
b5ea6ce0
VS
37262013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3727
3728 Support Openfirmware disks with non-512B sectors.
3729
3730 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3731 size of the disk.
3732 * (grub_ofdisk_get_block_size): New function.
3733 * (grub_ofdisk_prepare): Use the correct block size.
3734 * (grub_ofdisk_read): Likewise.
3735 * (grub_ofdisk_write): Likewise.
3736 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3737 New proto.
3738
cc0e476f
VS
37392013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3742
c5dbdc33
VS
37432013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3746 on first error.
3747
3f078c0f
VS
37482013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3751 freeing it.
3752
66a93674
VS
37532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 Implement USBDebug (full USB stack variant).
3756
c9f0c134
VS
37572013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3760 unless they have unexpected values.
3761
cfe1288b
VS
37622013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3765 grub_print_error.
3766
e42b9969
VS
37672013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3770 zero-out of port structure.
3771
cf94fd62
VS
37722013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3775 of extended attributes.
3776
f81ef4b5
AB
37772013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3778
3779 * util/grub-install.in: change misleading comment about
3780 device.map creation
3781
af18fdb4
VS
37822013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3785 when menu highlight color isn't set.
3786
08bcec50
M
37872013-01-27 C. Masloch <pushbx@38.de>
3788
3789 Improve FreeDOS direct loading support compatibility.
3790
3791 * include/grub/i386/relocator.h (grub_relocator16_state):
3792 New member ebp.
3793 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3794 variable.
3795 (grub_relocator16_boot): Handle %ebp.
3796 * grub-core/lib/i386/relocator16.S: Likewise.
3797 * grub-core/loader/i386/pc/freedos.c:
3798 Load BPB to pass kernel which partition to load from.
3799 Check that kernel file is not too large.
3800 Set register dl to BIOS unit number as well.
3801
7782b8a6
CW
38022013-01-22 Colin Watson <cjwatson@ubuntu.com>
3803
3804 * util/grub-reboot.in (usage): Document the need for
3805 GRUB_DEFAULT=saved.
3806 * util/grub-set-default.in (usage): Likewise.
3807 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3808
e661c180
VS
38092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3812 than defining WORDS_BIGENDIAN manually.
3813
1c22ca9a
VS
38142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3817 invariants.
3818
d44892fe
CW
38192013-01-21 Colin Watson <cjwatson@ubuntu.com>
3820
3821 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3822 nested.
3823 (blit_comb: add_device_width): Likewise.
3824
5fdbaed1
CW
38252013-01-21 Colin Watson <cjwatson@ubuntu.com>
3826
3827 Remove nested functions from USB iterators.
3828
3829 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3830 (grub_usb_controller_iterate_hook_t): Likewise.
3831 (grub_usb_iterate): Add hook_data argument.
3832 (grub_usb_controller_iterate): Likewise.
3833 (struct grub_usb_controller_dev.iterate): Likewise.
3834
3835 Update all implementations and callers.
3836
4250985a
VS
38372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3840 margin when not needed.
3841
7d8848f3
VS
38422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3843
bc136973 3844 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3845
38462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3847
bc136973
VS
3848 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3849 asterisk.
7d8848f3 3850
ed12a003
CW
38512013-01-21 Colin Watson <cjwatson@ubuntu.com>
3852
3853 Fix powerpc and sparc64 build failures caused by un-nesting memory
3854 map iterators.
3855
6a0db449
CW
38562013-01-21 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3859 parameter declarations.
3860
ccd86b21
VS
38612013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3864
822b726b
VS
38652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 Improve spkmomdem reliability by adding a separator between bytes.
3868
115c2cc1
CW
38692013-01-21 Colin Watson <cjwatson@ubuntu.com>
3870
3871 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3872 an Acer registration utility with several sightings in the wild.
3873 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3874
fc524edf
CW
38752013-01-21 Colin Watson <cjwatson@ubuntu.com>
3876
3877 Remove nested functions from filesystem directory iterators.
3878
3879 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3880 (struct grub_fs.dir): Add hook_data argument.
3881
3882 Update all implementations and callers.
3883
53d3e4e3
CW
38842013-01-21 Colin Watson <cjwatson@ubuntu.com>
3885
3886 * docs/grub.texi (Multi-boot manual config): Fix typo for
3887 "recommended".
3888
c821711f
LL
38892013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3890
3891 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3892 until after its use in generate_image.
3893
6a0debbd
CW
38942013-01-20 Colin Watson <cjwatson@ubuntu.com>
3895
3896 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3897 initrd size to addr_min, since the initrd will be allocated after
3898 this address.
3899
f41e08db
AB
39002013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3901
3902 * conf/Makefile.common: Fix autogen rules to pass definition
3903 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3904
77529e0f
LL
39052013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3906
3907 * include/grub/elf.h: Update ARM definitions based on binutils.
3908
b879aa7b
VS
39092013-01-20 Aleš Nesrsta <starous@volny.cz>
3910
3911 Split long USB transfers into short ones.
3912
8eb8284d
AB
39132013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3914
3915 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3916 is interrupted by ESC.
3917
08dad2dc
VS
39182013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * util/grub-script-check.c (main): Uniform the error message.
3921
6c724b85
CW
39222013-01-20 Colin Watson <cjwatson@ubuntu.com>
3923
3924 Remove nested functions from ELF iterators.
3925
25239370
CW
39262013-01-20 Colin Watson <cjwatson@ubuntu.com>
3927
3928 Remove nested functions from device iterators.
3929
3930 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3931 (grub_arc_iterate_devs): Add hook_data argument.
3932 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3933 (struct grub_ata_dev.iterate): Add hook_data argument.
3934 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3935 (grub_device_iterate): Add hook_data argument.
3936 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3937 (struct grub_disk_dev.iterate): Add hook_data argument.
3938 (grub_disk_dev_iterate): Likewise.
3939 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3940 Likewise.
3941 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3942 Likewise.
3943 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3944 type.
3945 (struct grub_partition_map.iterate): Add hook_data argument.
3946 (grub_partition_iterate): Likewise.
3947 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3948 (struct grub_scsi_dev.iterate): Add hook_data argument.
3949
3950 Update all callers.
3951
6c0314d6
CW
39522013-01-20 Colin Watson <cjwatson@ubuntu.com>
3953
3954 Fix typos for "developer" and "development".
3955
600dc5f1
VS
39562013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 Add license header to spkmodem-recv.c.
3959
17334a6b
VS
39602013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Rewrite spkmodem to use PIT for timing. Double the speed.
3963
7d462559
VS
39642013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 Add new command pcidump.
3967
b78d6c32
VS
39682013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 New terminal outputs using serial: morse and spkmodem.
3971
34f71cb8
VS
39722013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Improve bidi handling in entry editor.
3975
4542e71b
VS
39762013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3979 argument to prevent name collision.
3980
09fd6d82
CW
39812013-01-15 Colin Watson <cjwatson@ubuntu.com>
3982
3983 Remove nested functions from script reading and parsing.
3984
3985 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3986 getline_data argument, passed to getline.
3987 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3988 getline_data argument, passed to grub_parser_split_cmdline.
3989 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3990 lexerstate->getline_data to lexerstate->getline.
3991 (grub_script_lexer_init): Add getline_data argument, saved in
3992 lexerstate->getline_data.
3993 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3994 argument, passed to grub_script_parse.
3995 * grub-core/script/script.c (grub_script_parse): Add getline_data
3996 argument, passed to grub_script_lexer_init.
3997 * include/grub/parser.h (grub_parser_split_cmdline): Update
3998 prototype. Update all callers to pass appropriate getline data.
3999 (struct grub_parser.parse_line): Likewise.
4000 (grub_rescue_parse_line): Likewise.
4001 * include/grub/reader.h (grub_reader_getline_t): Add void *
4002 argument.
4003 * include/grub/script_sh.h (struct grub_lexer_param): Add
4004 getline_data member.
4005 (grub_script_parse): Update prototype. Update all callers to pass
4006 appropriate getline data.
4007 (grub_script_lexer_init): Likewise.
4008 (grub_normal_parse_line): Likewise.
4009
4010 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4011 data argument.
4012 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4013 static instead of nested. Rename to ...
4014 (grub_parser_execute_getline): ... this.
4015 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4016 data argument.
4017 * grub-core/normal/main.c (read_config_file: getline): Make static
4018 instead of nested. Rename to ...
4019 (read_config_file_getline): ... this.
4020 (grub_normal_read_line): Add unused data argument.
4021 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4022 getline): Make static instead of nested. Rename to ...
4023 (grub_script_execute_sourcecode_getline): ... this.
4024 * util/grub-script-check.c (main: get_config_line): Make static
4025 instead of nested.
4026
d0d4b8a0
CW
40272013-01-15 Colin Watson <cjwatson@ubuntu.com>
4028
4029 Remove nested functions from memory map iterators.
4030
4031 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4032 argument, passed to hook.
4033 * grub-core/kern/i386/coreboot/mmap.c
4034 (grub_linuxbios_table_iterate): Likewise.
4035 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4036 instead of nested.
4037 (grub_machine_mmap_iterate): Add hook_data argument.
4038 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4039 Add hook_data argument, passed to hook.
4040 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4041 Likewise.
4042 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4043 Likewise.
4044 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4045 Likewise.
4046 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4047 Likewise.
4048 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4049 Likewise.
4050 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4051 Likewise.
4052 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4053 (grub_machine_mmap_iterate): Likewise.
4054 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4055 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4056 prototype.
4057 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4058 Remove NESTED_FUNC_ATTR from here and from all users.
4059 (grub_mmap_iterate): Update prototype.
4060 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4061 pass appropriate hook data.
4062 (grub_machine_mmap_iterate): Likewise.
4063
4064 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4065 static instead of nested.
4066 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4067 Rename to ...
4068 (lsmmap_hook): ... this.
4069 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4070 Likewise.
4071 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4072 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4073 heap_init): Likewise.
4074 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4075 Rename to ...
4076 (mmap_iterate_hook): ... this.
4077 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4078 Likewise.
4079 * grub-core/lib/ieee1275/relocator.c
4080 (grub_relocator_firmware_get_max_events: count): Likewise.
4081 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4082 to ...
4083 (grub_relocator_firmware_fill_events_iter): ... this.
4084 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4085 hook): Likewise. Rename to ...
4086 (grub_relocator_alloc_chunk_align_iter): ... this.
4087 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4088 Rename to ...
4089 (generate_e820_mmap_iter): ... this.
4090 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4091 Rename to ...
4092 (count_hook): ... this.
4093 (grub_linux_boot: hook): Likewise. Rename to ...
4094 (grub_linux_boot_mmap_find): ... this.
4095 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4096 (grub_linux_boot_mmap_fill): ... this.
4097 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4098 hook): Likewise. Rename to ...
4099 (grub_fill_multiboot_mmap_iter): ... this.
4100 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4101 hook): Likewise. Rename to ...
4102 (count_hook): ... this.
4103 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4104 hook): Likewise. Rename to ...
4105 (grub_fill_multiboot_mmap_iter): ... this.
4106 * grub-core/loader/powerpc/ieee1275/linux.c
4107 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4108 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4109 Likewise. Rename to ...
4110 (alloc_phys_choose): ... this.
4111 (determine_phys_base: get_physbase): Likewise.
4112 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4113 find_hook): Likewise.
4114 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4115 (malloc_hook: count_hook): Likewise.
4116 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4117 Likewise. Rename to ...
4118 (lower_hook): ... this.
4119 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4120 (upper_hook): ... this.
4121 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4122 (post64_hook): ... this.
4123 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4124 Likewise. Rename to ...
4125 (lower_hook): ... this.
4126 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4127 (upper_hook): ... this.
4128 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4129 (grub_mmap_iterate: fill_hook): Likewise.
4130 (fill_mask): Pass addr and mask within a single struct.
4131 (grub_cmd_badram: hook): Make static instead of nested. Rename
4132 to ...
4133 (badram_iter): ... this.
4134 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4135 (cutmem_iter): ... this.
4136
22099030
VS
41372013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4140 delimit path in strings using quotes.
4141 * util/getroot.c (grub_guess_root_devices): Likewise.
4142 (grub_make_system_path_relative_to_its_root): Likewise.
4143 * util/grub-probe.c (probe): Likewise.
4144 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4145 (xrealpath): Likewise.
4146
4a9950ec
VS
41472013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Fix compilation with older compilers.
4150
4151 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4152 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4153 declarations.
4154 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4155 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4156 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4157 identifier with b.
4158 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4159 * include/grub/crypto.h: Add type defines.
4160 * util/import_gcrypth.sed: Remove duplicate type defines.
4161
adcc6020
VS
41622013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 New command list_trusted.
4165
4166 * grub-core/commands/verify.c (grub_cmd_list): New function.
4167
a4528937
CW
41682013-01-13 Colin Watson <cjwatson@ubuntu.com>
4169
4170 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4171 info message.
4172
ca3a7446
CW
41732013-01-13 Colin Watson <cjwatson@ubuntu.com>
4174
4175 Remove nested functions from PCI iterators.
4176
4177 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4178 passed to hook. Update all callers to pass appropriate hook data.
4179 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4180 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4181 Remove NESTED_FUNC_ATTR from here and from all users.
4182 (grub_pci_iterate): Update prototype.
4183 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4184 instead of nested. Rename to ...
4185 (grub_cs5536_find_iter): ... this.
4186 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4187 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4188 Likewise.
4189 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4190 Likewise.
4191 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4192 Likewise.
4193 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4194 Likewise.
4195 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4196 * grub-core/video/radeon_fuloong2e.c
4197 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4198 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4199 find_card): Likewise.
4200 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4201 Likewise.
4202
f8e98fee
VS
42032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/commands/verify.c: Mark messages for translating.
4206
055b36b6
VS
42072013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4210 fatal.
4211
f7ff879b
VS
42122013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4215 fatal.
4216
42172013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4218
4219 * autogen.sh: Do not try to delete nonexistant files.
4220 * util/import_gcrypth.sed: Add some missing header removals.
4221
01323d49
CW
42222013-01-12 Colin Watson <cjwatson@ubuntu.com>
4223
4224 Clean up dangling references to grub-setup.
4225 Fixes Ubuntu bug #1082045.
4226
4227 * docs/grub.texi (Images): Refer generally to grub-install rather
4228 than directly to grub-setup.
4229 (Installing GRUB using grub-install): Remove direct reference to
4230 grub-setup.
4231 (Device map) Likewise.
4232 (Invoking grub-install): Likewise.
4233 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4234 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4235 * util/grub-install.in (usage): Likewise.
4236
4237 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4238 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4239 grub-setup.
4240 * configure.ac: Remove grub_setup output variable.
4241
4242 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4243 to grub-bios-setup.
4244 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4245 grub-setup to grub-sparc64-setup.
4246
5e3b8dcb
VS
42472013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Import gcrypt public-key cryptography and implement signature checking.
4250
535714bd
VS
42512013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/fs/ntfs.c: Ue more appropriate types.
4254 * grub-core/fs/ntfscomp.c: Likewise.
4255 * include/grub/ntfs.h: Likewise.
4256
3e4f3566
VS
42572013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Support Apple FAT binaries on non-Apple platforms.
4260
4261 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4262 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4263 Likewise.
4264 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4265 Apple FAT binaries.
4266
4dedb13f
VS
42672013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4270 sector devices.
4271
f8861eaf
CW
42722013-01-07 Colin Watson <cjwatson@ubuntu.com>
4273
4274 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4275 explicitly zeroing elements.
4276 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4277 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4278 of elements in a structure already allocated using grub_zalloc.
4279 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4280
86065b0a
CW
42812013-01-07 Colin Watson <cjwatson@ubuntu.com>
4282
4283 * docs/grub.texi (grub_cpu): New subsection.
4284 (grub_platform): Likewise.
4285
c6f1e92f
VS
42862013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4289
f797ec85
VS
42902013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4293 divisions.
4294
033d0b4b
VS
42952013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4298 * grub-core/fs/ntfscomp.c: Likewise.
4299 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4300 (grub_ntfs_comp): Likewise.
4301
21d1b9a0
VS
43022013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4305 Rename to ...
4306 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4307 of groups_per_block. All users updated.
4308
10ca8645
VS
43092013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4312 grub_error properly.
4313 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4314 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4315
a4c3ed4c
VS
43162013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4319 always in /boot/zfs.
4320 Reported by: Yuta Satoh.
4321
0b716507
YS
43222013-01-03 Yuta Satoh <nigoro>
4323
4324 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4325 ${grub_probe}
4326
00c05e22
VS
43272013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * configure.ac: Extend -Wno-trampolines to host.
4330
dadddb76
VS
43312013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4334 entry->len = 0.
4335
54ce53ca
CW
43362013-01-03 Colin Watson <cjwatson@ubuntu.com>
4337
4338 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4339 (Invoking grub-script-check): Likewise.
4340
8912efca
CW
43412013-01-03 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * docs/grub.texi (Invoking grub-mount): New section.
4344 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4345
c3fc8394
CW
43462013-01-02 Colin Watson <cjwatson@ubuntu.com>
4347
4348 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4349 test failures, so that a failing unit test correctly causes 'make
4350 check' to fail.
4351
45d26abb
CW
43522013-01-02 Colin Watson <cjwatson@ubuntu.com>
4353
4354 Fix failing printf test.
4355
4356 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4357 '$' in the correct order when collecting type information.
4358
971dd2c6
CW
43592013-01-02 Colin Watson <cjwatson@ubuntu.com>
4360
4361 * docs/grub.texi (configfile): Explain environment variable
4362 handling.
4363 (source): New section.
4364 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4365
5c67ea6c
CW
43662012-12-31 Colin Watson <cjwatson@ubuntu.com>
4367
4368 Remove several trivially-unnecessary uses of nested functions.
4369
4370 * grub-core/commands/i386/pc/sendkey.c
4371 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4372 instead of nested.
4373 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4374 Rename to ...
4375 (legacy_file_getline): ... this.
4376 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4377 Likewise.
4378 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4379 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4380 to ...
4381 (probe_dummy_iter): ... this.
4382 * grub-core/kern/i386/coreboot/mmap.c
4383 (grub_linuxbios_table_iterate: check_signature): Likewise.
4384 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4385 check_varstate): Likewise. Mark inline.
4386 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4387 an additional parameter.
4388 (find_long: fnd_long): Likewise. Pass two additional parameters.
4389 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4390 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4391 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4392 Likewise. Rename to ...
4393 (grub_cmos_find_port_iter): ... this.
4394 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4395 Rename to ...
4396 (find_rtc_iter): ... this.
4397
4398 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4399 function directly into the function body, since it is only called
4400 once.
4401
33a68ac6
CW
44022012-12-30 Colin Watson <cjwatson@ubuntu.com>
4403
4404 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4405 __attribute__ ((unused)).
4406 * grub-core/video/bochs.c (find_card): Likewise.
4407 * grub-core/video/cirrus.c (find_card): Likewise.
4408 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4409 * grub-core/video/sis315pro.c (find_card): Likewise.
4410 * grub-core/video/sm712.c (find_card): Likewise.
4411
608b647a
CW
44122012-12-28 Colin Watson <cjwatson@ubuntu.com>
4413
4414 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4415 Fixes Savannah bug #37821.
4416
fd49ceb3
CW
44172012-12-28 Colin Watson <cjwatson@ubuntu.com>
4418
4419 Apply program name transformations at build-time rather than at
4420 run-time. Fixes Debian bug #696465.
4421
4422 * acinclude.m4 (grub_TRANSFORM): New macro.
4423 * configure.ac: Create output variables with transformed names for
4424 most programs.
4425 * util/bash-completion.d/grub-completion.bash.in: Use
4426 pre-transformed variables for program names.
4427 * util/grub-install.in: Likewise.
4428 * util/grub-kbdcomp.in: Likewise.
4429 * util/grub-mkconfig.in: Likewise.
4430 * util/grub-mkconfig_lib.in: Likewise.
4431 * util/grub-mknetdir.in: Likewise.
4432 * util/grub-mkrescue.in: Likewise.
4433 * util/grub-mkstandalone.in: Likewise.
4434 * util/grub-reboot.in: Likewise.
4435 * util/grub-set-default.in: Likewise.
4436 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4437 * tests/util/grub-shell-tester.in: Remove unused assignment.
4438 * tests/util/grub-shell.in: Likewise.
4439 * util/grub.d/00_header.in: Likewise.
4440
7024b3c0
CW
44412012-12-28 Colin Watson <cjwatson@ubuntu.com>
4442
4443 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4444
4445 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4446 HAVE_RAW_DECL_GETS.
4447 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4448
e3501b13
VS
44492012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4452 Reported by: Eriks Latosheks <foresterlv>.
4453
b40c88a9
VS
44542012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * docs/grub.texi (Network): Update instructions on generating netboot
4457 image.
4458
ce96d01c
VS
44592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4462 around device name if necessarry.
4463
0f596201
PFS
44642012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4465
4466 * util/grub-install.in: Follow the symbolic link parameter added
4467 to the file command.
4468
600d5bdb
AB
44692012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4470
4471 * util/grub-install.in: Remove stale TODO.
4472
64ebd2f4
PFS
44732012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4474
4475 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4476 dynamic allocation for the bootpath buffer.
4477
74b2fe3e
DTB
44782012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4479
4480 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4481 window too small.
4482
969b804f
VS
44832012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4486 argument rather than font name. All users updated.
4487 (grub_gfxterm_set_window): Likewise.
4488
b9f5ebd6
VT
44892012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4490
4491 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4492 from working.
4493
258f43b7
VS
44942012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * util/getroot.c (convert_system_partition_to_system_disk): Support
4497 nbd disks.
4498
cc1ce5f9
VS
44992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4502 infinite loop on corrupted FS.
4503
e77a16ca
VS
45042012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 Fix big-endian mtime.
4507
4508 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4509 together sec and usec.
4510 (grub_ufs_dir): Use correct byteswapping for UFS time.
4511
d9c48c7b
VS
45122012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 Support big-endian UFS1.
4515
4516 * Makefile.util.def (libgrubmods): Add ufs_be.c
4517 * grub-core/Makefile.core.def (ufs1_be): New module.
4518 * grub-core/fs/ufs_be.c: New file.
4519 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4520 the file.
4521
2f9f40ba
LL
45222012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4523
4524 * include/grub/types.h: Fix functionality unaffecting typo in
4525 GRUB_TARGET_WORDSIZE conditional macro.
4526
48ff0889
PFS
45272012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4528
4529 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4530
03711240
GS
45312012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4532
4533 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4534 that /netbsd appears first (when it exists).
4535
a31b11bd
CJ
45362012-10-12 Christoph Junghans <ottxor@gentoo.org>
4537
4538 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4539 Fixes Savannah bug #37558.
4540
e8a5d5d4
CW
45412012-10-12 Colin Watson <cjwatson@ubuntu.com>
4542
4543 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4544 description of extract_entries_configfile.
4545
45462012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4547
4548 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4549 preferred_address.
4550 (grub_cmd_linux): Likewise.
4551 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4552 preferred_lifetime. Update all users.
4553
288c757d
CW
45542012-09-26 Colin Watson <cjwatson@ubuntu.com>
4555
4556 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4557 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4558
0d35da3f
CW
45592012-09-26 Colin Watson <cjwatson@ubuntu.com>
4560
4561 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4562 errors from grub-probe to /dev/null, not stdout.
4563
b78c3127
VS
45642012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4567 sector 1.
4568
473959f0
CW
45692012-09-24 Colin Watson <cjwatson@ubuntu.com>
4570
4571 * util/grub-install.in: Make the error message if $source_dir
4572 doesn't exist more useful.
4573
794c8c33
CW
45742012-09-22 Colin Watson <cjwatson@ubuntu.com>
4575
4576 Fix grub-emu build on FreeBSD.
4577
4578 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4579 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4580 headers on Linux.
4581 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4582 implementation is currently Linux-specific.
4583 * util/getroot.c (exec_pipe): Define only on Linux or when either
4584 libzfs or libnvpair is unavailable.
4585 (find_root_devices_from_poolname): Remove unused path variable.
4586
86d08fdb
CW
45872012-09-19 Colin Watson <cjwatson@ubuntu.com>
4588
4589 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4590 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4591 should fit before end == 63.
4592
735abf54
CW
45932012-09-19 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * util/grub-setup.c (write_rootdev): Remove unused core_img
4596 parameter. Update all callers.
4597 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4598 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4599 GRUB_SETUP_BIOS.
4600
140acd3c
VS
46012012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4604 (grub_add_tab): New function.
4605 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4606 * util/grub.d/10_illumos.in: Likewise.
4607 * util/grub.d/10_kfreebsd.in: Likewise.
4608 * util/grub.d/10_linux.in: Likewise.
4609 * util/grub.d/10_netbsd.in: Likewise.
4610 * util/grub.d/10_windows.in: Likewise.
4611 * util/grub.d/10_xnu.in: Likewise.
4612 * util/grub.d/20_linux_xen.in: Likewise.
4613 * util/grub.d/30_os-prober.in: Likewise.
4614
7ddffdad
VS
46152012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4618 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4619 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4620 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4621 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4622 ieee1275-nocursor.
4623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4624 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4625
4e092454
VS
46262012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4629 le-conversion.
4630 Reported by: BURETTE, Bernard.
4631
735abf54 46322012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4633
4634 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4635 from comment.
4636
dfd39dbd
CW
46372012-09-14 Colin Watson <cjwatson@ubuntu.com>
4638
4639 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4640 IEEE1275 machines. Fixes powerpc-emu compilation.
4641 * include/grub/terminfo.h: Likewise.
4642
3bfa763c
VS
46432012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4646 a const pointer.
4647 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4648 const pointer.
4649 (efiemu_set_variable): Make vendor_guid a const pointer.
4650
250e475b
VS
46512012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Don't require grub-mkconfig_lib to generate manpages for programs.
4654
4655 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4656 dependencies, don't add grub-mkconfig_lib.
4657 (program): Pass empty adddeps.
4658 (script): Pass grub-mkconfig_lib as adddeps.
4659
592fd0e4
VS
46602012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4663 * util/getroot.c (grub_find_device): Likewise.
4664 (get_mdadm_uuid): Likewise.
4665 (grub_util_is_imsm): Likewise.
4666 (grub_util_pull_device): Likewise.
4667 * util/grub-probe.c (probe): Likewise.
4668
801a3027
BG
46692012-09-10 Benoit Gschwind <gschwind>
4670
4671 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4672 (devs): Add devpath_8.
4673
c5052c81
PJ
46742012-09-08 Peter Jones <pjones@redhat.com>
4675
4676 * grub-core/Makefile.core.def (efifwsetup): New module.
4677 * grub-core/commands/efi/efifwsetup.c: New file.
4678 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4679 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4680 New define.
4681 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4682
8e832f71
JS
46832012-09-05 Jiri Slaby <jslaby@suse.cz>
4684
4685 * configure.ac: Add SuSe path.
4686
f0f55752
CW
46872012-09-05 Colin Watson <cjwatson@ubuntu.com>
4688
4689 * NEWS: Fix typo.
4690
ecadc4c2
CW
46912012-09-05 Colin Watson <cjwatson@ubuntu.com>
4692
4693 * util/import_gcry.py: Sort cipher_files, to make build system
4694 generation more deterministic.
4695
64498f25
VS
46962012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4699 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4700 (grub_set_datetime): Likewise.
4701
9cc836a2
VS
47022012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4705 warnings.
4706
bcfcea01
VS
47072012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4710
a4099485
VS
47112012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4714
265c162a
CW
47152012-09-04 Colin Watson <cjwatson@ubuntu.com>
4716
4717 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4718 required for checkouts from bzr, but it may be useful for users or
4719 distributors wishing to update translations against a tarball
4720 distribution, and it can be helpful for the tarball to be a superset
4721 of what's in bzr.
4722
3d171e95
CW
47232012-09-04 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * Makefile.am (EXTRA_DIST): Add
4726 grub-core/tests/boot/linux.init-mips.S,
4727 grub-core/tests/boot/linux.init-ppc.S, and
4728 grub-core/tests/boot/linux-ppc.cfg.
4729
f2c2503e
CW
47302012-09-04 Colin Watson <cjwatson@ubuntu.com>
4731
4732 * grub-core/mmap/mips/loongson: Remove empty directory.
4733
47342012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4735
4736 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4737 gone.
4738
ab2163d5
CW
47392012-09-04 Colin Watson <cjwatson@ubuntu.com>
4740
4741 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4742 grub-sparc64-setup.
4743
ce938140
GS
47442012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4745
4746 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4747
529f58a5
GS
47482012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4749
4750 * po/POTFILES.in: Regenerated.
4751
16cf79e9
GS
47522012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4753
4754 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4755 (NetBSD): New subsection.
4756
39b27f1e 47572012-07-22 Ales Nesrsta <starous@volny.cz>
4758
4759 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4760 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4761
a885261b
VS
47622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4765 * util/grub.d/10_hurd.in: Add missing quoting.
4766 * util/grub.d/10_illumos.in: Likewise.
4767 * util/grub.d/10_kfreebsd.in: Likewise.
4768 * util/grub.d/10_linux.in: Likewise.
4769 * util/grub.d/20_linux_xen.in: Likewise.
4770
7bd29c01
VS
47712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 New command `lsefi'.
4774
4775 * grub-core/Makefile.core.def (lsefi): New module.
4776 * grub-core/commands/efi/lsefi.c: New file.
4777 * include/grub/efi/api.h: Add more GUIDs.
4778
ac625d8f
VS
47792012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4782 (grub_bsd_elf32_hook): Likewise.
4783 (grub_bsd_elf64_size_hook): Likewise.
4784 (grub_bsd_elf64_hook): Likewise.
4785 (grub_bsd_load_elf): Likewise.
4786
e73bb801
VS
47872012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4790 if hash function is unavailable.
4791 (dec_stream_header): Likewise.
4792
e81db8b5
VS
47932012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4796 filter state.
4797
d187a1c3
VS
47982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Fix coreboot compilation.
4801
4802 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4803 (grub_vga_text_init_real): ... this.
4804 (grub_vga_text_fini): Rename to ...
4805 (grub_vga_text_fini_real): ... this.
4806
91a05f64
VS
48072012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4810
6af96df7
VS
48112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/lib/legacy_parse.c: Support clear and testload.
4814
4d569e12
VS
48152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4818
073b57bb
VS
48192012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4822
a706f4cc
VS
48232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/net/tftp.c (ack): Fix endianness problem.
4826 (tftp_receive): Likewise.
4827 Reported by: Michael Davidsaver.
4828
e7850aa9
VS
48292012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4832
48332012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4836 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4837 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4838
35692881
VS
48392012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4842 efi_mmap_size.
4843 Reported by: Stuart Hayes.
4844
c35fc5bd
VS
48452012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4848
4849 * grub-core/Makefile.core.def (mda_text): New module.
4850 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4851 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4852 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4853 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4854 here.
4855 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4856 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4857 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4858 here.
4859 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4860 to ..
4861 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4862 ... here
4863 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4864 here.
4865 * grub-core/term/i386/vga_common.c: Removed.
4866 * include/grub/i386/vga_common.h: Likewise.
4867 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4868 (grub_vga_cr_bw_read): Likewise.
4869 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4870 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4871 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4872 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4873 grub_vga_cr_read/grub_vga_cr_write.
4874 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4875
5f91f701
VS
48762012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * configure.ac: Bump version to 2.00.
4879 * grub-core/normal/main.c (features): Add feature_200_final.
4880
0c4f85f6
VS
48812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
48822012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4883
4884 * NEWS: Fix unclarity and language mistakes.
4885
f923ad22
VS
48862012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4889 additional size to 3 pages.
4890 Reported by: Stuart Hayes.
4891
d22029ba
VS
48922012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * NEWS: Add 2.00 entry.
4895
58eee08f
VS
48962012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4899 put explicit "/" for empty path.
4900 (wildcard_expand): Improve dprintf.
4901
c59bdff7
VS
49022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4905 it's equal to currnode. This can happen with "" symlink.
4906
5e6a440a
YB
49072012-06-27 Yves Blusseau <blusseau@zetam.org>
4908
4909 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4910 echo shell command by printf command.
4911
73a68bcb
VS
49122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4915 the value returned by firmware is the maximal position, not diumension.
4916 (grub_terminfo_output_state): Use a more sane fallback.
4917
392a603b
VS
49182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4921
42d0867f
VS
49222012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4925 frequency to 150 MHz.
4926
489509f4
VS
49272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Apple fixes.
4930
4931 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4932 __APPLE_
4933 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4934 definition.
4935 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4936
9f3fc883
VS
49372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Handle slash in HFS label.
4940
4941 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4942 (grub_hfs_dir): Tanslate slash.
4943 (grub_hfs_label): Don't translate slash.
4944
54853fd7
VS
49452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4948 network protocol listing since it introduces problematic dependency on
4949 net module.
4950
4dc02ddf
VS
49512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4954
c50c867d
VS
49552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 Init video early on yeeloong to avoid being rebooted by watchdog.
4958
4959 * grub-core/Makefile.am (gensm712): New target.
4960 (sm712_start.S): Likewise.
4961 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4962 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4963 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4964 description.
4965 * include/grub/vga.h: Move registry definitions to...
4966 * include/grub/vgaregs.h: ... here.
4967
5f92c8a1
VS
49682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4971 signedness.
4972
e9e6f111
VS
49732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4976 platforms with firmware disk drivers in the core.
4977
754ad9eb
VS
49782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4981 informative verbose message.
4982 (read_lv): Handle 64-bit segment size.
4983
315654c2
VS
49842012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4987
fb022c79
VS
49882012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4991 character but still remove trainling spaces.
4992 (grub_fat_label): Ignore archive flag.
4993
8645f72c
VS
49942012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4997 cast between linux_kernel_header and linux_kernel_params.
4998
36498496
VS
49992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5002 type for size.
5003 (grub_raid6_recover_func_t): Likewise.
5004 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5005 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5006
0b5ea6b8
VS
50072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5010
650cfcfe
GS
50112012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5012
5013 Fix overflow.
5014
5015 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5016 [__NetBSD__]: Add explicit cast before bitshift.
5017
8a4d6a44
VS
50182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * configure.ac: Bump to 2.00~rc1.
5021
2fb97ed3
VS
50222012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5025 half of $a0.
5026
1fa097dc
VS
50272012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
50282012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5029
5030 * docs/grub.texi: Fix search syntax.
5031 (Multi-boot manual config): Put msdos rather than GPT example.
5032 Grammar corrections.
5033
c890ba78
VS
50342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5037
0f92dca7
VS
50382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5041
3988c4a0
VS
50422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5045 message on double free. Put the value of magic in case of mismatch.
5046
9e86d4c5
VS
50472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 Speed-up video on yeeloong.
5050
5051 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5052 add cached_ptr.
5053 (grub_video_sm712_video_fini): Unmap cached_ptr.
5054 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5055 (grub_video_sm712_set_active_render_target): Removed.
5056 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5057 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5058 sync caches.
5059
ed24c312
VS
50602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Avoid flushing the same line multiple times on loongson.
5063
5064 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5065 Step in 32 bytes and not 1 byte.
5066 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5067 Likewise.
5068
d1718e7d
VS
50692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5072 subvolumes.
5073
982f1909
VS
50742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Implement flow control for http.
5077
5078 * grub-core/net/http.c (parse_line): Handle response 206.
5079 (http_receive): Stall if too many packets are in the queue.
5080 (http_establish): Fix range header.
5081 (http_seek): Fix double free.
5082 (http_close): Likewise.
5083 (http_packets_pulled): New function.
5084 (grub_http_protocol): Set http_seek
5085 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5086 (ack_real): Set window depending on i_stall.
5087 (grub_net_send_tcp_packet): Likewise.
5088 (grub_net_tcp_stall): New function.
5089 (grub_net_tcp_unstall): Likewise.
5090 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5091 (grub_net_tcp_unstall): Likewise.
5092
bd407d6e
VS
50932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5096
c7564b8e
VS
50972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5100
a3706162
VS
51012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * tests/util/grub-shell.in: Fix a typo.
5104
b27069e0
VS
51052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 Implement flow control for tftp.
5108
5109 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5110 packets but stop only if stop condition is satisfied.
5111 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5112 `stall' instead of `eof' as stop condition.
5113 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5114 (http_err): Likewise.
5115 * grub-core/net/tftp.c (ack): Replace the first argument with data
5116 instead of socket.
5117 (tftp_receive): Stall if too many packets are in wait queue.
5118 (tftp_packets_pulled): New function.
5119 (grub_tftp_protocol): Set packets_pulled.
5120 * include/grub/net.h (grub_net_packets): New field count.
5121 (grub_net_put_packet): Increment count.
5122 (grub_net_remove_packet): Likewise.
5123 (grub_net_app_protocol): New field `packets_pulled'.
5124 (grub_net): New field `stall'.
5125
6b9cfac6
VS
51262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5129 sync part to handle them.
5130
f35abd81
VS
51312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5134 * grub-core/net/drivers/ieee1275/ofnet.c
5135 (grub_ieee1275_net_config_real): Likewise.
5136
0e7ec820
VS
51372012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5140 the direct route for server/gateway.
5141
9d611a31
VS
51422012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5145 IP address to server name since we may not hame the DNS.
5146
418f45ab
VS
51472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5150 freeing random buffer on failure.
5151 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5152
44a0efc1
VS
51532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5156
531e2241
VS
51572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5160 reserved bytes.
5161 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5162 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5163 Handle malloc error correctly.
5164
cde393c9
VS
51652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5168 blocks.
5169
538478d0
VS
51702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5173 increment.
5174
9b55efe0
VS
51752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5178 none is explicitly specified.
5179
9eb832c3
VS
51802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5183 while reallocating.
5184
d6b7c7c9
VS
51852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 Respect netmask from bootp/dhcp.
5188
5189 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5190 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5191 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5192 into ...
5193 (grub_net_add_ipv4_local): ... this.
5194 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5195 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5196 (grub_net_add_ipv4_local): New proto.
5197
67caf9eb
VS
51982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5201 determining EFI memory map size.
5202
43657558
VS
52032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5206
eb6d0dd3
VS
52072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5210 when looking for partition separator.
5211
31230544
VS
52122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5215 Escape commas.
5216
918a2517
VS
52172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 Restructure FAT driver to avoid hook in label reading as it hits a
5220 GCC bug.
5221
5222 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5223 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5224 (grub_fat_iterate_dir): Split into ...
5225 (grub_fat_iterate_init): ... this, ...
5226 (grub_fat_iterate_fini): ... this, ...
5227 (grub_fat_iterate_dir_next): ... and this. All users updated.
5228
9f1d654e
VS
52292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5232 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5233 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5234 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5235 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5236 New fields last_key and last_key_time.
5237 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5238 extended key-esc into extended key-extended key.
5239
52f0f643
VS
52402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Avoid unnecessary memcpy of whole video buffer.
5243
5244 * grub-core/video/fb/video_fb.c (dirty): New struct.
5245 (framebuffer): Add members current_dirty and previous_dirty.
5246 (dirty): New function.
5247 (grub_video_fb_fill_rect): Update dirty.
5248 (common_blitter): Likewise.
5249 (grub_video_fb_scroll): Likewise.
5250 (doublebuf_blit_update_screen): Copy only dirty part.
5251 (doublebuf_pageflipping_update_screen): Likewise.
5252 (grub_video_fb_doublebuf_blit_init): Init dirty.
5253 (doublebuf_pageflipping_init): Likewise.
5254 (grub_video_fb_setup): Likewise.
5255
e169a180
VS
52562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5259 poll rate.
5260
48556879
VS
52612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 Fix wildcard regexp dot and other special characters handling.
5264 Reported by: Robert Mabee.
5265
5266 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5267 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5268 (split_path): Trigger expansion on '?'.
5269 (unescape): New function.
5270 (wildcard_expand): Unescape parts copied without globbing.
5271 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5272 (grub_script_arglist_to_argv): Don't unescape expansions.
5273
0494408e
VS
52742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * include/grub/net.h (grub_net_card): New member txbufsize.
5277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5278 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5279 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5280 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5281 txbufsize.
5282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5283 compatible property to check for macs. Set
5284 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5285 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5286 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5287 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5288 (send_card_buffer): Use txbuf.
5289 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5290 nested function out of the parent while on it.
5291
cc35fe8f
VS
52922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5295 presence check.
5296 (grub_ieee1275_net_config_real): Fix config pointer.
5297
970a0a09
VS
52982012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5301 filename parsing to non-block devices.
5302
3e19bf87
VS
53032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5306
c62d1a0c
VS
53072012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5310 All users updated.
5311
ef76bec3
VS
53122012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5315 UUID search command even if hints probing failed.
5316
53172012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5318
5319 * po/POTFILES.in: Regenerated.
5320
70aaf305
VS
53212012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 Speed-up video on fuloong.
5324
5325 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5326 New function.
5327 (grub_pci_device_unmap_range): Handle non-cached address.
5328 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5329 add direct_ptr.
5330 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5331 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5332 (grub_video_sis315pro_set_active_render_target): Removed.
5333 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5334 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5335 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5336 sync caches.
5337 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5338 New proto.
5339
10400f0b
VS
53402012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * docs/grub.texi (Multi-boot manual config): New section.
5343
ba67e2c6
VS
53442012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 Avoid slow read-back from VRAM.
5347
5348 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5349 Move from here ...
5350 * grub-core/video/fb/video_fb.c
5351 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5352 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5353 (front_target): Remove front_target. Add pages.
5354 (grub_video_fb_init): Skip setting front_pages.
5355 (grub_video_fb_fini): Likewise.
5356 (doublebuf_blit_update_screen): Use pages.
5357 (grub_video_fb_doublebuf_blit_init): Likewise.
5358 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5359 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5360 (grub_video_fb_setup): Prefer doublebuffing.
5361
377c98cb
VS
53622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5365 gzio.
5366
eac49cff
VS
53672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 Add loongson tests.
5370
5371 * tests/util/grub-shell.in: Handle loongson.
5372 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5373 drivers.
5374 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5375 Reboot instead of shutdown if REBOOT is defined.
5376
0321415e
VS
53772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5380 sized ports since unlike on real hardware qemu supports only 32-bit
5381 regs.
5382
3f2bdd8f
VS
53832012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5386 * util/grub-mkrescue.in: Handle loongson.
5387
29a049c9
VS
53882012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5391 Set is_part appropriately.
5392 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5393 names. Canonicalize partition without full disk.
5394
4abde346
VS
53952012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 Revert usb-quiesce since it's wrong.
5398
5399 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5400 (grub_ofdisk_init): Don't do quiesce.
5401
61f1d93b
VS
54022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5405 PowerMac workaround to Xserves as well.
5406 Information supplied by: Benjamin Herrenschmidt.
5407
a09eb541
VS
54082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 Don't assume that beginning address is also the entry point on ppc.
5411
5412 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5413 (grub_linux_boot): Use linux_entry.
5414 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5415 (grub_linux_load64): Likewise.
5416
505b3c9b
VS
54172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5420
cbe0b4ef
VS
54212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5424 needlessly lose the console.
5425
3006e981
VS
54262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5429 space.
5430
4e5a96b0
VS
54312012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5432
7da036bb
VS
5433 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5434 than current grub_get_rtc() not implemented when booted with
5435 coreboot without TSC.
5436
5437 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5438 Add machine/time.h to kernel headers on loongson.
5439 * grub-core/Makefile.core.def (kernel): Remove
5440 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5441 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5442 (grub_get_rtc): Likewise.
5443 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5444 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5445 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5446 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5447 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5448 rather than installing known non-working time source.
5449 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5450 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5451 * include/grub/time.h: Don't include machine/time.h.
5452 * include/grub/efi/time.h: Removed.
5453 * include/grub/i386/efi/time.h: Likewise.
5454 * include/grub/i386/ieee1275/time.h: Likewise.
5455 * include/grub/powerpc/ieee1275/time.h: Likewise.
5456 * include/grub/sparc64/ieee1275/time.h: Likewise.
5457 * include/grub/x86_64/efi/time.h: Likewise.
5458
54592012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5462
5463 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5464 value.
5465 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5466 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5467 with dotless variants when any combining above is present.
5468
5561c22d
VS
54692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5472 text and not binary.
5473
96f7e60e
VS
54742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 Stop polling as soon as we have the packet we were waiting for.
5477
5478 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5479 All users updated.
5480 * grub-core/net/arp.c (have_pending): New var.
5481 (pending_req): Likewise.
5482 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5483 stop indicator.
5484 (grub_net_arp_receive): Set have_pending.
5485 * grub-core/net/dns.c (recv_data): New field stop.
5486 (recv_hook): Set stop.
5487 (grub_net_dns_lookup): Init stop and use as stop condition.
5488 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5489 condition.
5490 * grub-core/net/net.c (grub_net_poll_cards): New argument
5491 stop_condition. Stop when it goes true.
5492 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5493 indicator.
5494 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5495
3e747239
VS
54962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Keep TX and RX buffers on EFI rather than always allocate new ones.
5499
5500 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5501 card. All users updated.
5502 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5503 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5504 (get_card_packet): Likewise.
5505 (grub_efinet_findcards): Init new fields.
5506
f695e99a
VS
55072012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5510 compilation error on sparc64.
5511
9e5e66d1
VS
55122012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Use ITC on IA64 rather than broken routine based on daytime.
5515
5516 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5517 ia64.
5518 (grub_get_rtc) [__ia64__]: Likewise.
5519 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5520 (get_itc): New function.
5521 (grub_rtc_get_time_ms): Likewise.
5522 (grub_machine_init): Calibrate ITC.
5523 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5524 Keep only on non-ia64. Don't export since it's broken and used only
5525 if TSC is unavailable.
5526
a1767404
VS
55272012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5530 even if it's used.
5531 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5532 Skip if parent is unused.
5533
34b2bced
VS
55342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5537
5e619f40
VS
55382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Fix wildcard escaping.
5541
5542 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5543 * grub-core/script/execute.c (wildcard_escape): .. to here.
5544 Don't escape dot.
5545 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5546 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5547 Don't escape dot.
5548 * grub-core/script/execute.c (gettext_append): Always escape.
5549 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5550 * grub-core/script/yylex.l: Don't cut away the escaping.
5551 * tests/grub_script_echo1.in: Add tests with wildcard.
5552
c8ca5855
VS
55532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5556 (ftdi_hw_configure): Likewise.
5557 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5558 define.
5559 (real_config): Handle 1.5 stop bits.
5560 (pl2303_hw_configure): Likewise.
5561
7183452c
VS
55622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * Makefile.am: Add ppc linux bootcheck.
5565 * grub-core/tests/boot/linux-ppc.cfg: New file.
5566 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5567
f57c84cd
VS
55682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * tests/grub_script_expansion.in: Skip network protocols.
5571
ecfc6207
VS
55722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5575
8d03d284
VS
55762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5579 --rom-directory.
5580 Add -graft-points.
5581
61c42af0
VS
55822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 ESCC serial driver for conducting sautomated tests in qemu.
5585 Not tested on real hardware.
5586
5587 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5588 * grub-core/term/ieee1275/escc.c: New file.
5589 * grub-core/Makefile.core.def (escc): New module.
5590
08fd1291
VS
55912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5594 invalid on error.
5595 (serial_hw_fetch): Don't read invalid handle.
5596 (serial_hw_put): Don't write into invalid handle.
5597
08dafeea
VS
55982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Add a 1.5 stop bits value.
5601
5602 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5603 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5604 GRUB_SERIAL_STOP_BITS_1_5.
5605
9068fdcf
VS
56062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5609 value rather than let it uninited.
5610
f4d5820f
VS
56112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/commands/wildcard.c (+check_file): New function.
5614 (wildcard_expand): Don't expand to non-existing files, expand with
5615 suffix and not attempt to expand if not needed.
5616
3d2de9a7
VS
56172012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5620 out of partitions containing other partitions.
5621
c5c81ff9
VS
56222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5625 on some qemu versions with GRUB.
5626
5627 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5628 define.
5629 (grub_openbsd_bootarg_pcibios): New struct.
5630 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5631 Add PCIINFO.
5632
08a14e0b
VS
56332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * tests/util/grub-shell.in: Trim firmware output on EFI.
5636
cede3ca3
VS
56372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5640 and coreboot since it's already in kernel.
5641
558d3a60
VS
56422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5645 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5646 to here. New return value start. All users updated.
5647 Recursively scan linear mappings.
5648 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5649 proto.
5650 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5651 Use grub_util_get_dm_node_linear_info.
5652 * util/getroot.c (convert_system_partition_to_system_disk): Use
5653 grub_util_info rather than grub_dprintf.
5654 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5655
60fde14d
VS
56562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5659
5660 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5661 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5662
24bd8838
VS
56632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * include/grub/types.h (grub_set_unaligned64): New function.
5666 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5667 (setup): Likewise.
5668
7bc06a49
VS
56692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5672 (grub_ofdisk_fini): Quiesce USB devices.
5673
49cea015
VS
56742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5677 caches.
5678
8dcbe03b
VS
56792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5682
5b258735
VS
56832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/disk/pata.c (grub_pata_pio_read)
5686 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5687 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5688
37ba07eb
VS
56892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 Extend automated tests to qemu-mips.
5692
5693 * Makefile.am: reorganise tests and enable qemu-mips.
5694 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5695 * grub-core/tests/boot/linux.init-mips.S: New file.
5696 * tests/partmap_test.in: Handle ata0 disks.
5697 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5698 non-pc i386.
5699
070038f8
VS
57002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5703 ia64.
5704 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5705 quotes while on it.
5706
004be2cd
VS
57072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5710 (grub_halt): Likewise.
5711 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5712
b1622487
VS
57132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/term/serial.c (grub_serial_register)
5716 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5717 the behaviour in line with x86 platforms.
5718
b7b4ab33
VS
57192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5722 (grub_ata_strncpy): Likewise.
5723 (grub_ata_identify): Add missing byteswaps.
5724
5e3535ae
VS
57252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5728 byte-swap.
5729 (screen_read_char): Likewise.
5730 (grub_vga_text_cls): Likewise.
5731
c21b17e6
VS
57322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5735 filenames.
5736 (make_file_path): Likewise.
5737
bf293dec
VS
57382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5741 machines.
5742 Tested by: Paulo Flabiano Smorigo.
5743 Crucial information about API supplied by: Coleen <Last name unknown>.
5744 Reviewed by: Coleen <Last name unknown>.
5745
81f6ef0e
VS
57462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * util/grub-mkimage.c: Disable -Wcast-align.
5749
7284143a
VS
57502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5753 as they are fatal.
5754
b99f3e00
VS
57552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5758
944f752d
VS
57592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * util/grub-probe.c (escape_of_path): Fix double free.
5762
6cce6f38
VS
57632012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/commands/videoinfo.c (hook): Show pitch.
5766
1e1eb50e
VS
57672012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5770
1c715b5a
VS
57712012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5774 (probe): Add ieee1275 to OFW devices.
5775
007ae52d
VS
57762012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5779
4557a36d
VS
57802012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Handle IBM OFW path.
5783
5784 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5785 available.
5786 (of_path_of_scsi): Handle vdevice.
5787
efbeefe9
VS
57882012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5791 Allocate in multiples of 16 to avoid adding a few bytes free region the
5792 windows bugs upon.
5793
15a940bb
VS
57942012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5797 Allocate in multiples of 16 to avoid adding a few bytes free region the
5798 windows bugs upon.
5799 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5800
6e5efd60
VS
58012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5804 resolutions.
5805 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5806 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5807
0d3d137e
IS
58082012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5809
5810 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5811
45dbe300
VS
58122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5815 resulted in \\ at the end of the line.
5816
6d8db947
VS
58172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5820 (grub_parser_cmdline_state): Likewise.
5821 (grub_parser_split_cmdline): Likewise.
5822
de89d338
VS
58232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5826 /dev/root and /dev/dm-*.
5827
00d41dee
VS
58282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5831 fix partially stale display.
5832
f95d1f11
VS
58332012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5836 substraction.
5837
6297e197
VS
58382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5841 Fix MBR remapping workaround.
5842 (grub_util_biosdisk_read) [__linux__]: Likewise.
5843
8a7ecad3
VS
58442012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5847
2b34f944
VS
58482012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * configure.ac: Bump to beta6.
5851
684aef11
CW
58522012-05-31 Christer Weinigel <christer@weinigel.se>
5853
5854 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5855
05b0bb91
VS
58562012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5859 (grub_cmd_linux): Likewise.
5860
bda36bfa
CW
58612012-05-31 Christer Weinigel <christer@weinigel.se>
5862
5863 Fix EHCI low-speed.
5864
5865 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5866 (GRUB_EHCI_MULT_TWO): Likewise.
5867 (GRUB_EHCI_MULT_THREE): Likewise.
5868 (GRUB_EHCI_CMASK_MASK): New enum value.
5869 (GRUB_EHCI_SMASK_MASK): Likewise.
5870 (GRUB_EHCI_CMASK_OFF): Likewise.
5871 (GRUB_EHCI_SMASK_OFF): Likewise.
5872 (grub_ehci_pci_iter): Enable periodic schedule.
5873 (grub_ehci_parse_notrun): Likewise.
5874 (grub_ehci_restore_hw): Likewise.
5875 (grub_ehci_setup_qh): Set flags for low speed transfers.
5876 (grub_ehci_find_qh): Use periodic list for low speed.
5877 (grub_ehci_setup_transfer): Check periodic queue as well.
5878 (grub_ehci_check_transfer): Likewise.
5879 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5880
e12bcb1c
PFS
58812012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5882
5883 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5884 parameter is used.
5885
bcc75fb3
PJ
58862012-05-31 Peter Jones <pjones@redhat.com>
5887
5888 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5889 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5890 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5891
f19cb95e
VS
58922012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5895 uninited variable. Allocate at least setup_sects.
5896
a4e5ca80
VS
58972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 Fix handling of EFI with big memory maps.
5900
5901 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5902 (real_mode_mem): Likewise.
5903 (real_mode_target): Likewise.
5904 (real_mode_pages): Likewise.
5905 (prot_mode_pages): Likewise.
5906 (linux_params): New var.
5907 (linux_cmdline): Likewise.
5908 (free_pages): Don't set real mode variables.
5909 (allocate_pages): Don't allocate real mode memory.
5910 (grub_e820_add_region): Remove the limit.
5911 (grub_linux_boot): Allocate and copy real mode memory.
5912 (grub_linux_unload): Free linux_cmdline.
5913 (grub_cmd_linux): Use temporary storage for parameters.
5914 (grub_cmd_initrd): Likewise.
5915 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5916 (linux_kernel_params): Make it 1K big.
5917
ddb73558
VS
59182012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * Makefile.util.def: Remove -Wno-format.
5921 * grub-core/Makefile.core.def: Likewise.
5922
1c4afb60
VS
59232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * tests/cmp_unit_test.c: Add missing failure message.
5926 * tests/example_unit_test.c: Likewise.
5927 * tests/printf_unit_test.c: Likewise.
5928
941e3a6d
VS
59292012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5932 relaxation of protective MBR requirements.
5933
b105df76
VS
59342012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * configure.ac: Add condition for COND_HOST_XNU.
5937 * Makefile.util.def (10_xnu): New script.
5938 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5939
84e1569e
VS
59402012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5943 objconv bug.
5944
130c0f77
VS
59452012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5948 Binary on other platforms stays identical.
5949
6fd0b143
VS
59502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5953 Apple.
5954
0af1751d
VS
59552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5958
176d5f7d
VS
59592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5962 rather than defining size_t ourselves to avoid conflict.
5963
7de5e20a
VS
59642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5967 initialisation to avoid __bzero reference.
5968
f7143efe
VS
59692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5972 version.
5973 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5974 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5975 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5976 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5977 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5978
e6ad0555
VS
59792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5982 * grub-core/kern/misc.c: Likewise.
5983 * grub-core/loader/i386/xnu.c: Likewise.
5984 * include/grub/i386/tsc.h: Likewise.
5985 * include/grub/symbol.h: Likewise.
5986
4a5a3c4a
VS
59872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5990 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5991 on older compiler.
5992
037f6d90
VS
59932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5996 Implement Apple flavour.
5997 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5998
f7194551
VS
59992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6002 (memmove) [__APPLE__]: Likewise.
6003 (memcpy) [__APPLE__]: Likewise.
6004 (memset) [__APPLE__]: Likewise.
6005 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6006 (memmove) [__APPLE__]: Likewise.
6007 (memcpy) [__APPLE__]: Likewise.
6008 (memset) [__APPLE__]: Likewise.
6009
85a730ca
VS
60102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6013 dependency discard.
6014
40e80b94
VS
60152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/normal/main.c (read_config_file): Provide config_file and
6018 config_directory.
6019 * util/grub.d/41_custom.in: Use config_directoy when available.
6020
9da59c32
VS
60212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6024 (grub_bfs_dir): Likewise.
6025
2787ae53
PJ
60262012-05-27 Peter Jones <pjones@redhat.com>
6027
6028 The old code gives arguments to a printf function which can't work
6029 correctly, and the compiler complains.
6030
6031 * grub-core/tests/example_functional_test.c (example_test): Add
6032 missing text.
6033 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6034 * include/grub/test.h (grub_test_assert_helper): New declaration.
6035 (grub_test_assert): Use grub_test_assert_helper.
6036
526ef13d
VS
60372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6040 (exfctest): ... this to avoid overlong filenames.
6041 All users updated.
6042
20dd511c
VS
60432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 Handle "." and ".." on squashfs.
6046
6047 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6048 Make inode numbers into stack.
6049 (grub_squash_read_symlink): Use stack.
6050 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6051 (make_root_node): Fill stack.
6052 (grub_squash_open): Use stack.
6053
1d80c62a
VS
60542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6057 freeing.
6058
d336f652
VS
60592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6062 stderr on test calls.
6063
8b43f587
VS
60642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6067
80a3dc3f
VS
60682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6071
47e297d4
VS
60722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6075 "..".
6076
df042ccb
VS
60772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6080 (grub_hfsplus_iterate_dir): Add "." and "..".
6081
fc977f48
VS
60822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6085 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6086
f3250e5f
VS
60872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6090 (find_path): Handle "." and "..".
6091
fd8ed4c5
VS
60922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6095 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6096 (grub_affs_iterate_dir): Handle hardlinks.
6097
4ce776d2
MG
60982012-05-26 Matthew Garrett <mjg@redhat.com>
6099
6100 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6101 (grub_efi_console_fini): Likewise.
6102 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6103 (grub_video_gop_fill_mode_info): Rename to ...
6104 (grub_video_gop_fill_real_mode_info): ... this.
6105 (grub_video_gop_fill_mode_info): New function.
6106 (grub_video_gop_setup): Setup double framebuffer.
6107 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6108 Free offscreen.
6109 (grub_video_gop_swap_buffers): Copy framebuffer.
6110 (grub_video_gop_fini): Free offscreen buffer.
6111 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6112 New enum.
6113 (grub_efi_gop_blt_pixel): New struct.
6114
683031ba
VS
61152012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * gentpl.py: Remove error disabling for objconv.
6118
c2deb798
VS
61192012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * configure.ac: Remove -Wunitialized as it's not available on older
6122 compilers.
6123
61242012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6125
6126 Fix extent overflow comparator.
6127
6128 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6129 (grub_hfsplus_read_block): Set type.
6130 (grub_hfsplus_cmp_extkey): Compare type.
6131
d6b1fd36
VS
61322012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6135
0a9aa0f6
VS
61362012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6139 than 0.
6140
8360e159
VS
61412012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6144 (dejavu_bold_14.pf2): New target.
6145
501b9e4b
VS
61462012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * configure.ac: Fix djvu font detection.
6149
7026b0e2
VS
61502012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6153 ext* instead of ext2.
6154
c2a51ade
VS
61552012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6158 name with \0.
6159
8f803a5d
JU
61602012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6161
6162 * docs/grub-dev.texi: Remove dot from .png.
6163
13c6353f
VS
61642012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6167 protective entry in any slot.
6168 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6169 if protective entry is found in any slot.
6170
6171 Protective entry in non-first slot make no sense but is a widespread
6172 brain damage.
6173
4cf6be1b
VS
61742012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6177
937d1c44
VS
61782012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6181 with old reiserfs.
6182 (grub_reiserfs_open): Don't free root.
6183
021d90ec
VS
61842012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6187 after freeing for safety.
6188
967b2b64
VS
61892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6192 Reported by: Jordan Uggla.
6193
34274d02
JU
61942012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6195
967b2b64
VS
6196 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6197 actual implementation. Specifically, clarify that the grub menu will
6198 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6199 passed.
34274d02 6200
dcaaae9d
BH
62012012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6202
6203 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6204 of r0.
6205
7086ad52
VS
62062012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Remove unjustified hard dependency of normal.mod on gfxterm.
6209
6210 * include/grub/term.h (grub_term_output): New member fullscreen.
6211 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6212 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6213 (grub_gfxterm): Set .fullscreen.
6214 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6215 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6216
37ed2c9b
VS
62172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6220 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6221 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6222
a4469c88
VS
62232012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6226
4e461486
VS
62272012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6230 a bad FS.
6231
aa78f5c4
VS
62322012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6235 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6236
197626b5
VS
62372012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6240 (grub_jfs_mount): Fill caseins.
6241 (grub_jfs_find_file): Respect caseins.
6242
8ad3f28c
VS
62432012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6246 through UTF-16.
6247
0c6c324e
VS
62482012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6251 New argument origpath. All users updated.
6252
c6666ba6
VS
62532012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6256 (read_attr): Ensure that we read start of possibly compressed block.
6257
e28e5fe5
VS
62582012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6261 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6262 All users updated.
6263
5fc23ab2
VS
62642012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6267 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6268 (dejavu.pf2): Replace with ...
6269 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6270 this.
6271
79dbc21c
VS
62722012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * util/grub.d/20_linux_xen.in: Add missing line.
6275
d2fcfb0c
VS
62762012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6279 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6280 (grub_utf16_to_utf8): Likewise.
6281
5560e9d6
VS
62822012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6285 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6286 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6287 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6289 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6290
62912012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6292
6293 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6294 a bad FS.
6295
5560e9d6 62962012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6297
6298 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6299 (grub_udf_read_symlink): Handle read_string failure.
6300
5eae3175
VS
63012012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6304 comment.
6305
c1ad82db
VS
63062012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 Fix handling of UDF symlinks.
6309
6310 * grub-core/fs/udf.c (read_string): New argument outbuf.
6311 All users updated.
6312 (grub_ufs_read_symlink): Rename to ...
6313 (grub_udf_read_symlink): ... this. All users updated.
6314 Handle symlinks with more than one component.
6315
33eca6e0
VS
63162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6319 symlinks. Replace leading colon with a slash.
6320
57f4a70b
VS
63212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6324 filename.
6325
38c8ee20
VS
63262012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6329 match in inner node.
6330
2e57f28f
VS
63312012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6334 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6335 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6336 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6337 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6338 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6339 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6340 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6341 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6342
fe8c2f11
VS
63432012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 Use grub-probe and not cmp to check that disk is empty.
6346
6347 * util/grub-install.in: Use grub-probe for zero-check.
6348 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6349 (probe): Handle PRINT_ZERO_CHECK.
6350 (argp_parser): Handle -t zero_check.
6351
63522012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6353
6354 Flush block cache on adding disk to device map.
6355
6356 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6357 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6358 adding.
6359 (read_device_map): Likewise.
6360 (open_device): Flush on opening.
6361
690434e8
VS
63622012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6365 (handle_symlink): Fix off-by-one error.
6366 Canonicalize the target.
6367 (grub_cpio_dir): Canonicalize the name.
6368 Fix memory leak.
6369 Set directory.
6370 (grub_cpio_open): Canonicalize the name.
6371
742d2be6
VS
63722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6375 handling.
6376
3244fe96
VS
63772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6380 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6381
8aeb1837
VS
63822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6385 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6386 All users updated.
8aeb1837 6387
9133fd05
VS
63882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6391 counterpart.
6392
6d521c5b
VS
63932012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 Fix UFS1 big file support.
6396
6397 * grub-core/fs/ufs.c (INODE): Removed.
6398 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6399 64-bit.
6400 (INODE_MODE): Simplify.
6401 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6402 (grub_ufs_lookup_symlink): Don't use INODE.
6403
21b82e17
VS
64042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6407
6408 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6409 (grub_minix_data): Replace log_block_size with block_size.
6410 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6411 (grub_minix_mount): Fill block_size.
6412
64132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6414
6415 * configure.ac: Bump to beta5.
6416
f417ed04
VS
64172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 Fix wrapped HFS+ handling.
6420
6421 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6422 blocks_start. All users updated.
6423 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6424 wrapping offset.
6425 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6426
607d282b
VS
64272012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Fix long symlinks on reiserfs.
6430
6431 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6432 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6433 (grub_reiserfs_iterate_dir): Save size for non-directories.
6434 (grub_reiserfs_open): Don't reread stat block as we already know the
6435 size.
6436 (grub_reiserfs_read): Split into...
6437 (grub_reiserfs_read_real): ... and ...
6438 (grub_reiserfs_read): ...this.
6439
ae16024d
VS
64402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Fix non-indexed JFS.
6443
6444 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6445 (grub_jfs_data): New field namecomponentlen.
6446 (grub_jfs_mount): Fill namecomponentlen.
6447 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6448
eea1e26e
VS
64492012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6452 * tests/grub_script_echo1.in: Add tests.
6453
df760f77
VS
64542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * util/grub-install.in: Ignore empty devicetree directory.
6457
5efb817d
B
64582012-05-08 Bean <bean123ch@gmail.com>
6459
6460 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6461 All users updated.
6462 (free_rsm): Free header as well.
6463 (free_old_fragments): Fix memory leak.
6464 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6465 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6466 (destroy_pq): Likewise.
6467 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6468
668ea6d2
VS
64692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6472 resulting hash as a precaution.
6473
1739b1fe
VS
64742012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6477 '_' in variable names.
6478 * grub-core/net/net.c (grub_net_network_level_interface_register):
6479 Likewise.
6480
6ae485aa
VS
64812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Fix AFFS with non-512B blocks.
6484
6485 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6486 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6487 (grub_affs_data): Replace blocksize with log_blocksize.
6488 (grub_affs_read_block): Fix non-512B blocks.
6489 (grub_affs_read_symlink): Likewise.
6490 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6491 (grub_affs_read): Fix non-512B blocks.
6492 (grub_affs_label): Likewise.
6493 (grub_affs_mtime): Likewise.
6494 (grub_affs_mount): Fix block detection routine.
6495
d20fab84
VS
64962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 Add filesystem mtime to AFFS.
6499
6500 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6501 (aftime2ctime): New function.
6502 (grub_affs_dir): Use aftime2ctime.
6503 (grub_affs_label): Fix return value.
6504 (grub_affs_mtime): New function.
6505 (grub_affs_fs): Add mtime.
6506
e87b10f5
VS
65072012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6510 UTF-8.
6511
7dceec9b
VS
65122012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6515 UTF-8.
6516
2f48221f
VS
65172012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6520
dacd85cf
VS
65212012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6524 flags.
6525 (FLAGS_CASE_SENSITIVE): New enum value.
6526 (cache_entry): New struct.
6527 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6528 cache_size and cache.
6529 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6530 Add log_blocksize and fshelp_flags.
6531 (grub_sfs_read_extent): Handle non-512 blocks.
6532 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6533 (grub_sfs_read_file): Handle non-512 blocks.
6534 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6535 fshelp_flags.
6536 (grub_sfs_read_symlink): Handle non-512 blocks.
6537 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6538 (grub_sfs_dir): Free cache.
6539 (grub_sfs_close): Likewise.
6540
24e9a854
VS
65412012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6544 filesystems.
6545
62ace64d
VS
65462012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6549
83b2e89c
VS
65502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6553
75ccaea3
VS
65542012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6557 (grub_sfs_read_extent): Likewise.
6558 (grub_sfs_read_block): Likewise.
6559 (grub_sfs_mount): Likewise.
6560 (grub_sfs_iterate_dir): Likewise.
6561 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6562 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6563
1b8463f2
VS
65642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Fix errors on compressed NTFS with 512B clusters.
6567
6568 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6569 types.
6570 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6571 not 0.
6572 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6573 Relax check for inline extents.
6574 (ntfscomp): Return correct -1 on error and not 0.
6575
4f8e368f
VS
65762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * util/grub-install.in: Fix handling of prefix containing spaces.
6579
6f5d5ee8
VS
65802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6583 (grub_squash_read_data): Fix offset byte-swapping.
6584
ce41ab7a
VS
65852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6588 per common usage and preffered in several parts of code.
6589 (grub_memcmp): Likewise.
6590 (grub_strncmp): Likewise.
6591 * include/grub/misc.h (grub_strcasecmp): Likewise.
6592 (grub_strncasecmp): Likewise.
6593 * Makefile.util.def (cmp_test): New test.
6594 (grub_script_strcmp): Likewise.
6595 * tests/cmp_unit_test.c: New file.
6596 * tests/grub_script_strcmp.in: Likewise.
6597 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6598
49717bf4
VS
65992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * include/grub/pci.h: Move enums into no-asm part.
6602
0a308f64
VS
66032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6606
1796965f
ST
66072012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6608
6609 * util/getroot.c (find_hurd_root_device): Try to make error message
6610 and comments to translators clearer.
6611
4e9b2819
VS
66122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6615
076aeb50
VS
66162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6619 btrfs.
6620
19424d94
VS
66212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * docs/grub.cfg: Update.
6624
ebb73076
VS
66252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * docs/grub.texi (PXE): Remove not present variables.
6628
9a1b669c
VS
66292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/net/net.c (defserver_set_env): New function.
6632 (defserver_get_env): Likewise.
6633 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6634
d38bf7d3
VS
66352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6638 entries.
6639
66402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6641
6642 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6643 * grub-core/kern/emu/hostdisk.c: Likewise.
6644
e5e4ca48
ST
66452012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6646
6647 Handle hurd userspace partitions.
6648
6649 * util/getroot.c (find_hurd_root_device): New function.
6650 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6651
56bb5dd5
VS
66522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6655 names.
6656 Reported by: Bastian Blank.
6657
9e8bc27a
VS
66582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6661 crossing page boundary.
6662
aa01499d
VS
66632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Fix B-tree search in BFS, especially in presence of non-ASCII
6666 characters.
6667
6668 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6669 (find_in_b_tree): Use standard bsearch + btree algorithm.
6670
57006035
VS
66712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6674 and so on.
6675
9d34bb85
MG
66762012-05-03 Matthew Garrett <mjg@redhat.com>
66772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 Suspend broadcom cards in order to stop their DMA.
6680
6681 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6682 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6683 (pci): Don't build on x86 EFI.
6684 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6685 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6686 New function.
6687 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6688 stop_broadcom if running on EFI.
6689 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6690 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6691 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6692 (grub_pci_find_capability): New proto.
6693
01aab997
VS
66942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * docs/grub.texi: Remove dot from the extension as it apparently
6697 doesn't work with some makeinfo versions.
6698
fbd8dca6
VS
66992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6702 with GRUB expectance.
6703
dab797f4
VS
67042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6707
1516bfb4
VS
67082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6711 zero after directory block since last entry may be not 0-terminated if
6712 it ends on block boundary. Use continue instead of if spanning whole
6713 loop.
6714
a3a0eace
VS
67152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Support 4K sectors UDF inline files.
6718
6719 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6720 (grub_udf_extended_file_entry): Likewise.
6721 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6722 All users updated.
6723 (get_fshelp_size): New function.
6724 (grub_udf_read_icb): Read whole block.
6725 (grub_udf_iterate_dir): Likewise.
6726 (grub_udf_dir): Likewise.
6727 (grub_udf_open): Likewise.
6728
c82f16c1
VS
67292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6732
59fd2aac
VS
67332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6736 inline symlinks in addition to workaround.
6737
3b4afb4d
VS
67382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6741
f45c794a
VS
67422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6745
f25cecbd
VS
67462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6749
bb9a34e8
VS
67502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 Fix reiserfs big seek times.
6753
6754 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6755 exact. All users updated.
6756 (grub_reiserfs_read): Use nearest btree search for seeking.
6757 Fix return value on error.
6758
dc478aea
VS
67592012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6762 entries.
6763 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6764 * docs/grub.texi: Update menuentry description.
6765
8db10f47
VS
67662012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6769 crash when embedding onto filesystem.
6770
bcb288ed
VS
67712012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6774 name.
6775
a626fdd7
VS
67762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6779
b2f68477
VS
67802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6783 commit.
6784
ba15b2af
B
67852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
67862012-05-01 Bean <bean123ch@gmail.com>
6787
6788 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6789
a188012e
VS
67902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6793 Special behaviour for len = 0 to read whole file isn't used anywhere and
6794 can cause buffer ovewrflows in several places.
6795
f0a53ed2
VS
67962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6799
5ed554f0
VS
68002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 Handle RAIDZ on non-512B sectors.
6803
6804 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6805 max_children_ashift.
6806 (fill_vdev_info_real): Fill max_children_ashift.
6807 (read_device): Use max_children_ashift.
6808
ddc58357
VS
68092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6812
e3282399
VS
68132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6816 disk names.
6817 * docs/grub.texi: Update device.map parts.
6818
ee618bd4
VS
68192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 Don't scan into non-diskfilter devices having diskfilter names.
6822
6823 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6824 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6825 handling.
6826 (scan_disk_hook): New function.
6827
bdf88864
B
68282012-04-29 Bean <bean123ch@gmail.com>
6829
6830 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6831 allocation.
6832
32745f51
MK
68332012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6834
6835 * configure.ac: Detect starfield theme font path
6836 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6837
bc95c8c0
VS
68382012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6841 geometry on serial consoles.
6842
147fbcab
VS
68432012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6846 because of network consoles.
6847
0f42c889
VS
68482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6851 handling.
6852
4a3594c9
VS
68532012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6856 falls on Q syndrom.
6857
5cb53879
VS
68582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6861 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6862
b282dfe5
VS
68632012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6866 Allocate at lest 8192 for temporary buffer as required for lzo.
6867
daa59f47
VS
68682012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6871 to cluster_bits, since it's already added in.
6872 (grub_fat_read_data): Likewise.
6873
986748ce
VS
68742012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6877 as long as cluster size is multiple of 512 bytes.
6878
a20f6ad0
VS
68792012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * util/grub-mkrescue.in: Fix locale directory.
6882
385f9abb
VS
68832012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/kern/emu/hostdisk.c (map): Make static.
6886
1c557d30
B
68872012-04-23 Bean <bean123ch@gmail.com>
6888
6889 * util/grub-fstest.c (fstest): Add missing break.
6890
524b5d3a
ST
68912012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6892
6893 Fix hurd build.
6894
6895 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6896 not define nr variable.
fe4824e9 6897 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6898 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6899 grub_find_device): Do not define.
524b5d3a 6900
9a06490c
VS
69012012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Fix kfreebsd compile and behaviour.
6904
6905 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6906 format-security.
6907 * util/getroot.c: Fix wait.h include.
6908 (grub_guess_root_devices): Error if grub_find_device fails.
6909 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6910 (grub_util_get_dev_abstraction): Likewise.
6911 (grub_util_pull_device): Likewise.
6912 (grub_util_get_grub_dev): Likewise.
6913 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6914
48143d96
VS
69152012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Fix and unify wholedisk detection.
6918
6919 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6920 is_part. All users updated.
6921 (device_is_wholedisk): Removed.
6922 (grub_util_biosdisk_get_grub_dev): Use is_part.
6923
ebbd24f3
VS
69242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6927 mode.
6928
56f7aa1e
VS
69292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * configure.ac: Bump to beta4.
6932
9c815e01
VS
69332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6936 --fs-uuid --set UUID syntax.
6937
59e2651a
VS
69382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6941 disunification.
6942
54e03cfc
VS
69432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6946
81092a75
MK
69472012-04-18 Mads Kiilerich <mads@kiilerich.com>
6948
6949 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6950
f8315e14
MG
69512012-04-18 Mike Gilbert <floppym@gentoo.org>
6952
6953 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6954
1501ac21
B
69552012-04-18 Bean <bean123ch@gmail.com>
6956
6957 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6958 place.
6959
cb7f944e
VS
69602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6963 users updated.
6964 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6965 corresponding to GRUB partitions.
6966 (grub_util_biosdisk_write): Likewise.
6967
b72d44a1
VS
69682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 Scan mdraid before LVM.
6971
6972 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6973 (grub_diskfilter_register_front): ... this.
6974 (grub_diskfilter_register_back): New function.
6975 All users of grub_diskfilter_register updated.
6976
33d918b8
VS
69772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * util/grub-install.in: Fix an automatic target detection bug.
6980
c6ca973d
VS
69812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * util/grub-install.in: New option --efi-directory.
6984
b41be562
VS
69852012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6988 boot services if we have no other choice.
6989
69902012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6993 document it.
6994 * tests/util/grub-shell.in: Update to --directory.
6995
e0595a73
VS
69962012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6999
4ed80652
VS
70002012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7003 (grub_minix_read_file): Likewise.
7004 (grub_minix_read_inode): Likewise.
7005 (grub_minix_find_file): Likewise.
7006 (grub_minix_dir): Likewise.
7007
56008077
VS
70082012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * util/grub-setup.c (setup): Fix partition handling and blocklist
7011 check.
7012
ee520775
VS
70132012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7016 redundant buggy overlap check.
7017
16fc9293
VS
70182012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7021 and grub-mknetdir.
7022
9bab65c4
VS
70232012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7026 kh.loadflags on pre-2.00 kernels.
7027
3c491b47
VS
70282012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 Terminate UNDI and PXE before launching the payload to avoid problems
7031 with DMA.
7032
7033 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7034 (grub_loader_flags): ... this. All users updated.
7035 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7036 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7037 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7038 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7039 function.
7040 (grub_pxe_restore): Likewise.
7041 (fini_hnd): New var.
7042 (GRUB_MOD_INIT): Register shutdown hook.
7043 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7044 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7045 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7046 (grub_loader_set): Rename second argument to flags.
7047
851ffada
VS
70482012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7051 written bytes.
7052 (grub_get_num_of_utf8_bytes): New function.
7053 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7054 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7055 executing it.
7056 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7057 (grub_ucs4_to_utf8): Change return type.
7058
491c57a8
VS
70592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7062 warning.
851ffada
VS
7063 * grub-core/fs/bfs.c (hop_level): Likewise.
7064 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7065
756773df
VS
70662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/lib/adler32.c: Recode due to license unclearness.
7069
fd556a96
VS
70702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7073 (test_header): Likewise.
7074
9f9d3f69
VS
70752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Fix --help formatting.
7078
7079 * util/grub-mkconfig_lib.in (print_option_help): New function.
7080 (grub_fmt): Likewise.
7081 * util/grub-install.in: Use print_option_help and grub_fmt.
7082 * util/grub-kbdcomp.in: Likewise.
7083 * util/grub-mkconfig.in: Likewise.
7084 * util/grub-mknetdir.in: Likewise.
7085 * util/grub-mkrescue.in: Likewise.
7086 * util/grub-mkstandalone.in: Likewise.
7087 * util/grub-reboot.in: Likewise.
7088 * util/grub-set-default.in: Likewise.
7089 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7090
561ec77e
VS
70912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * linguas.sh: Remove autogenerated *.po.
7094
7ec2b021
VS
70952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * po/README: Move language fetcing to ...
7098 * linguas.sh: ... here.
7099 * po/README: Point to linguas.sh.
7100
a88f3270
VS
71012012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * po/README: Exclude ko.po due to disclaimer problems.
7104
d61357ce
VS
71052012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7108 len = 0.
7109 (grub_gettext_translate_real): Handle 0th string.
7110 (grub_gettext_translate): Ensure that "" isn't translated.
7111
505e41dc
VS
71122012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7115 TRANSLATORS comment.
7116 (grub_diskfilter_print_partmap): Propagate changing of error into
7117 warning.
7118
e44092db
VS
71192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7122 to uint64_t to prevent overflow.
7123 (grub_diskfilter_lv): Increase start_extent and extent_count
7124 to uint64_t to prevent overflow.
7125
9b83956a
VS
71262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * configure.ac: Increase version.
7129
da0d5b3f
VS
71302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7133
7134 * po/Rules-translit: New file.
7135 * po/arabic.sed: Likewise.
7136 * po/cyrillic.sed: Likewise.
7137 * po/greek.sed: Likewise.
7138 * po/hebrew.sed: Likewise.
7139 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7140 * po/Makefile.in.in: Add extra_dist4.
7141
ac66b453
VS
71422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7145
7146 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7147 modify names. Introduce MODE_BIGENDIAN.
7148 * grub-core/fs/minix_be.c: New file.
7149 * grub-core/fs/minix2_be.c: Likewise
7150 * grub-core/fs/minix3_be.c: Likewise.
7151 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7152 minix3_be.
7153 * grub-core/Makefile.core.def (minix_be): New module.
7154 (minix2_be): Likewise.
7155 (minix3_be): Likewise.
7156
71572012-04-01 Felix <email@hamburg.de>
7158
7159 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7160 (devs): Add MBP 2011.
7161
0a2d5a82
VS
71622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7165
d1625889
VS
71662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * grub-core/normal/cmdline.c (print_completion): New field
7169 prompt_len.
7170 (grub_cmdline_get): Handle width properly.
7171
6d36a236
VS
71722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7175
9576977e
VS
71762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7179 after 29th of February.
9576977e 7180
d73ff15d
VS
71812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 Fix exfat endianness handling.
7184
7185 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7186 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7187 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7188 Byte-swap utf16 when necessary.
7189 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7190
bbb39a45
AB
71912012-03-31 Anton Blanchard <anton@samba.org>
71922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Fix btrfs endianness handling.
7195
7196 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7197 (lower_bound): Make root uint64_t. Use root in le.
7198 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7199 (find_path): Fix template key init.
7200 (grub_btrfs_dir): Fix mtime byteswap.
7201 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7202
354e0af7
VS
72032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7206 recursion_depth. Break infinite resursions. All users updated.
7207
4e75f21c
VS
72082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7211 after free.
7212 Reported by: Peter Jones.
7213
25581802
AB
72142012-03-31 Anton Blanchard <anton@samba.org>
7215
7216 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7217 8 bit values.
7218
08fbf92e
VS
72192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * util/grub-install.in: Fix nvram call for PreP.
7222
5d1182a6
VS
72232012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7226 the error when some elements are missing into a warning.
7227
3f8cdd90
VS
72282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7231
51006716
CW
72322012-03-28 Colin Watson <cjwatson@ubuntu.com>
7233
7234 * docs/grub.texi (Invoking grub-probe): New section.
7235 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7236
e1bd676b
VS
72372012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 Fix tab and wide character handling in editor and menu.
7240
7241 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7242 agglomerate control characters with combining marks.
7243 (bidi_line_wrap): Allow break on tab.
7244 (grub_unicode_get_comb_start): New function.
7245 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7246 and tab correctly.
7247 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7248 with a space.
7249 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7250 fixed_tab_size. All users updated.
7251 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7252 (grub_term_getcharwidth): Handle \t.
7253 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7254 and copy.
7255
22e6a774
VS
72562012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 Handle big-endian mdraid.
7259
7260 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7261 * grub-core/Makefile.core.def (mdraid09_be): New module.
7262 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7263 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7264 * grub-core/disk/mdraid_linux_be.c: New file.
7265
3c0eae66
VS
72662012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7269
b6cf74c9
VS
72702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7273 missing quotes which caused confusion among translators.
7274
83c93b9c
VS
72752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * util/grub-mkconfig_lib.in: Fix typo.
7278
ac6fd218
VS
72792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7282 spaces.
7283 * tests/grub_script_leading_whitespace.in: New file.
7284 * Makefile.util.def (grub_script_leading_whitespace): New test.
7285
ba287dd8
VS
72862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7289 to work.
7290
d2d58d0a
VS
72912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7294 starts with control character.
7295
0382d9bb
VS
72962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7299 overflow.
7300 (grub_gdb_outbuf): Likewise.
7301
d83ff9f9
VS
73022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7305 zero terminator. Fixes a crash.
7306
2282da4a
VS
73072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7310 beyond 4 GiB.
7311 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7312 images independently of preffered adderss field.
7313
0ae4f0bd
VS
73142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7317 * grub-core/commands/regexp.c: Likewise.
7318 * grub-core/loader/i386/linux.c: Likewise.
7319 * grub-core/partmap/msdos.c: Likewise.
7320 * grub-core/script/execute.c: Likewise.
7321 * grub-core/term/gfxterm.c: Likewise.
7322
546fbe9b
VS
73232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 Add variable parsing in $"..." and fix several mismatches with bash.
7326
7327 * Makefile.util.def (grub_script_gettext): New test.
7328 * grub-core/script/execute.c (parse_string): New function.
7329 (gettext_append): Likewise.
7330 (grub_script_arglist_to_argv): Use gettext_append.
7331 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7332 * tests/grub_script_gettext.in: New file.
7333
9fdb2d7b
VS
73342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Fix handling of leading spaces in scripts.
7337
7338 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7339 spaces.
7340 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7341 other than skipping \r. All users updated.
7342 * tests/grub_script_echo1.in: Add space-related tests.
7343 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7344
1a1ac4f6
VS
73452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7348
b63d89b6
VS
73492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * configure.ac: Bump up the version to beta2.
7352
17f38c0f
VS
73532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 Fix gettext reload bugs (e.g. inability to disable gettext
7356 once enabled).
7357
7358 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7359 main_context and secondary_context. All functions updated.
7360 (grub_gettext_translate): Rename to ...
7361 (grub_gettext_translate_real): ... this. Return NULL on failed
7362 translate.
7363 (grub_gettext_translate): Handle secondary context.
7364 (grub_gettext_delete_list): Close file and zero-out the context.
7365 (grub_mofile_open): Don't call grub_gettext_delete_list.
7366 Don't close file.
7367 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7368 if locale="" to avoid pointless error message.
7369 (grub_gettext_env_write_lang): Update lang even if load fails.
7370 Handle secondary context.
7371 (grub_gettext_reread_prefix): New function.
7372 (read_main): Likewise.
7373 (read_secondary): Likewise.
7374 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7375 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7376 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7377 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7378
8e56f870
VS
73792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * configure.ac: Decrease warning level to avoid spurious warnings and
7382 to be able to compile with GCC 4.2.
7383 * Makefile.util.def: Remove -Wno-error=logical-op.
7384
82f6d455
WB
73852012-03-10 William Bittner <william.bittner@gmail.com>
7386
7387 * util/import_unicode.py: Add missing brackets around string for
7388 python 3 support.
7389
1ecd61a4
VS
73902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 Fix efi chainloader on network root.
7393
7394 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7395 network devices.
7396 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7397 New function.
7398
14361ee8
VS
73992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7402 unused show_text member.
7403 * docs/grub.texi: Document "text" property.
7404
922aabf3
VS
74052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7408 in dprintf.
7409
ec316771
VS
74102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Fix IMSM handling on Fedora.
7413
7414 * util/getroot.c (grub_util_is_imsm): New function.
7415 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7416
0f021838
VS
74172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * Makefile.am: Strip gold section.
7420 * conf/Makefile.common: Likewise.
7421 * gentpl.py: Likewise.
7422 * grub-core/Makefile.core.def: Likewise.
7423 * grub-core/genmod.sh.in: Likewise.
7424
1039c8eb
VS
74252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7428 * util/grub.d/20_linux_xen.in: Likewise.
7429 Based on Debian patch.
7430
6dd412cd
VS
74312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * util/grub.d/10_linux.in: Fix syntax error resulting in
7434 Richard Laager's patch.
7435 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7436
3fd8bae5
VS
74372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7440 dependencies.
7441
7eea1671
RL
74422012-03-10 Richard Laager <rlaager@wiktel.com>
7443
7444 * util/grub.d/10_linux.in: Fix ZFS root passing.
7445
e8e0566b
VS
74462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7449 * grub-core/commands/xnu_uuid.c: Likewise.
7450 * grub-core/loader/efi/appleloader.c: Likewise.
7451 * grub-core/script/execute.c: Likewise.
7452 * grub-core/script/main.c: Likewise.
7453 * util/grub-mkfont.c: Likewise.
7454
1acc5b1f
VS
74552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * util/grub-mkfont.c (options): Use more appropriate "select" that
7458 "set" for face index.
7459
35d70620
VS
74602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * util/grub-editenv.c (options): Gettextize command summaries.
7463
c9eb96b5
VS
74642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7467 "out of memory" error messagge.
7468
1f493136
VS
74692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7472 of diskfilter for diskfilter on diskfilter support.
7473
6d790129
VS
74742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7477
005f46c9
VS
74782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7481 themes/starfield.
7482
c8f778a0
VS
74832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7486
de1e64eb
VS
74872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7490
c6d54211
VS
74912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7494 of error message.
7495
dd390777
VS
74962012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7499
5fd1c522
VS
75002012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7503 message.
c6d54211 7504 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7505
fae01f6c
VS
75062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7509 Gettextize.
7510 * util/grub-mount.c (options): Likewise.
7511
292fdaff
VS
75122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7515 gettextize.
7516 * grub-core/commands/search_wrap.c (options): Likewise.
7517
ecdbae77
VS
75182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7521
52bfedfa
VS
75222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7525 size calculation.
7526 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7527 none is known.
7528
55b20e58
VS
75292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7532 "temporary" since it's used in identifier and is limited in space.
7533
fda9d101
VS
75342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * po/POTFILES.in: Regenerate. Include *.h since they contain
7537 translatable strings as well.
7538
6a0295e2
VS
75392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7542 byte-swap on big-endian.
7543 Reported by: Lennart Sorensen
7544
807fb77c
VS
75452012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7548 (allocate_pages): Improve dprintf.
7549 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7550 code32_start. Fill code32_start and kernel_alignment in params.
7551 (grub_cmd_initrd): Use prot_init_space.
7552
61ac50ba
VS
75532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7556
abdd26dd
VS
75572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * util/grub-install.in: Add missing dot at the end of sentence.
7560
6e69da9c
VS
75612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7564 * grub-core/commands/videotest.c: Likewise.
7565 * grub-core/loader/i386/linux.c: Likewise.
7566
4a929343
VS
75672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7570 sentence.
7571 Reported by: Milo Casagrande.
7572
bb51c6c6
VS
75732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7576 * grub-core/commands/gptsync.c: Likewise.
7577 * grub-core/commands/hashsum.c: Likewise.
7578 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7579 * grub-core/commands/legacycfg.c: Likewise.
7580 * grub-core/io/gzio.c: Likewise.
7581 * grub-core/net/net.c: Likewise.
7582 * grub-core/term/gfxterm.c: Likewise.
7583 * grub-core/term/terminfo.c: Likewise.
7584 * grub-core/tests/test_blockarg.c: Likewise.
7585 * grub-core/video/video.c: Likewise.
7586 * util/grub-install.in: Likewise.
7587 * util/grub-mkfont.c: Likewise.
7588
b2b149cb
VS
75892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7592
c7c080ad
VS
75932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7596 Reported by: David Prévot.
c7c080ad 7597
f2e243c0
VS
75982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7601 description.
7602
09963c76
VS
76032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * util/grub-script-check.c (main): Fix a syntax error message which was
7606 unclear.
7607
a50514a8
VS
76082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7611
4650daec
VS
76122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7615 messages.
7616
76172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7618
7619 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7620 without argument.
7621 * util/grub-mount.c (options): Likewise.
7622
bbc5a342
VS
76232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7626
ef292a87
VS
76272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/net/http.c: Add TRANSLATORS comments.
7630 * grub-core/normal/cmdline.c: Likewise.
7631 * grub-core/normal/misc.c: Likewise.
7632 * grub-core/partmap/msdos.c: Likewise.
7633 * grub-core/parttool/msdospart.c: Likewise.
7634 * grub-core/script/execute.c: Likewise.
7635 * grub-core/script/main.c: Likewise.
7636 * grub-core/term/terminfo.c: Likewise.
7637 * grub-core/video/bitmap.c: Likewise.
7638 * util/grub-install.in: Likewise.
7639 * util/grub-mkimage.c: Likewise.
7640 * util/grub-mklayout.c: Likewise.
7641 * util/grub-setup.c: Likewise.
7642
0fc19bd0
VS
76432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7646 with similar messages in grub-fstest.
7647
d95862ef
VS
76482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * util/grub-install.in: Unify "option requires an argument" message
7651 with similar messages in other files.
7652 * util/grub-mkconfig.in: Likewise.
7653
b7308f90
VS
76542012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * util/grub-set-default.in: Replace printf with gettext_printf (the
7657 string in in question is already translated from grub-reboot)
7658
559dc587
VS
76592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * configure.ac: Bump up the version to beta1.
7662
1a11761f
VS
76632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7666 case when min_align = 0.
7667
24539abd
VS
76682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7671 and fix a case when line_start overflows.
7672
32bd735b
VS
76732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * util/grub-reboot.in (usage): Mention id posibility.
7676 * util/grub-set-default.in (usage): Likewise.
7677
1a2fd1e6
VS
76782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7681 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7682 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7683 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7684 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7685 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7686 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7687
90eeab76
VS
76882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/commands/menuentry.c (options): Remove
7691 GRUB_ARG_OPTION_REPEATABLE.
7692 Reported by: Andreas Vogel
7693
5ad1be82
AV
76942012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7695
7696 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7697
cb055286
HE
76982012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7699
7700 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7701 error.
7702
93b1cd79
VS
77032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Use sort -V by the idea of Georgi Georgiev.
7706
7707 * util/grub-mkconfig_lib.in (version_sort): New function.
7708 (version_test_numeric): Use version_sort.
7709
0cdc126c
VS
77102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Use submenus in grub-mkconfig.
7713
7714 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7715 * util/grub-mkconfig_lib.in (grub_quote): New function.
7716 (gettext_printf): Use gettext and not gettext_quoted to fix several
7717 messages.
7718 * util/grub.d/10_hurd.in: Use submenus.
7719 * util/grub.d/10_kfreebsd.in: Likewise.
7720 * util/grub.d/10_linux.in: Likewise.
7721 * util/grub.d/10_netbsd.in: Likewise.
7722 * util/grub.d/20_linux_xen.in: Likewise.
7723 * util/grub.d/30_os-prober.in: Likewise.
7724 * util/grub.d/10_illumos.in: Add missing quoting.
7725 * util/grub.d/10_windows.in: Likewise.
7726
d9bef9bc
VS
77272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Fix menu title instability bug.
7730
7731 * grub-core/commands/menuentry.c (options): New option --id.
7732 (grub_normal_add_menu_entry): New argument id. All users updated.
7733 (grub_cmd_menuentry): Handle --id.
7734 (grub_menu_init): Accept unknown arguments.
7735 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7736 feature_menuentry_options.
7737 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7738 saved_entry.
7739 (get_entry_number): Match with id as well.
7740 * include/grub/menu.h (grub_menu_entry): New member id.
7741 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7742 * util/grub.d/00_header.in: Define menuentry_id_option.
7743 * util/grub.d/10_hurd.in: Define id.
7744 * util/grub.d/10_illumos.in: Likewise.
7745 * util/grub.d/10_kfreebsd.in: Likewise.
7746 * util/grub.d/10_linux.in: Likewise.
7747 * util/grub.d/10_netbsd.in: Likewise.
7748 * util/grub.d/10_windows.in: Likewise.
7749 * util/grub.d/20_linux_xen.in: Likewise.
7750 * util/grub.d/30_os-prober.in: Likewise.
7751
77522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7753
7754 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7755 "scope" with "body".
7756
7c8d0ce7
VS
77572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7760 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7761 prot_size and prot_file_size.
7762
49de079b
VS
77632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7766 All users updated. If easily=1 require raid-5/-6 to be full.
7767 (is_node_readable): Likewise.
7768 (scan_devices): Scan incomplete but readable LVs at the end.
7769 (grub_diskfilter_memberlist): Pull missing devices.
7770 (insert_array): Skip scanning until device is complete or scan is
7771 done otherwise.
7772 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7773 check.
7774 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7775 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7776
aff05d45
MG
77772012-03-03 Matthew Garrett <mjg@redhat.com>
77782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 Avoid EFI boot services when loading Linux.
7781
7782 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7783 avoid_efi_bootservices. All users updated.
7784 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7785 argument avoid_efi_bootservices. All users updated.
7786 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7787 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7788 align, min_align, relocatable, prefered_address. All users updated.
7789 Allocate avoiding boot services if kernel is relocatable.
7790 (grub_cmd_linux): Check if kernel is relocatable.
7791 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7792 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7793 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7794 avoid_efi_boot_services.
7795 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7796 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7797 (linux_kernel_params): Likewise.
7798
3935dde2
MG
77992012-03-03 Matthew Garrett <mjg@redhat.com>
78002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 Use EDID on EFI.
7803
7804 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7805 datasize_out.
7806 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7807 modes. Set gop_handle.
7808 (grub_video_gop_get_edid): New function.
7809 (grub_gop_get_preferred_mode): Likewise.
7810 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7811 (grub_video_efi_gop_adapter): Set .get_edid.
7812 * include/grub/efi/edid.h: New file.
7813 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7814
32107ec0
VS
78152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * util/grub-install.in: Load efivars unconditionally.
7818
e70a2c50
VS
78192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * po/Rules-piglatin: Change suffix from .po-update-en to
7822 .po-update-en-piglatin.
7823
8f9cace1
VS
78242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 Add a pig farm.
7827
7828 * po/piglatin.sed: New file.
7829 * po/en@piglatin.header: Likewise.
7830 * po/Rules-piglatin: Likewise.
7831 * po/README: Add en@piglatin to autogenerated languages.
7832
8f95d002
VS
78332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7836 "Command for ...".
7837 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7838 "Check" since we don't check anything.
7839 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7840 is 64-bit one.
7841 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7842 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7843 (grub_md_sha512_real): Likewise.
7844
805a8dcc
VS
78452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/commands/gptsync.c: Fix typographic quoting.
7848 * grub-core/commands/ieee1275/suspend.c: Likewise.
7849 * grub-core/commands/parttool.c: Likewise.
7850 * grub-core/commands/search_wrap.c: Likewise.
7851 * grub-core/commands/videoinfo.c: Likewise.
7852 * grub-core/gfxmenu/gui_label.c: Likewise.
7853 * grub-core/hello/hello.c: Likewise.
7854 * grub-core/kern/emu/main.c: Likewise.
7855 * grub-core/net/net.c: Likewise.
7856 * grub-core/normal/menu.c: Likewise.
7857 * grub-core/normal/menu_text.c: Likewise.
7858 * grub-core/normal/misc.c: Likewise.
7859 * util/grub-editenv.c: Likewise.
7860 * util/grub-install.in: Likewise.
7861 * util/grub-kbdcomp.in: Likewise.
7862 * util/grub-mkconfig.in: Likewise.
7863 * util/grub-mknetdir.in: Likewise.
7864 * util/grub-mkrescue.in: Likewise.
7865 * util/grub-mkstandalone.in: Likewise.
7866 * util/grub-reboot.in: Likewise.
7867 * util/grub-set-default.in: Likewise.
7868 * util/grub-setup.c: Likewise.
7869 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7870
40211ab8
VS
78712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7874 * grub-core/commands/keystatus.c: Likewise.
7875 * grub-core/commands/loadenv.c: Likewise.
7876 * grub-core/commands/probe.c: Likewise.
7877 * grub-core/commands/regexp.c: Likewise.
7878 * grub-core/commands/true.c: Likewise.
7879 * grub-core/commands/videoinfo.c: Likewise.
7880 * grub-core/disk/cryptodisk.c: Likewise.
7881 * grub-core/disk/ldm.c: Likewise.
7882 * grub-core/disk/loopback.c: Likewise.
7883 * grub-core/disk/luks.c: Likewise.
7884 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7885 * grub-core/kern/disk.c: Likewise.
7886 * grub-core/kern/emu/hostdisk.c: Likewise.
7887
0c7d99c7
VS
78882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7891 * util/grub-install.in: Add missing quote in the comment.
7892
e7d2559b
VS
78932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7896 * grub-core/commands/lsmmap.c: Likewise.
7897 * grub-core/commands/minicmd.c: Likewise.
7898 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7899 * grub-core/commands/regexp.c: Likewise.
7900 * grub-core/gdb/gdb.c: Likewise.
7901 * grub-core/term/gfxterm.c: Likewise.
7902 * util/grub-mkconfig.in: Likewise.
7903 * util/grub-mkfont.c: Likewise.
7904 * util/grub-mklayout.c: Likewise.
7905 * util/grub-mknetdir.in: Likewise.
7906 * util/grub-mkrescue.in: Likewise.
7907 * util/grub.d/30_os-prober.in: Likewise.
7908
49ce9e50
VS
79092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7912 with "Direct color" and "Packed" with "Packed pixel".
7913 (grub_cmd_videoinfo): Simplify legend.
7914
e4b791fa
VS
79152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7918 absolutely unclear error message.
7919
fd1265cb
VS
79202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * util/grub-mkstandalone.in: Remove confusing leftover print.
7923
8822a8a0
VS
79242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7927 comments.
7928 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7929 (GRUB_MOD_INIT): Likewise.
7930 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7931 VGA mode.
7932 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7933 comments.
7934 * util/grub-install.in (usage): Likewise.
7935 Spell ID in whole letters.
7936 Add missing ending dot.
7937 Quote variables.
7938 * util/grub-reboot.in: Fix capitalisation.
7939 * util/grub-set-default.in: Likewise.
7940
937fd0cc
VS
79412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7944 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7945 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7946 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7947 Disable -Werror for -Wdeprecated-declarations.
7948 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7949 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7950 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7951 (grub_util_get_grub_dev): Make luks handling dependent on
7952 HAVE_DEVICE_MAPPER and not __linux__.
7953 (get_win32_path): Fix format security.
7954 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7955 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7956 Don't try grub_find_zpool_from_dir.
7957 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7958 #ifdef-out paresdir.
7959
1bab1ae3
VS
79602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * util/grub-pe2elf.c (usage): Add missing noreturn.
7963 (write_section_data): Rename name to shname to avoid shadowing.
7964 (write_symbol_table): Rename name to symname to avoid shadowing.
7965 Fix write_reloc_section call.
7966
ef023e42
VS
79672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7970 to ensure that it's after the last byte of .text.
7971
48afcb75
VS
79722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * util/ieee1275/ofpath.c (my_isdigit): New function.
7975 (trailing_digits): Use my_isdigit.
7976 (strip_trailing_digits): Likewise.
7977
88d51eff
VS
79782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7981 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7982
17edc2ba
VS
79832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/kern/i386/pc/startup.S: Define __start.
7986
ad5518d7
VS
79872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7990 strip already transforms he format.
7991
9e95e1bf
VS
79922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7995
9cc3ee5c
VS
79962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * util/grub-install.in: Add missing gettext init.
7999 * util/grub-kbdcomp.in: Likewise.
8000 * util/grub-mkconfig.in: Likewise.
8001 * util/grub-mknetdir.in: Likewise.
8002 * util/grub-mkrescue.in: Likewise.
8003 * util/grub-mkstandalone.in: Likewise.
8004 * util/grub-reboot.in: Likewise.
8005 * util/grub-set-default.in: Likewise.
8006 * util/grub.d/00_header.in: Likewise.
8007 * util/grub.d/10_hurd.in: Likewise.
8008 * util/grub.d/10_windows.in: Likewise.
8009 * util/grub.d/30_os-prober.in: Likewise.
8010 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8011
49e08a06
VS
80122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * po/Rules-swiss: Fix header comment.
8015
3809cb41
AV
80162012-02-29 Andreas Vogel <anvoit>
8017
8018 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8019 resulted in leak of arguments.
8020
fa6ec573
VS
80212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8024 reed_solomon_size const definition instead of computing it since
8025 Apple assembler doesn't support the later.
8026
22899b9c
VS
80272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * gentpl.py (kernel): Rewrite Apple part.
8030
a132afc3
VS
80312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8034
9d742bd4
VS
80352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8038 ELF section gap.
8039 (load_image): Likewise.
8040
f04a9a21
VS
80412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * configure.ac: Fix a typo in previous commit.
8044
46cf439c
VS
80452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Don't add -Wl,-N on Apple platform.
8048
8049 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8050 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8051
c4c48c54
VS
80522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/Makefile.core.def (lzma_decompress): Use
8055 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8056
31a12124
VS
80572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * grub-core/genmod.sh.in: Rewrite the Apple part.
8060
4f3aa1af
VS
80612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8064 comparison.
8065
7bd8b0c7
VS
80662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * acinclude.m4 (grub_CHECK_PIC): New test.
8069 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8070
97304d7c
VS
80712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8074 to avoid the warning.
8075
fb883812
VS
80762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8079 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8080 after. All users updated.
8081
a121c964
VS
80822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Use the common size routine in hostfs so we can read disks as well.
8085
8086 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8087 (grub_util_get_fd_size): ... this. Return size in bytes.
8088 All users updated.
8089 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8090 grub_util_get_fd_size.
8091
c66d6410
VS
80922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8095 Add blocksize retrieval.
8096
dfc8aeb0
VS
80972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * configure.ac: Restore CFLAGS after efiemu check.
8100
403e25a5
VS
81012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8104 Apple bug.
8105
382775d1
VS
81062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8109
6fd4e6e4
VS
81102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8113 (grub_cmd_halt): Likewise.
8114
bea359d6
VS
81152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8118 for local arithmetics.
8119 Break %sp init into 2 instructions.
8120 Add 0 byte at the end.
8121
32eb6ee1
VS
81222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8125 before loops.
8126
e8377389
VS
81272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8130 for context.
8131
8cb17de7
VS
81322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/disk/ldm.c (make_vg): Init part.name.
8135 (grub_ldm_detect): Silence spurious warning.
8136 (grub_util_is_ldm): Likewise.
8137
595717e6
VS
81382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8141 sane value to avoid a spurious warning.
8142
c4b7e588
VS
81432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8146 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8147
59824957
VS
81482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8151 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8152
70115b99
VS
81532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8156 hardcoding the relevant info.
8157
56733740
VS
81582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8161 missing const qualifiers.
8162 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8163
43481481
VS
81642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * util/getroot.c [__APPLE__]: Add missing includes.
8167 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8168
3cb38f01
VS
81692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8172
d9dbf11e
VS
81732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8176 avoid conflicts.
8177
0c42a45d
VS
81782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8181
46c34eb0
VS
81822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8185 and grub_file_close call.
8186
99ce1597
VS
81872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 Add LZSS Mach-O support (needed for new xnu kernelcache).
8190
8191 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8192 * grub-core/loader/lzss.c: New file.
8193 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8194 on Mach-O open failure.
8195 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8196 Don't free cmdsXX in uncompressedXX is set.
8197 (grub_macho_file): Init new fields.
8198 New argument is_64bit. All users updated.
8199 Handle compressed. Error out if no suitable architecture is found.
8200 Don't close file.
8201 (grub_macho_open): New argument is_64bit. All users updated.
8202 * grub-core/loader/macho32.c: Add defines for new fields.
8203 * grub-core/loader/macho64.c: Likewise.
8204 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8205 (grub_macho_parse): Handle compressed.
8206 Defer actual processing if compressed.
8207 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8208 "filename". All users updated.
8209 (grub_macho_size): New argument "filename". All users updated.
8210 (grub_macho_get_entry_point): Likewise.
8211 (grub_macho_load): Handle compressed.
8212 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8213 (GRUB_MACHO_LZSS_OFFSET): New define.
8214 (grub_decompress_lzss): New proto.
8215 * include/grub/machoload.h (grub_macho_file): New fields to handle
8216 compressed.
8217 (grub_macho_contains_macho64): Remove proto.
8218 (grub_macho_contains_macho32): Likewise.
8219 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8220
ebd17d6f
VS
82212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8224
2702b4e4
VS
82252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 Fix make dist.
8228
8229 * Makefile.am (starfield_theme_files): New var.
8230 (starfield_DATA): Use starfield_theme_files.
8231 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8232 Add bootcheck-related files.
8233 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8234 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8235 and font_char_metrics.txt.
8236 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8237 (setjmp): Add lib/ia64/longjmp.S.
8238 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8239 * po/POTFILES.in: Regenerate.
8240 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8241 DISTFILES.common.extra1.
8242 * util/devicemap.c: Removed.
8243 * grub-core/lib/i386/relocator_backward.S: Likewise.
8244 * util/import_gcry.py: Remove unused files. Add extra_dist for
8245 ChangeLog.
8246
cf1adfdf
VS
82472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8250 grub_gettext_delete_list before changing grub_gettext_max to avoid
8251 running out of array bounds.
8252
82532012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8254
8255 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8256 grub_vga_text_init/grub_vga_text_fini.
8257
cf1adfdf 82582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8259
8260 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8261
541d92e9
VS
82622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * configure.ac: Bump to 2.00~beta0.
8265
7931dddf
VS
82662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8269 missing initialisation.
8270
f1b16fa3
VS
82712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8274
83ddae23
VS
82752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 Support v2 xnu boot arguments.
8278
8279 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8280 New argument fsbfreq_out.
8281 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8282 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8283 be used.
8284 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8285 darwin_version.
8286 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8287 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8288 (grub_xnu_boot_params): Rename to ...
8289 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8290 (grub_xnu_boot_params_v2): New struct.
8291
dc693fe6
VS
82922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8295 zeroing of CRC field before computing CRC.
8296
5a6e39c2
VS
82972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8300 Change order of allocations to decrease fragmentation.
8301
6c21f5d7
VS
83022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8305
cfe456dc
CW
83062012-02-27 Colin Watson <cjwatson@ubuntu.com>
8307
8308 Use write-combining MTRR to speed up video with buggy BIOSes.
8309
8310 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8311 (cpuid): New define.
8312 (rdmsr): Likewise.
8313 (wrmsr): Likewise.
8314 (mtrr_base): Likewise.
8315 (mtrr_mask): Likewise.
8316 (grub_vbe_enable_mtrr_entry): New function.
8317 (grub_vbe_enable_mtrr): Likewise.
8318 (grub_vbe_disable_mtrr): Likewise.
8319 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8320 control off to BIOS.
8321 (grub_video_vbe_init): Fill mtrr.
8322 (grub_video_vbe_fini): Disable mtrr.
8323 (grub_video_vbe_get_info_and_fini): Likewise.
8324 (grub_video_vbe_setup): Enable mtrr.
8325
e3c78337
CW
83262012-02-27 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * include/grub/partition.h (grub_partition_map): Change prototype of
8329 embed to take a maximum value for nsectors.
8330 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8331 * include/grub/fs.h (grub_fs): Likewise.
8332 * grub-core/partmap/msdos.c (embed_signatures): New array.
8333 (pc_partition_map_embed): Check for and avoid sectors matching any
8334 of the signatures in embed_signatures, up to max_nsectors.
8335 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8336 returned sector map to max_nsectors.
8337 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8338 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8339 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8340 * util/grub-setup.c (setup): Allow for the embedding area being
8341 split into multiple blocklists. Tell dest_partmap->embed the
8342 maximum number of sectors we care about.
8343
83442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8347 Specify blocklist_install and reserver_first_sector for all fs.
8348 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8349 blocklists.
8350
984b973f
VS
83512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-install.in: Clarify strings.
8354 Fix source dir check.
8355
f122e0d6
RL
83562012-02-27 Richard Laager <rlaager@wiktel.com>
8357
8358 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8359 "zfs" and "fuse.zfs" as synonyms.
8360
071114bb
VS
83612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * configure.ac: Put platform and target_cpu substitutions back since
8364 they are used for directories.
8365
817e6abc
RL
83662012-02-27 Richard Laager <rlaager@wiktel.com>
83672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8370 * util/grub.d/20_linux_xen.in: Likewise.
8371
897b7419
RL
83722012-02-27 Richard Laager <rlaager@wiktel.com>
8373
8374 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8375 with full paths.
8376
a414bd15
RL
83772012-02-27 Richard Laager <rlaager@wiktel.com>
8378
8379 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8380 unescape.
8381
30ac48c4
VS
83822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 Don't use insecure popen in getroot.
8385
8386 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8387 (exec_pipe): ... here.
8388 (find_root_devices_from_poolname): Use exec_pipe.
8389
53f13848
VS
83902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 Remove platform and target_cpu replacement.
8393
8394 * configure.ac: Remove platform and target_cpu substitutions.
8395 * tests/util/grub-shell.in: Use modinfo.
8396 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8397 explicitly.
8398
90cb2803
VS
83992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Autodetect platform in grub-install but allow override.
8402
8403 * util/grub-install.in: Autodetect platform. Support --target and
8404 --directory. Read platform from modinfo.sh.
8405
b9136427
VS
84062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Support btrfs multi-volume probe.
8409
8410 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8411 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8412 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8413 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8414 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8415 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8416 grub_find_root_devices_from_btrfs if on btrfs.
8417
c36e5cd1
VS
84182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Remove any awareness of *.c util files about target.
8421
8422 * Makefile.util.def (grub-setup): Split to ...
8423 (grub-bios-setup): ... and this.
8424 (grub-sparc64-setup): ... and this.
8425 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8426 * docs/man/grub-setup.h2m: Split into ...
8427 * docs/man/grub-sparc64-setup.h2m: ... this.
8428 * docs/man/grub-bios-setup.h2m: ... and this.
8429 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8430 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8431 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8432 (grub_target_addr_t): Remove.
8433 (grub_target_size_t): Remove.
8434 (grub_target_ssize_t): Remove.
8435 * util/grub-install.in: Use new grub-*-setup.
8436 * util/grub-mkimagexx.c (Elf_Word): New define.
8437 (Elf_Half): Likewise.
8438 (Elf_Section): Likewise.
8439 (ELF_ST_TYPE): Likewise.
8440 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8441 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8442
584b2f8a
VS
84432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 Replace grub_target_addr with more appropriate types.
8446
8447 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8448 grub_target_addr with grub_addr.
8449 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8450 grub_target_addr with grub_port.
8451 (grub_cmd_write): Likewise.
8452 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8453 grub_target_addr with grub_addr.
8454 (grub_cmd_write): Likewise.
8455 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8456
5a0dc6fb
VS
84572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8460 const qualifier for vendor_guid.
8461
786aff6e
VS
84622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8465 const qualifier.
8466 (efiemu_memequal): Likewise.
8467 (find_variable): Likewise.
8468
49017b17
VS
84692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Fix missing console prototype on qemu-mips.
8472
8473 * include/grub/mips/qemu_mips/console.h: New file.
8474
c5988629
MG
84752012-02-27 Matthew Garrett <mjg@redhat.com>
84762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8479 * include/grub/efi/efi.h: Likewise.
8480 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8481 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8482 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8483 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8484 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8485 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8486
e33f8d69
MG
84872012-02-27 Matthew Garrett <mjg@redhat.com>
8488
8489 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8490
fb312cd9
VS
84912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8494 error.
8495
7134247c
VS
84962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * configure.ac: Remove inappropriate use of program_transform_name
8499 on grubdir and bootdir but allow explicit specification of those
8500 variables.
8501
6a313124
VS
85022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * util/grub-mknetdir.in (grub_prefix): Removed.
8505 (subdir): Use @bootdirname@ and @grubdirname@.
8506
2311c5ca
VS
85072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8510
7d5d60f7
VS
85112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * po/POTFILES.in: Regenerated.
8514
8151bc82
VS
85152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Remove improper use of program_transform_name on pkglibrootdir.
8518
8519 * configure.ac (pkglibrootdir): Removed.
8520 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8521 * util/grub-mkimage.c: Likewise.
8522
b4a6a533
VS
85232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8526 warning.
8527
668f304f
VS
85282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * util/grub-install.in: Use file identifier if no UUID is available
8531 or user explicitly prompted for it.
8532
665f2341
NP
85332012-02-27 Navdeep Parhar <nparhar@gmail.com>
8534
8535 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8536 (freebsd_get_zfs): New function.
8537 (grub_freebsd_boot): Pass zfs UUID.
8538 (grub_cmd_freebsd): Set zfs UUID.
8539
8151bc82 85402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8541
8542 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8543 pkglibrootdir.
8544
e4c498a1
MG
85452012-02-27 Mike Gilbert <floppym@gentoo.org>
8546
8547 Add configure flag to control libzfs integration.
8548
8549 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8550
1e9a9a3f
VS
85512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8554 device.
8555 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8556 small devices.
8557
036985b8
VS
85582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8561 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8562 be used on non-modules.
8563
8564 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8565 Rename to grub_boot_init.
8566 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8567 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8568 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8569 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8570 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8571 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8572 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8573 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8574 includes.
8575 (grub_machine_init): Remove empty inits.
8576 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8577 includes.
8578 (grub_machine_init): Remove empty inits.
8579 * grub-core/term/arc/console.c: Remove explicit proto.
8580 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8581 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8582 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8583 grub_at_keyboard_fini.
8584 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8585 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8586 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8587 grub_gfxterm_fini.
8588 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8589 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8590 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8591 grub_vgatext_fini.
8592 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8593 * grub-core/term/serial.c (GRUB_MOD_INIT)
8594 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8595 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8596 grub_serial_fini.
8597 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8598 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8599 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8600 grub_terminfo_fini.
8601 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8602 (GRUB_MOD_FINI): Likewise.
8603 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8604 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8605 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8606 grub_video_radeon_fuloong2e_fini.
8607 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8608 [LOONGSON]: Rename to grub_video_sis315pro_init.
8609 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8610 grub_video_sis315pro_fini.
8611 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8612 [LOONGSON]: Rename to grub_video_sm712_init.
8613 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8614 grub_video_sm712_fini.
8615 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8616 (grub_at_keyboard_fini): Likewise.
8617 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8618 Don't declare grub_{modname}_init.
8619 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8620 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8621 New proto.
8622 (grub_keylayouts_fini) [!EMU]: Likewise.
8623 * include/grub/serial.h (grub_serial_init) [!EMU]:
8624 New proto.
8625 (grub_serial_fini) [!EMU]: Likewise.
8626 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8627 New proto.
8628 (grub_terminfo_fini) [!EMU]: Likewise.
8629 * include/grub/video.h (grub_font_init) [!EMU]:
8630 New proto.
8631 (grub_font_fini) [!EMU]: Likewise.
8632 (grub_gfxterm_init) [!EMU]: Likewise.
8633 (grub_gfxterm_fini) [!EMU]: Likewise.
8634 (grub_video_sm712_init) [!EMU]: Likewise.
8635 (grub_video_sm712_fini) [!EMU]: Likewise.
8636 (grub_video_sis315pro_init) [!EMU]: Likewise.
8637 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8638 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8639 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8640
d5534665
VS
86412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Make nand a prefix for nand devices.
8644
8645 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8646
10133b5f
VS
86472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8650 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8651
8e307a62
VS
86522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * include/grub/env.h (grub_env_find): Remove prototype.
8655 * grub-core/kern/env.c (grub_env_find): Make static.
8656 (grub_env_set): Remove useless set.
8657
a4c65f34
VS
86582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/kern/i386/realmode.S: Remove useless align.
8661
d87893d5
VS
86622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * include/grub/dl.h (grub_dl_load_file): Don't export.
8665
50159add
VS
86662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8669 grub_dprintf.
8670
b2582b84
VS
86712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8674 grub_errors.
8675 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8676 not reloading whole superblock but only the part which is really needed.
8677 Remove useless grub_errors.
8678 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8679 grub_errors.
8680
e2a83395
VS
86812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 Don't export grub_get_rtc.
8684
8685 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8686 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8687
e7d2a906
VS
86882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8691
6cf1363b
VS
86922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8695 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8696
eece3349
VS
86972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 Remove prio_list.
8700
8701 * include/grub/list.h (grub_prio_list): Removed.
8702 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8703 GRUB_COMMAND_PRIO_MASK.
8704 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8705 GRUB_COMMAND_FLAG_ACTIVE.
8706 (grub_prio_list_insert): Removed.
8707 (grub_prio_list_remove): Likewise.
8708 (GRUB_AS_PRIO_LIST): Likewise.
8709 (GRUB_AS_PRIO_LIST_P): Likewise.
8710 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8711 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8712 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8713 * grub-core/kern/command.c (grub_register_command_prio): Inline
8714 the prio_list code.
8715 (grub_unregister_command): Likewise.
8716
94f064b4
VS
87172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Fix interrupt mixup from previous commit.
8720
8721 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8722 (grub_realidt): New var.
8723 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8724 Load idt.
8725 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8726 New declaration.
8727 (grub_relocator16_boot): Set grub_relocator16_idt.
8728 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8729 (LOCAL(realidt)): ... this.
8730 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8731 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8732 (grub_realidt): New variable.
8733
27317084
VS
87342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8737 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8738 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8739 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8740 Gettextize.
8741 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8742 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8743 * po/POTFILES.in: Regenerate.
8744
47b40053
VS
87452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8748 errors.
8749
2b343101
VS
87502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8753 \0.
8754 (add_length): Likewise.
8755
ff27c3dd
LK
87562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
87572012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8758
8759 GDB serial and backtrace support.
8760
8761 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8762 (prot_to_real): Likewise.
8763 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8764 * grub-core/Makefile.core.def (backtrace): New module.
8765 (gdb): Likewise.
8766 * grub-core/gdb/cstub.c: New file.
8767 * grub-core/gdb/gdb.c: Likewise.
8768 * grub-core/gdb/i386/idt.c: Likewise.
8769 * grub-core/gdb/i386/machdep.S: Likewise.
8770 * grub-core/gdb/i386/signal.c: Likewise.
8771 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8772 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8773 * include/grub/backtrace.h: Likewise.
8774 * include/grub/gdb.h: Likewise.
8775 * include/grub/i386/gdb.h: Likewise.
8776
87772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8778
8779 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8780 New function.
8781 (add_length): Likewise.
8782 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8783 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8784 proto.
8785 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8786 __argp_get_display_len.
8787
ff27c3dd 87882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8789
8790 $"..." support in scripts.
8791
8792 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8793 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8794 * grub-core/script/yylex.l: Likewise.
8795 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8796 value.
8797
ff27c3dd 87982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8799
8800 * gentpl.py: Remove obsolete pkglib_DATA handling.
8801
ff27c3dd 88022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8803
8804 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8805 mailing list.
8806
8807 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8808 * util/grub-kbdcomp.in: Likewise.
8809 * util/grub-mkconfig.in: Likewise.
8810 * util/grub-mkconfig_lib.in: Likewise.
8811 * util/grub-mknetdir.in: Likewise.
8812 * util/grub-mkrescue.in: Likewise.
8813 * util/grub-mkstandalone.in: Likewise.
8814 * util/grub-reboot.in: Likewise.
8815 * util/grub-set-default.in: Likewise.
8816 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8817
ff27c3dd 88182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8819
8820 Remove GRUB_PREFIX.
8821
8822 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8823 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8824 used for backward compatibility.
8825
ff27c3dd 88262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8827
8828 Add new all_video module.
8829
8830 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8831 * grub-core/Makefile.core.def (all_video): New module.
8832 * grub-core/genmoddep.awk: Generate dependency of all_video from
8833 video.lst.
8834 * grub-core/lib/fake_module.c: New file.
8835 * grub-core/normal/main.c (features): Add feature_all_video_module.
8836 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8837 don't do explicit search again.
47454da5 8838 insmod all_video in load_video if available.
22c7ce85 8839
ff27c3dd 88402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8841
8842 Another round of string clarification and adding TRANSLATORS comments.
8843
ff27c3dd 88442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8845
8846 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8847
ff27c3dd 88482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8849
8850 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8851 to grub_ssize_t.
8852 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8853 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8854
ff27c3dd 88552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8856
8857 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8858 trailing newline implicitly. All users updated.
8859
ff27c3dd 88602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8861
8862 Implement serial on IEEE1275 and EFI.
8863
8864 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8865 on emu. Mention arc and emu as the only platforms without serial
8866 support.
8867 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8868 ieee1275 platforms.
8869 * grub-core/term/efi/serial.c: New file.
8870 * grub-core/term/ieee1275/serial.c: Likewise.
8871 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8872 specification if no ns8250 driver is available.
8873 (grub_cmd_serial): Likewise.
8874 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8875 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8876 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8877 (grub_efi_parity_type_t): New type.
8878 (grub_efi_stop_bits_t): Likewise.
8879 (grub_efi_serial_io_interface): New struct.
8880 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8881 available for all interfaces.
8882 Add EFI and IEEE1275 fields.
8883 (grub_ofserial_init): New proto.
8884 (grub_efiserial_init): Likeiwse.
8885 * util/grub.d/00_header.in: Don't check for the presence of serial
8886 module.
8887
ff27c3dd 88882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8889
8890 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8891 name as if it was an alias.
8892
114076ef
VS
88932012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/commands/lsacpi.c (options): Fix typo.
8896
6a656b0e
VS
88972012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 Convert grub-emu to argp.
8900
8901 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8902 emu.
8903 * util/argp_common.c: Rename to ...
8904 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8905 Add missing includes.
8906 * grub-core/kern/emu/main.c: Convert to argp.
8907 * po/POTFILES.in: Regenerate.
8908 * util/grub-install.in (usage): Make first letter lowcase in messages
8909 for uniformity.
8910 * util/grub-setup.c (options): Likewise.
8911
1e3f8ae8
VS
89122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8915 Put back accidently commented-out code.
8916
ed167a80
VS
89172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8920 loop check using Brent algorithm.
8921 (grub_hfsplus_btree_search): Likewise.
8922
6753c0ec
VS
89232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * util/grub-install.in: Fix usage of wrong device for PreP install.
8926
4e27343f
VS
89272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * conf/Makefile.common (CFLAGS_GNULIB): Add
8930 -Wno-unsafe-loop-optimizations.
8931 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8932 on tools.
8933 * grub-core/commands/legacycfg.c: Add pragma to skip
8934 -Wunsafe-loop-optimizations.
8935 (check_password_md5_real): Fix loop counter type.
8936 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8937 reading.
8938 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8939 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8940 loop condition.
8941 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8942 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8943 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8944 condition.
8945 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8946 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8947 avoid possible infinite loops.
8948 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8949 and -Wunsafe-loop-optimizations.
8950 * grub-core/script/yylex.l: Likewise.
8951 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8952 (print_glyphs): Avoid infinite loops.
8953 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8954
697f18b0
GS
89552012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8956
8957 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8958 to avoid infinite loop.
8959 (disp_acpi_rsdt_table): Likewise.
8960
274416e8
VS
89612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/font/font.c (grub_font_load): Add support for default
8964 path for fonts ($prefix/fonts).
8965 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8966 for checking if string is a path.
8967 * grub-core/normal/main.c (features): Add feature_default_font_path.
8968 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8969 * util/grub.d/00_header.in: Use default directory if possible.
8970 * util/grub-install.in: Install unicode.pf2.
8971
b3e08622
VS
89722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8975 * po/Rules-swiss: New file.
8976 * po/swiss.sed: Likewise.
8977
fe42ce09
VS
89782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/fs/btrfs.c (find_device): Fix typos.
8981 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8982 * util/grub-mkrelpath.c (argp_parser): Likewise.
8983 Reported by: Yuri Chornoivan.
8984
72f1d065
DO
89852012-02-23 Dalet Omega <daletomega@gmail.com>
8986
8987 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8988 for usual informative messages.
8989
c5884973
DO
89902012-02-23 Dalet Omega <daletomega@gmail.com>
8991
8992 Starfield theme.
8993
8994 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8995 * conf/Makefile.common: Define starfielddir.
8996 * configure.ac: Configure starfield.
8997 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8998 * themes/starfield/README: Likewise.
8999 * themes/starfield/blob_w.png: Likewise.
9000 * themes/starfield/boot_menu_c.png: Likewise.
9001 * themes/starfield/boot_menu_e.png: Likewise.
9002 * themes/starfield/boot_menu_n.png: Likewise.
9003 * themes/starfield/boot_menu_ne.png: Likewise.
9004 * themes/starfield/boot_menu_nw.png: Likewise.
9005 * themes/starfield/boot_menu_s.png: Likewise.
9006 * themes/starfield/boot_menu_se.png: Likewise.
9007 * themes/starfield/boot_menu_sw.png: Likewise.
9008 * themes/starfield/boot_menu_w.png: Likewise.
9009 * themes/starfield/slider_c.png: Likewise.
9010 * themes/starfield/slider_n.png: Likewise.
9011 * themes/starfield/slider_s.png: Likewise.
9012 * themes/starfield/src/blob_nw.xcf: Likewise.
9013 * themes/starfield/src/bootmenu/: Likewise.
9014 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9015 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9016 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9017 * themes/starfield/src/slider_c.xcf: Likewise.
9018 * themes/starfield/src/slider_n.xcf: Likewise.
9019 * themes/starfield/src/slider_s.xcf: Likewise.
9020 * themes/starfield/src/terminalbox/: Likewise.
9021 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9022 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9023 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9024 * themes/starfield/starfield.png: Likewise.
9025 * themes/starfield/terminal_box_c.png: Likewise.
9026 * themes/starfield/terminal_box_e.png: Likewise.
9027 * themes/starfield/terminal_box_n.png: Likewise.
9028 * themes/starfield/terminal_box_ne.png: Likewise.
9029 * themes/starfield/terminal_box_nw.png: Likewise.
9030 * themes/starfield/terminal_box_s.png: Likewise.
9031 * themes/starfield/terminal_box_se.png: Likewise.
9032 * themes/starfield/terminal_box_sw.png: Likewise.
9033 * themes/starfield/terminal_box_w.png: Likewise.
9034 * themes/starfield/theme.txt: Likewise.
9035
17d73325
VS
90362012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * util/grub.d/00_header.in: Add missing export theme.
9039
dbebaf92
VS
90402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9043 already included.
9044 Reported by: Eren D.
9045
3d68bffb
VS
90462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * conf/Makefile.common (grubdatadir): Removed.
9049 (Makefile.am): Move eveything grubdata to pkgdata.
9050
4b59234d
VS
90512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/commands/acpihalt.c (get_sleep_type):
9054 Remove unused variable.
9055
463dcadc
VS
90562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9059 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9060 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9061 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9062 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9063 i18n with gettext no-op.
9064 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9065 GRUB_ACPI_OPCODE_STRING_CONST.
9066 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9067 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9068
e5b90c82
VS
90692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * po/POTFILES.in: Regenerate.
9072
2a704ca9
VS
90732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9076 -Wno-error=missing-noreturn.
9077
84f9d341
VS
90782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9081 condition to avoid possibly infinite loops.
9082 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9083 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9084
d46683f9
VS
90852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9088 condition to avoid possibly infinite loops.
9089
c44866b2
VS
90902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9093 on show_error.
9094
96790539
VS
90952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9098
1ba7e295
VS
90992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9102
21ffe8f1
VS
91032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * util/bin2h.c (usage): Add missing attribute noreturn.
9106
0ccb6b3c
VS
91072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9110 if the size isn't divisible by 512.
9111
b00d7fb6
VS
91122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Make list_push and list_remove functions rather than inline functions
9115 to decrease size and avoid aliasing violations.
9116
9117 * include/grub/list.h (grub_list_push): Move to ...
9118 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9119 * include/grub/list.h (grub_list_remove): Move to ...
9120 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9121
9d369087
VS
91222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9125 and -Wunused-result.
9126
af0250d9
VS
91272012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9130 Reported by: Seth Goldberg
9131
aad32b14
VS
91322012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9135
ac96441c
ST
91362012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9137
9138 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9139 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9140 command line.
9141 * docs/grub.texi (Simple configuration): Document
9142 GRUB_CMDLINE_GNUMACH.
9143
91442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9145
9146 * conf/Makefile.common (platform_SCRIPTS): New variable.
9147 (platform_PROGRAMS): Likewise.
9148 * gentpl.py: Mark *,module and *.image for install.
9149 * grub-core/gdb_grub.in: Add a notice of expected environment.
9150 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9151 (gmodule.pl): Likewise.
9152
ac96441c 91532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9154
9155 Replace grub_checkkey with grub_getkey_noblock.
9156
9157 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9158 (grub_getkey_noblock): ... this. All users updated.
9159
ac96441c 91602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9161
9162 * grub-core/kern/emu/console.c: Move to ...
9163 * grub-core/term/emu/console.c: ...here.
9164 (grub_ncurses_getkey): Fix return value if no key is detected.
9165
e51b5666
VS
91662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9169 (grub_unit_test_fini): Likewise.
9170 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9171
91722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * include/grub/test.h (GRUB_UNIT_TEST)
9175
d9a62292
VS
91762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9179 Better error handling.
9180 (grub_script_return): Likewise.
9181 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9182
77c9182f
VS
91832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9186 rimplicit redifinition.
9187
edb13cf9
VS
91882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9191 GRUB.
9192
a9e9dc7c
VS
91932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9196 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9197 prompt here.
9198
b4ba8e02
VS
91992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9202 as GRUB_ERR_BUG. Don't malloc if no device is available.
9203
dded5540
VS
92042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9207 Mark calling with invalid term as GRUB_ERR_BUG.
9208
0cf69874
VS
92092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9212 packets rather than raising an error.
9213
59bfe502
VS
92142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9217 in if.
9218
db5fc596
VS
92192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9222 diagnostic to dprintf.
9223 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9224
e4b7f404
VS
92252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9228 device name.
9229
e7b02f9e
VS
92302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9233 (grub_ntfs_iterate_dir): Likewise.
9234
0331e102
VS
92352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 Efiemu stylistic fixes and gettext.
9238
9239 * grub-core/efiemu/i386/loadcore32.c
9240 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9241 * grub-core/efiemu/i386/loadcore64.c
9242 (grub_arch_efiemu_relocate_symbols64): Likewise.
9243 * grub-core/efiemu/i386/pc/cfgtables.c
9244 (grub_machine_efiemu_init_tables): Likewise.
9245 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9246 (grub_efiemu_loadcore_initXX): Add a filename argument.
9247 All users updated.
9248 Improved error message.
9249 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9250 Add a filename argument.
9251 All users updated.
9252 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9253 Reclassify double relocation as GRUB_ERR_BUG.
9254
306fc074
VS
92552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9258 handling.
9259
794d8ef2
VS
92602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9263 on partition.
9264
92652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9266
9267 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9268
794d8ef2 92692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9270
9271 Improve string. Gettextize.
9272
78dde88e
VS
92732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9276 utils.
9277 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9278
4786a90f
VS
92792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9282 [GRUB_UTIL]: New function.
9283 (insert_array) [GRUB_UTIL]: Store partmaps.
9284 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9285 partmaps.
9286 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9287 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9288 (probe_abstraction): Print diskfilter and not raid.
9289 Reported by: Lennart Sorensen
9290
0b6225bd
VS
92912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9294 * util/grub-mkimagexx.c (MASK3): New define.
9295 (add_value_to_slot_20b): Use MASK3.
9296 (add_value_to_slot_21): Likewise.
9297 (relocate_addresses): Fix format specification.
9298 (load_image): Explicitly init symtab_section.
9299
b055f8f6
VS
93002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9303 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9304
b77c2fb7
VS
93052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9308 on powerpc.
9309 Reported by: Lennart Sorensen
9310
e3ec28ab
VS
93112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * gentpl.py: Add missing license header.
9314 * docs/grub.texi: Update copyright year.
9315
c8d9ead6
GS
93162012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9317
9318 Source grub-mkconfig_lib from the build directory at build time.
9319 Suggested by: Vladimir Serbinenko.
9320
9321 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9322 * util/grub-install.in: Define pkgdatadir if not already set, and source
9323 grub-mkconfig_lib from there.
9324 * util/grub-kbdcomp.in: Likewise.
9325 * util/grub-mkconfig.in: Likewise.
9326 * util/grub-mknetdir.in: Likewise.
9327 * util/grub-mkrescue.in: Likewise.
9328 * util/grub-mkstandalone.in: Likewise.
9329 * util/grub-reboot.in: Likewise.
9330 * util/grub-set-default.in: Likewise.
9331 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9332
ebcecdf1
VS
93332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 Increase warning level.
9336
9337 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9338 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9339 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9340 (TARGET_CFLAGS): Likewise.
9341 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9342 * grub-core/Makefile.core.def (decompressor_xz): Add
9343 -Wno-unreachable-code.
9344 (normal): Add -Wno-redundant-decls.
9345 (xzio): Add -Wno-unreachable-code.
9346 (lzopio): Add -Wno-redundant-decls -Wno-error.
9347 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9348 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9349 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9350 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9351 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9352 * grub-core/kern/i386/coreboot/init.c: Add exception to
9353 -Wsuggest-attribute=noreturn.
9354 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9355 * grub-core/kern/ia64/dl_helper.c: Likewise.
9356 * grub-core/kern/mips/dl.c: Likewise.
9357 * grub-core/kern/sparc64/dl.c: Likewise.
9358 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9359 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9360 (memcmp): Likewise.
9361 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9362 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9363 * grub-core/loader/mips/linux.c: Likewise.
9364 * grub-core/loader/multiboot_elfxx.c: Likewise.
9365 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9366 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9367 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9368 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9369 fixme.
9370 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9371 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9372 Fix prototype.
9373
37bb97fe
VS
93742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9377 address.
9378
29a3550b
VS
93792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9382 Avoid improper use of strings.
9383 (grub_cmd_legacy_initrdnounzip): Likewise.
9384
dfdffd0d
VS
93852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9388 attribute.
9389 (grub_util_info): Likewise.
9390 (grub_util_error): Likewise.
9391
102fae4a
VS
93922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9395 * util/grub-fstest.c (fstest): Likewise.
9396
7e94d044
VS
93972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9400 (grub_md_sha512_real): Likewise.
9401 (grub_util_get_geli_uuid): Likewise.
9402 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9403 (grub_util_biosdisk_open): Fix format specification.
9404 Respect format security.
9405 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9406 (xrealloc): Likewise.
9407 (xasprintf): Likewise.
9408
5ebd9769
VS
94092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * util/import_gcry.py: Include grub/crypto.h in init.c.
9412
495fc8c1
VS
94132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9416 (generate_image): Make prefix a const char *.
9417 Fix format specifications. Respect format security.
9418 Avoid void * arithmetics.
9419 Avoid shadowing.
9420 (argp_parser): Remove unused variable. Respect format security.
9421 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9422 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9423 (count_funcs): Remove unused variable.
9424 (relocate_addresses): Fix format specification.
9425 Disable x86-64 with elf32. Remove unused variables.
9426 (add_fixup_entry): Avoid shadowing.
9427 (make_reloc_section): Fix format specification.
9428 Use assert.
9429 (locate_sections): Fix format specifications.
9430 (load_image): Avoid shadowing.
9431
043c2ea3
VS
94322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9435 Fix format specifications. Respect format security.
9436 Don't translate already translated grub_errmsg.
9437 (argp_parser): Remove unused variable
9438
3ec65a81
VS
94392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9442
a4d9fe4a
VS
94432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9446 (main): Likewise. Use xmalloc. Respect format security.
9447
15b81d49
VS
94482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9451 a const char *.
9452 (argp_parser): Remove unused variable.
9453
31731fc0
VS
94542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9457 (add_pixel): Make static.
9458 (add_font): Likewise.
9459 (write_string_section): Make name and str a const char *.
9460 (write_be16_section): Make name a const char *.
9461 (print_glyphs): Make static.
9462 (write_font_ascii_bitmap): Likewise.
9463 (write_font_width_spec): Likewise.
9464 (write_font_pf2): Likewise.
9465 (argp_parser): Remove unused variable.
9466 Respect format security.
9467 (main): Avoid shadowing. Respect format security.
9468
0809527b
VS
94692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * util/grub-editenv.c (argp_parser): Make static.
9472 (create_envblk_file): Use xmalloc.
9473 (open_envblk_file): Likewise.
9474 Resepect format security.
9475 (set_variables): Respect format security.
9476
45b0c8b7
VS
94772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * util/getroot.c (grub_find_device): Respect format security.
9480 (get_mdadm_uuid): Remove unused variable.
9481 (grub_util_pull_device): Dont call gettext on already translated
9482 grub_errmsg.
9483 (find_system_device): Remove unused variable.
9484 (grub_util_get_grub_dev): Likewise.
9485 (grub_make_system_path_relative_to_its_root): Respect format security.
9486
1b024b4e
VS
94872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * util/grub-fstest.c (execute_command): Make first argument
9490 a const char *.
9491 (read_file): Avoid shadowing.
9492 Reuse underlying error message if device open fails.
9493 (cmd_cmp): Respect format security.
9494 (root): Make const char *.
9495 (fstest): Remove args argument and use global copy.
9496 Respect format security.
9497 (argp_parser): Make static.
9498 (main): Make default_root const char *.
9499
5d1d4e28
VS
95002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * util/grub-mount.c (root): Make const char *.
9503 (execute_command): Make first argument a const char *.
9504 (fuse_init): Respect format security.
9505 (argp_parser): Make static. Remove unused variable.
9506 (main): Make default_root a const char *.
9507 Respect format security.
9508
36eb7379
VS
95092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * util/grub-probe.c (probe): Don't call gettext on already translated
9512 grub_errmsg.
9513 Remove unused variables.
9514 (argp_parser): Remove unused variable.
9515
76fb2ea9
VS
95162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub-script-check.c (argp_parser): Remove unused variable.
9519 (main): Rename read to curread to avoid shadowing.
9520
56c98584
VS
95212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * util/misc.c (grub_util_write_image_at): Fix format specification.
9524 (grub_util_write_image): Likewise.
9525 (grub_script_execute_argument_to_string): Removed (unused).
9526 (grub_script_execute_menuentry): Likewise.
9527 (grub_putchar): Likewise.
9528
164ebb48
VS
95292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9532 (FUNCTION) [GRUB_UTIL]: Likewise.
9533 (VARIABLE) [GRUB_UTIL]: Likewise.
9534
44318d61
VS
95352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9538 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9539
31a26002
VS
95402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9543 buffer.
9544
95452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9548 (LzmaEnc_SaveState): Removed (unused).
9549 (LzmaEnc_RestoreState): Likewise.
9550 (LzmaEnc_InitPriceTables): Made static.
9551 (LzmaEnc_Construct): Likewise.
9552 (LzmaEnc_FreeLits): Likewise.
9553 (LzmaEnc_Destruct): Likewise.
9554 (LzmaEnc_Init): Likewise.
9555 (LzmaEnc_InitPrices): Likewise.
9556 (LzmaEnc_Finish): Likewise.
9557 (LzmaEnc_PrepareForLzma2): Removed (unused).
9558 (LzmaEnc_MemPrepare): Likewise.
9559 (LzmaEnc_GetNumAvailableBytes): Likewise.
9560 (LzmaEnc_GetCurBuf): Likewise.
9561 (LzmaEnc_CodeOneMemBlock): Likewise.
9562
6fa67967
VS
95632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9566 (grub_util_ldm_embed): Likewise.
9567
9a7428e6
VS
95682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * util/grub-editenv.c (print_var): Rename name to varname to
9571 avoid shadowing.
9572 (main): Rename index to curindex to avoid shadowing.
31a26002 9573 Make filename a const char *.
9a7428e6 9574
4f96abd1
VS
95752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9578 to arg_getline to avoid shadowing.
9579
44d10dad
VS
95802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9583 disk_ to avoid shadowing.
9584
340ba63e
VS
95852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9588 curindex to avoid shadowing.
9589 Make static.
9590 (MatchFinder_GetNumAvailableBytes): Make static.
9591
22965bce
VS
95922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9595 avoid shadowing.
9596
7b5784d4
VS
95972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9600 argument from encrypt to do_encrypt to avoid shadowing.
9601
6f48ca01
VS
96022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9605 incorrect nesting of #if's.
9606
a4ea2dff
VS
96072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9610 checks which are always false on some platforms.
9611 (grub_cmd_lsacpi): Likewise.
9612 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9613 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9614 Likewise.
9615
def9fc1b
VS
96162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9619 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9620
a67b2a04
VS
96212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9624 re_dfa_t to avoid breaking alignment invariants.
9625 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9626 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9627
44c6828d
VS
96282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9631 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9632
bebe0dd0
VS
96332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9636 Fix declaration.
9637
a9cdb3cf
VS
96382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9641 conserve alignment invariants.
9642 (grub_ehci_ehcc_read16): Likewise.
9643 (grub_ehci_oper_read32): Likewise.
9644 (grub_ehci_oper_write32): Likewise.
9645 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9646 Conserve alignment invariants.
9647
ccc3b1b8
VS
96482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9651 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9652 declarations.
9653
987fbd95
VS
96542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9657 Remove unused variable.
9658
0df363f3
VS
96592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9662 Remove set in if.
9663
b2c0c4a6
VS
96642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * include/grub/net.h: Remove double declarations.
9667
690c531f
VS
96682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 Remove "payload" command in ia64 Linux loader since I couldn't
9671 find any evidence of it being used for anything.
9672 Replace "relocate" command with an environment variable
9673
9674 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9675 fields.
9676 (ia64_boot_payload): Removed.
9677 (last_payload): Likewise.
9678 (RELOCATE_OFF): Likewise.
9679 (RELOCATE_ON): Likewise.
9680 (RELOCATE_FORCE): Likewise.
9681 (relocate): Likewise.
9682 (free_pages): Don't free payloads.
9683 (grub_load_elf64): Use common error messages.
9684 Use "linux_relocate" variable.
9685 Increase the space after boot_params.
9686 (grub_cmd_payload): Removed.
9687 (grub_cmd_relocate): Likewise.
9688 (grub_cmd_fpswa): Improve messages.
9689 (cmd_payload): Removed.
9690 (cmd_relocate): Likewise.
9691 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9692 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9693
01783768
VS
96942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 Convert UHCI to DMA framework.
9697
9698 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9699 (grub_uhci_pci_iter): Fill new members
9700 (grub_alloc_td): Use P2V and V2P functions.
9701 (grub_free_queue): Likewise.
9702 (grub_alloc_qh): Likewise.
9703 (grub_uhci_setup_transfer): Likewise.
9704 (grub_uhci_check_transfer): Likewise.
9705
43206939
VS
97062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9709 Remove assignment in if while on it.
9710
571e140e
VS
97112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * util/grub-mkstandalone.in: Fix modules directory.
9714
a9d96eeb
VS
97152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9718 on i386-pc target.
9719 (argp_parser): Accept "auto" as compression specification.
9720
e4e37e8d
VS
97212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 Fix `help' with unloaded modules.
9724
9725 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9726 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9727 (grub_dyncmd_dispatcher): Small stylistic fix.
9728 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9729 explicit help is requested.
9730
e1ea3ade
VS
97312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9734 Explicitly init restart while on it.
9735
27556881
VS
97362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9739 uninited variable.
9740
d65f6b36
VS
97412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/grub-mknetdir.in: Use . rather than source for POSIX
9744 compatibility.
9745
0a1e473c
VS
97462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9749
ce6647c8
VS
97502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9753 variable.
9754
66747894
VS
97552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9758 without quotes.
9759
71645f6e
VS
97602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9763
0e1c1f61
VS
97642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9767 iteration of partitions.
9768
9c4b5c13
VS
97692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 Improve gettext support. Stylistic fixes and error handling fixes while
9772 on it.
9773
215c90cb
VS
97742012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9777 part. Instead setup the correct stack in RM.
9778 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9779 for stack.
9780 * include/grub/i386/relocator_private.h: New file.
9781
b5c1f9bf
VS
97822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9785 argument.
9786 * util/grub-fstest.c (options): Add missing DEVICE part.
9787
b525fd83
VS
97882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Clarify and unify messages.
9791
9792 * grub-core/commands/hashsum.c (options): Unify messages.
9793 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9794 literal-only message as translatable.
9795 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9796 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9797 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9798 commands.
9799 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9800 key, not the key used to unlock. Clarify what it's used for.
9801 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9802 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9803 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9804 * util/grub-editenv.c (options): Unify "verbose" message.
9805 * util/grub-fstest.c (read_file): Unify error message.
9806 (fstest): Add quotes around commands.
9807 (options): Unify "verbose" message.
9808 * util/grub-install.in: Add quotes around variable name.
9809 * util/grub-kbdcomp.in: Unify error message.
9810 * util/grub-mkfont.c (main): Likewise.
9811 * util/grub-mkrescue.in: Likewise.
9812 * util/grub-mklayout.c (options): Unify "verbose" message.
9813 * util/grub-mkstandalone.in: Unify help and verbose messages.
9814 * util/grub-mount.c (options): Unify "verbose" message.
9815 * util/grub-probe.c (options): Likewise.
9816 * util/grub-script-check.c (options): Likewise.
9817 * util/grub-setup.c (setup): Unify no-terminator message.
9818 (options): Use DEVICE and not DEV.
9819 Unify "verbose" message.
9820 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9821
0ae70393
VS
98222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 Improve and unify messages.
9825
9826 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9827 name. All users updated.
9828 Print filename in error.
9829 (read_device_map): Print filename in error.
9830 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9831 (grub_util_get_os_disk): Likewise.
9832 (grub_util_biosdisk_get_grub_dev): Likewise.
9833 (grub_util_check_block_device): Likewise.
9834 (grub_util_check_char_device): Likewise.
9835 (grub_make_system_path_relative_to_its_root): Likewise.
9836 * util/grub-editenv.c (create_envblk_file): Likewise.
9837 (open_envblk_file): Likewise.
9838 (write_envblk): Likewise.
9839 * util/grub-fstest.c (cmd_cp): Likewise.
9840 (cmd_cat): Likewise.
9841 (cmd_cmp): Likewise.
9842 * util/grub-menulst2cfg.c (main): Likewise.
9843 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9844 (write_font_width_spec): Likewise.
9845 (write_font_pf2): Likewise.
9846 * util/grub-mkimage.c (generate_image): New argument outname.
9847 All users updated.
9848 Remove unreacheable message.
9849 (options): Unify messages.
9850 (help_filter): Likewise.
9851 * util/grub-mklayout.c (usage): Removed (unused).
9852 (main): Print filename in error.
9853 * util/grub-mkrescue.in: Fix wrong quoting.
9854 * util/grub-setup.c (setup): Print filename in error.
9855 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9856 (check_sas): Likewise.
9857 * util/misc.c (grub_util_get_fp_size): Removed.
9858 (grub_util_get_image_size): Print filename in error.
9859 (grub_util_read_at): Removed.
9860 (grub_util_read_image): Print filename in error.
9861 (grub_util_load_image): Likewise.
9862 (grub_util_write_image_at): New argument filename. All users updated.
9863 Print filename in error.
9864 (grub_util_write_image): New argument filename. All users updated.
9865 Print filename in error.
9866 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9867 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9868
0a96117d
VS
98692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/Makefile.core.def (pxechain): New module.
9872 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9873 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9874 function.
9875 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9876 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9877
aca002f7
VS
98782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9881 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9882 * include/grub/err.h (grub_error_saved): New struct.
9883 (grub_errmsg): Make array size explicit.
9884 * include/grub/misc.h (grub_error_save): New function.
9885 (grub_error_load): Likewise.
9886 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9887 (grub_error_push): Update `errno' member name.
9888 (grub_error_pop): Likewise
9889 * grub-core/net/tftp.c (tftp_data): New member save_err.
9890 (tftp_receive): Save error.
9891 (tftp_open): Restore error.
9892
a51dab13
VS
98932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9896 to real mode down to execute A20-related code in protected mode as
9897 intended.
9898
eb6e6649
GS
98992012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9900
9901 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9902 NULL when the argument `level' has an unexpected value.
9903
92cd0f6e
VS
99042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 Move platform-dependent files from $prefix to $prefix/$platform.
9907
9908 * config.h.in (GRUB_TARGET_CPU): New definition.
9909 (GRUB_PLATFORM): Likewise.
9910 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9911 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9912 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9913 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9914 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9915 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9916 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9917 * grub-core/normal/term.c (read_terminal_list): Likewise.
9918 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9919 $prefix/locale.
9920 (grub_gettext_init_ext): Likewise.
9921 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9922 grub_platform.
9923 * util/grub-install.in: Update directories.
9924 * util/grub-mknetdir.in: Likewise.
9925 * util/grub-mkrescue.in: Likewise.
9926
db606889
VS
99272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9930 grub_error framework. All users updated.
9931
c39992a4
VS
99322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9935 lists (by always binsearching), improve caching (cache strings
9936 used for binsearch, not only results), improve
9937 maintainability (by using more structured binary search) and correct
9938 error handling.
9939
1e5ec32f
VS
99402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * grub-core/script/execute.c (grub_script_return): Fix warning.
9943
ac576cde
VS
99442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/script/execute.c (grub_script_return): Fix potential
9947 NULL-dereference.
9948 Reported by: Jim Meyering.
9949
498453f6
VS
99502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * po/POTFILES.in: Regenerate.
9953 * util/grub-install.in: Gettextize the strings missed in first pass.
9954
8be63f2e
VS
99552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * Makefile.util.def (grub-mkdevicemap): Removed.
9958 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9959 * include/grub/util/deviceiter.h: Removed.
9960 * util/deviceiter.c: Likewise.
9961 * util/getroot.c (grub_util_get_os_disk): New function.
9962 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9963 replacement for EFI.
9964 * util/grub-mkdevicemap.c: Removed.
9965 * util/grub-probe.c (probe): Handle PRINT_DISK.
9966 (argp_parser): Handle -t disk.
9967
8e1e4e39
VS
99682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * util/grub-mkfont.c: Migrate to argp.
9971 * util/grub-mklayout.c: Likewise.
9972 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9973 * util/grub-mkrelpath.c: Likewise.
9974 * util/grub-probe.c: Likewise.
9975 * util/grub-script-check.c: Likewise.
9976
4459819a
VS
99772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-reboot.in: Add missing datarootdir.
9980 Add missing newline.
9981 * util/grub-set-default.in: Add missing datarootdir.
9982 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9983 * util/grub-mkrescue.in: Likewise.
9984
f65741c7
VS
99852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9988
c1a33466
VS
99892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * util/grub-kbdcomp.in: Add decent help and gettextize.
9992 * docs/man/grub-kbdcomp.h2m: New file.
9993
c76899a0
VS
99942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 Migrate grub-mkimage.c to argp.
9997
9998 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9999 (grub-setup): Likewise.
10000 * util/grub-setup.c (print_version): Move to ...
10001 * util/argp_common.c (print_version): ... here.
10002 * util/grub-setup.c (argp_program_version_hook): Move to ...
10003 * util/argp_common.c (argp_program_version_hook): ... here.
10004 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10005 safety.
10006 * util/grub-mkimage.c (main): Migrate to argp.
10007
57db0757
VS
100082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * util/grub-mkrescue.in: Use same message as
10011 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10012 for better translations.
10013
18534ad9
VS
100142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10017 options with generic grub-mkrescue.in with the goal of future
10018 merge.
10019
c84ba308
VS
100202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/kern/mm.c: Add missing include of i18n.h
10023 * grub-core/lib/relocator.c: Likewise.
10024
347998c2
VS
100252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10028 error.
10029 (allocate_pages): Check return value.
10030 Replace fatal with error.
10031 (grub_linux_boot): Replace printf with dprintf.
10032 Check find_mmap_size return value.
10033 Replace fatal with error.
10034 Don't call grub_machine_fini.
10035 (grub_load_elf64): Replace printf with dprintf.
10036 (grub_cmd_linux): Likewise.
10037 (grub_cmd_initrd): Likewise.
10038 (grub_cmd_payload): Likewise.
10039
c779226e
VS
100402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10043 message.
10044 * grub-core/video/radeon_fuloong2e.c
10045 (grub_video_radeon_fuloong2e_setup): Likewise.
10046 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10047 * grub-core/video/video.c (grub_video_set_mode): Don't override
10048 standard out of memory message.
10049
dc87d45a
GS
100502012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10051
10052 NetBSD disk wedge support.
10053
10054 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10055 [__NetBSD__]: Handle NetBSD disk wedges.
10056 * util/getroot.c (convert_system_partition_to_system_disk)
10057 [__NetBSD__]: Likewise.
10058
055f856f
MW
100592012-02-03 Mark Wooding <mdw@distorted.org.uk>
10060
10061 * util/grub-mkconfig.in: Use umask rather than chmod to create
10062 grub.cfg.new to avoid insecure grub.cfg.
10063
4a9f8346
VS
100642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/commands/ls.c: Gettextize.
10067 * grub-core/commands/setpci.c: Likewise.
10068 * grub-core/commands/videotest.c: Likewise.
10069 * grub-core/disk/geli.c: Likewise.
10070 * grub-core/kern/mm.c: Likewise.
10071 * grub-core/lib/relocator.c: Likewise.
10072 * grub-core/loader/efi/appleloader.c: Likewise.
10073 * grub-core/loader/i386/xnu.c: Likewise.
10074 * grub-core/loader/ia64/efi/linux.c: Likewise.
10075 * grub-core/loader/xnu.c: Likewise.
10076 * grub-core/net/dns.c: Likewise.
10077 * grub-core/net/net.c: Likewise.
10078 * grub-core/script/lexer.c: Likewise.
10079 * grub-core/script/parser.y: Likewise.
10080 * grub-core/script/yylex.l: Likewise.
10081 * util/getroot.c: Likewise.
10082 * util/grub-setup.c: Likewise.
10083
a646a366
VS
100842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10087 number.
10088
54e2be26
VS
100892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10092
f7c71e68
VS
100932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10096 macro.
10097 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10098 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10099
a32d5c71
VS
101002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10103 * util/grub-install.in: Gettextize.
10104 * util/grub-mkconfig.in: Likewise.
10105 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10106 if not available.
10107 (grub_warn): Gettextize.
10108 * util/grub-mknetdir.in: Gettextize.
10109 * util/grub-mkrescue.in: Likewise.
10110 * util/grub-mkstandalone.in: Likewise.
10111 * util/grub-reboot.in: Likewise.
10112 * util/grub-set-default.in: Likewise.
10113 * util/grub.d/00_header.in: Likewise.
10114 * util/grub.d/10_hurd.in: Likewise.
10115 * util/grub.d/10_kfreebsd.in: Likewise.
10116 * util/grub.d/10_linux.in: Likewise.
10117 * util/grub.d/10_netbsd.in: Likewise.
10118 * util/grub.d/10_windows.in: Likewise.
10119 * util/grub.d/20_linux_xen.in: Likewise.
10120 * util/grub.d/30_os-prober.in: Likewise.
10121 * po/POTFILES-shell.in: Regenerate.
10122
69edd81a
RL
101232012-02-03 Richard Laager <rlaager@wiktel.com>
10124
10125 * util/grub-mkimage.c (main): Fix format-security warning.
10126 * util/grub-mkrelpath.c (main): Likewise.
10127 * util/grub-probe.c (main): Likewise.
10128
65f08dbf
RL
101292012-02-03 Richard Laager <rlaager@wiktel.com>
10130
10131 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10132 failure.
10133 Put back lost PRINT_DRIVE.
10134
e9084abe
RL
101352012-02-03 Richard Laager <rlaager@wiktel.com>
10136
10137 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10138 (grub_guess_root_devices): Replace strlen with sizeof.
10139 Avoid crash.
10140 (find_root_devices_from_poolname): Remove unused variable.
10141 Handle raidzN.
10142
cf5f7ee7
VS
101432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 Support install on multi-device filesystems.
10146
10147 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10148 (grub_guess_root_devices): ...this. Return char **. All users updated.
10149 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10150 Removed.
10151 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10152 (find_root_devices_from_poolname): ... here.
10153 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10154 Support zfs-fuse.
10155 (grub_guess_root_device): Rename to ...
10156 (grub_guess_root_devices): ... this. Return char **. All users updated.
10157 * util/grub-install.in: Handle multi-device filesystems.
10158 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10159 argument. All users updated.
10160 Handle multi-device filesystems.
10161 Use 'delim' as separator.
10162 Remove device check to allow filesystems on file.
10163 (main): Support -0 argument. Handle multi-device.
10164 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10165 Fix a cross-device check while on it.
10166 (arguments): Remove root_dev.
10167 (argp_parser): Remove -r.
10168 (main): Remove root_dev.
10169
2f53a9ed
VS
101702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10173
17e1d934
VS
101742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10177 symbol.
10178 Reported by: NODA, Kai <nodakai>.
10179
d3e3fab5
VS
101802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 Fix ehci on amd64.
10183
10184 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10185 pointers.
10186 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10187 (grub_ehci_setup_qh): Likewise.
10188 (grub_ehci_find_qh): Likewise.
10189 (grub_ehci_transaction): Likewise.
10190 (grub_ehci_setup_transfer): Likewise.
10191 (grub_ehci_check_transfer): Likewise.
10192 (grub_ehci_portstatus): Likewise.
10193 (grub_ehci_detect_dev): Likewise.
10194 (grub_ehci_transfer_controller_data): New field td_last_phys.
10195 (grub_ehci_setup_transfer): Fill td_last_phys.
10196 (grub_ehci_check_transfer): Use td_last_phys.
10197
3008675b
SG
101982012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10199
10200 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10201 if no submenu is present.
10202
fc9b5652
AN
102032012-02-01 Aleš Nesrsta <starous@volny.cz>
10204
10205 CBI support.
10206
10207 * include/grub/usb.h (grub_usbms_protocol_t): New values
10208 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10209 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10210 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10211 (grub_usbms_dev): Add subclass, protocol and intrpt.
10212 Remove in_maxsz and out_maxsz.
10213 (grub_usbms_reset): Rename to ...
10214 (grub_usbms_bo_reset): .. this.
10215 (grub_usbms_cbi_cmd): New function.
10216 (grub_usbms_cbi_reset): Likewise.
10217 (grub_usbms_reset): Likewise.
10218 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10219 (grub_usbms_transfer): Rename to ...
10220 (grub_usbms_transfer_bo): ... this.
10221 (grub_usbms_transfer_cbi): Likewise.
10222 (grub_usbms_transfer): Likewise.
10223
a2b81d53
AN
102242012-02-01 Aleš Nesrsta <starous@volny.cz>
102252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10228 the support for the CS5536 modification thereos and few bugfixes.
10229
10230 * grub-core/Makefile.core.def (ehci): New module.
10231 * grub-core/bus/usb/ehci.c: New file.
10232 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10233 port and hubaddr. All users updated.
10234 Save port and hubaddr into dev structure.
10235 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10236 define.
10237 * include/grub/pci.h (grub_dma_phys2virt): New function.
10238 (grub_dma_virt2phys): Likewise.
10239 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10240
b1d51f02
VS
102412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10244 check as some mkfs implementations omit it.
10245
fc694106
VS
102462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10249
6c0920e3
VS
102502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10253 Add new member volname2.
10254 (grub_jfs_label): Use volname2 if available.
10255
d1a46f9a
VS
102562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10259 over last_mounted as seen in image generated by mkfs.nilfs2.
10260 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10261
dec8ed14
VS
102622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10265 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10266 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10267
7397c69b
VS
102682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10271 over the sector.
10272
b3fe42ad
VS
102732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10276 subvolume name (by removing a bogus and useless check).
10277
10476bb0
VS
102782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10281 sizeof while on it.
10282
9c08ad87
VS
102832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10286 (grub_scsi_read_capacity10): ... this.
10287 (grub_scsi_read_capacity16): New function.
10288 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10289 0xffffffff.
10290 Fix off-by-one error.
10291 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10292 64-bit unsigned.
10293 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10294 (grub_scsi_read_capacity10): ... this.
10295 (grub_scsi_read_capacity_data): Rename to ...
10296 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10297 (grub_scsi_read_capacity16): New struct.
10298 (grub_scsi_read_capacity16_data): Likewise.
10299 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10300 grub_scsi_cmd_read_capacity10.
10301 New command grub_scsi_cmd_read_capacity16.
10302
bc8d0f45
VS
103032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 SCSI >2TiB support.
10306
10307 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10308 (grub_scsi_write16): Likewise.
10309 (grub_scsi_read): Use read16 when necessary.
10310 (grub_scsi_write): Likewise.
10311 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10312 (grub_scsi_write16): Likewise.
10313 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10314
cc774926
VS
103152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 SCSI write support (for usbms mainly).
10318
10319 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10320 a const pointer.
10321 (grub_scsi_write): Implement.
10322 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10323
67639fd7
VS
103242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10327 variable.
10328
9079d3ed
VS
103292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10332
c6a6f204
VS
103332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * po/POTFILES.in: Regenerate.
10336
ecbf8cd1
VS
103372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10340 with grub_printf to avoid unnecessary fatal failure.
10341
0b3b3b38
VS
103422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10345 (INT_MAX): Likewise.
10346 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10347 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10348 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10349 (strcpy): Likewise.
10350 (strstr): Likewise.
10351 (strchr): Likewise.
10352 (strncpy): Likewise.
10353 (strcat): Likewise.
10354 (strncat): Likewise.
10355 (strcoll): Likewise.
10356 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10357 (GRUB_INT_MAX): Likewise.
10358
db7337a3
VS
103592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10362 unexpected error.
10363 (optimize_utf8): Likewise.
10364 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10365
f37c87e1
VS
103662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/boot/i386/pc/lnxboot.S: Use
10369 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10370 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10371 location.
10372 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10373 definition.
10374 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10375
63fe43f3
VS
103762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10379 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10380 now to avoid double free.
10381 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10382 hostdisk.
10383 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10384 * util/grub-probe.c (escape_of_path): Always return a new copy.
10385 (print_full_name): Escape path.
10386 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10387 Fix hints on abstractions.
10388
ebe2c961
VS
103892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10392 Don't add "root" line if no compatibility hont is available.
10393 Suggested by: Seth Goldberg.
10394
2b5336a2
VS
103952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10398 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10399 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10400 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10401
74310bd8
VS
104022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10405
c30582ba
VS
104062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * util/grub-pe2elf.c (ehdr): Make static.
10409 (shdr): Likewise.
10410 (num_sections): Likewise.
10411 (offset): Likewise.
10412
5f47782c
VS
104132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Eliminate ofpath limits and possible overflows.
10416
10417 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10418 (OF_PATH_MAX): Removed.
10419 (MAX_DISK_CAT): New const.
10420 (find_obppath): Use allocated rather than preallocated buffer.
10421 Return result. Argument of_path removed. All users updated.
10422 Add missing fdstat.
10423 (xrealpath): New function.
10424 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10425 Allocate rather than use preallocated buffer. All users updated.
10426 (__of_path_common): Use allocated rather than preallocatecd buffer.
10427 Return result. Argument of_path removed. All users updated.
10428 (vendor_is_ATA): Read only needed part form the file.
10429 (check_sas): Allocate depending on contents rather than fixed.
10430 (main) [STANDALONE]: Handle NULL result.
10431
f990cbf9
VS
104322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10435
9c6e84b8
VS
104362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 Cryptodisk write support.
10439
10440 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10441 (grub_cryptodisk_decrypt): Moved logic to ...
10442 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10443 (grub_cryptodisk_write): Implement.
10444 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10445 (grub_util_fd_write): ... this. Make global.
10446 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10447
87cf9744
VS
104482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * include/grub/list.h (grub_list_remove): Don't crash if element is
10451 removed twice.
10452
ca8c0baf
VS
104532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 Rename ofconsole to console.
10456
10457 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10458 as sysnonym to console.
10459 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10460 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10461 Rename grub_ofconsole_ to grub_console_. All users updated
10462 (grub_console_term_output): Rename "ofconsole" to "console".
10463 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10464 as "console".
10465
64c8b8f6
VS
104662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10469 handling.
10470 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10471 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10472 GRUB_DISK_DEVICE_FILE_ID.
10473
f6c434d5
VS
104742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10477 and improve performance.
10478
5858b42d
VS
104792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10482 missing ieee1275/ prefix on whole disk.
10483
4ed3c26b
VS
104842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10487 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10488
df71143e
VS
104892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10492
076e7c0f
VS
104932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 Merge common RAID and LVM logic to an abstract diskfilter.
10496 Add LDM support using the same framework.
10497
10498 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10499 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10500 (libgrubmods): Remove grub-core/disk/raid.c and
10501 grub-core/partmap/gpt.c.
10502 * grub-core/Makefile.core.def (ldm): New module.
10503 (raid): Renamed to diskfilter. All users updated.
10504 * grub-core/disk/raid.c: Moved to ...
10505 * grub-core/disk/diskfilter.c: ... here.
10506 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10507 (lv_num): New var.
10508 (find_array): Renamed to ...
10509 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10510 (grub_is_array_readable): Renamed to ...
10511 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10512 (insert_array): New argument id.
10513 (is_node_readable): New function.
10514 (scan_device): Rename to ...
10515 (scan_disk): .. this. Restrict to one disk.
10516 (scan_devices): New function.
10517 (grub_diskfilter_iterate): Support multi-LV.
10518 Skip invisible and nameless LVs.
10519 (grub_diskfilter_memberlist): Support multi-LV.
10520 (grub_diskfilter_read_node): New function.
10521 (grub_raid_read): Most of logic moved to ...
10522 (read_segment): ... here
10523 (read_lv): New function.
10524 (grub_diskfilter_get_vg_by_uuid): New function.
10525 (grub_diskfilter_make_raid): Likewise.
10526 * grub-core/disk/ldm.c: New file.
10527 * grub-core/disk/lvm.c (vg_list): Removed.
10528 (lv_count): Likewise.
10529 (scan_depth): Likewise.
10530 (is_lv_readable): Likewise.
10531 (grub_lvm_getvalue): Advance pointer past the number.
10532 (find_lv): Removed.
10533 (do_lvm_scan): Refactored into ...
10534 (grub_lvm_detect): ... this. Support raid.
10535 (grub_lvm_iterate): Removed.
10536 (grub_lvm_memberlist): Likewise.
10537 (grub_lvm_open): Likewise.
10538 (grub_lvm_close): Likewise.
10539 (read_lv): Likewise.
10540 (read_node): Likewise.
10541 (is_node_readable): Likewise.
10542 (is_lv_readable): Likewise.
10543 (grub_lvm_read): Likewise.
10544 (grub_lvm_write): Likewise.
10545 (grub_lvm_dev): Use diskfilter
10546 (GRUB_MOD_INIT): Likewise.
10547 (GRUB_MOD_FINI): Likewise.
10548 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10549 new interface.
10550 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10551 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10552 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10553 grub_diskfilter_read_node.
10554 Fix a bug with xor.
10555 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10556 grub_diskfilter_read_node.
10557 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10558 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10559 (grub_disk_dev_iterate): Move from here...
10560 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10561 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10562 Make global.
10563 (grub_hostdisk_find_partition_start): Likewise.
10564 (grub_hostdisk_os_dev_to_grub_drive): New function.
10565 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10566 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10567 * util/getroot.c (make_device_name): ... here.
10568 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10569 Move to ...
10570 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10571 * grub-core/kern/emu/hostdisk.c
10572 (convert_system_partition_to_system_disk): Move to ...
10573 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10574 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10575 * util/getroot.c (device_is_wholedisk): ... here.
10576 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10577 * util/getroot.c (find_system_device): ... here.
10578 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10579 Move to ...
10580 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10581 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10582 Move to ...
10583 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10584 Handle LDM.
10585 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10586 Move to ...
10587 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10588 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10589 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10590 DISKFILTER.
10591 * include/grub/raid.h: Renamed to ...
10592 * include/grub/diskfilter.h: ... this.
10593 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10594 (GRUB_RAID_LAYOUT_*): Make into array.
10595 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10596 (grub_diskfilter_vg): New struct.
10597 (grub_diskfilter_pv_id): Likewise.
10598 (grub_raid_member): Removed.
10599 (grub_raid_array): Likewise.
10600 (grub_diskfilter_pv): New struct.
10601 (grub_diskfilter_lv): Likewise.
10602 (grub_diskfilter_segment): Likewise.
10603 (grub_diskfilter_node): Likewise.
10604 (grub_diskfilter_get_vg_by_uuid): New proto.
10605 (grub_raid_register): Inline.
10606 (grub_diskfilter_unregister): Likewise.
10607 (grub_diskfilter_make_raid): New proto.
10608 (grub_diskfilter_vg_register): Likewise.
10609 (grub_diskfilter_read_node): Likewise.
10610 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10611 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10612 (grub_util_is_ldm): Likewise.
10613 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10614 (grub_hostdisk_find_partition_start): Likewise.
10615 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10616 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10617 New definition.
10618 (grub_gpt_partition_map_iterate): New proto.
10619 * include/grub/lvm.h (grub_lvm_vg): Removed.
10620 (grub_lvm_pv): Likewise.
10621 (grub_lvm_lv): Likewise.
10622 (grub_lvm_segment): Likewise.
10623 (grub_lvm_node): Likewise.
10624 * util/getroot.c [...]
10625 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10626 (probe_abstraction): Likewise.
10627 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10628 (main): Remove dead logic.
10629
8a7f9b9c
VS
106302012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 Simplify root device discover and don't fail when trying to open
10633 incorrect devices.
10634
10635 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10636 function.
10637 (get_diskname_from_path): Likewise.
10638 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10639 of iterating.
10640
30545b85
VS
106412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10644
28ea58cf
VS
106452012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10648 pastthe end.
10649
692dabca
VS
106502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * util/grub-install.in: Add missing \.
10653 Reported by: gentoofan
10654
f6e4ea70
VS
106552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10658 (direct_read): Use correct compressed size.
10659 (grub_squash_read_data): Likewise.
10660
106612012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10662
10663 * docs/grub.texi (Platform limitations): New section.
10664 (Platform-specific operations): Likewise.
10665 * docs/grub-dev.texi (Porting): Likewise.
10666
76261110
VS
106672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 IEEE1275 disk write support.
10670
10671 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10672 const void *.
10673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10674 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10675 and seek loginc to ...
10676 (grub_ofdisk_prepare): ... here.
10677 (grub_ofdisk_write): Implement.
10678
fc36d603
VS
106792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 ARC disk write support.
10682
10683 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10684 (reopen): New argument writable. All users updated.
10685 Handle required access mode.
10686 (grub_arcdisk_write): Implement.
10687 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10688 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10689
e06c2e7a
VS
106902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10693 (read_sblock): Don't attempt to read superblocks outside the disk size.
10694
ff447958
VS
106952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10698 first superblock to find the second one when possible.
10699
9e88df39
VS
107002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * util/grub-install.in: Fix an ARC bug.
10703 Print a warning if no platform-specific setup is available.
10704
bb26e4ff
VS
107052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Use static allocation rather than scratch pointer in reed_solomon.
10708 It decreases its size significantly and avoids a variable in .text.
10709
10710 * grub-core/lib/reed_solomon.c (scratch): Removed.
10711 (chosenstat): New const or static array.
10712 (sigma): Likewise.
10713 (errpot): Likewise.
10714 (errpos): Likewise.
10715 (sy): Likewise.
10716 (mstat): Likewise.
10717 (errvals): Likewise.
10718 (eqstat): Likewise.
10719 (pol_evaluate): Replace x with log_x argument. All users updated.
10720 (syndroms): Removed.
10721 (gauss_solve): Use statically allocated arrays.
10722 (rs_recover): Likewise.
10723 Calculate syndroms directly.
10724 (decode_block): Use statically allocated arrays.
10725 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10726 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10727
2e13ede5
VS
107282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 Eliminate fixed limit on reed solomon decoder length.
10731
10732 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10733 rather than hardcoding the address.
10734 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10735 no_reed_solomon_length.
10736 Move gate_a20 to no-reed-solomon part.
10737 Don't force a particular size of no reed-solomon part.
10738 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10739 Removed.
10740 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10741 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10742
f8a9ab12
VS
107432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/commands/wildcard.c (match_files): Handle filenames
10746 without explicit device.
10747 (wildcard_expand): Don't add explicit device if not already present.
10748 * tests/grub_script_echo1.in: Add a new expansion test.
10749
87edb894
VS
107502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Replace single-linked with double-linked lists. It results in more
10753 compact and more efficient code.
10754
10755 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10756 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10757 (grub_list_remove): Moved from here ...
10758 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10759 (grub_prio_list_insert): Set prev.
10760 * include/grub/list.h (grub_list): Add prev. All users updated.
10761
48b391e9
VS
107622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 Handle newer autotools. Add some missing quotes while on it.
10765
10766 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10767 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10768 (pkgdata_DATA): ... here.
10769 * Makefile.util.def (update-grub_lib): Removed.
10770 * conf/Makefile.common (pkglib_DATA): Removed.
10771 (pkglib_SCRIPTS): Likewise.
10772 (pkgdata_DATA): New variable.
10773 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10774 needed.
10775 Add missing quotes.
10776 Remove unused variable while on it.
10777 * tests/util/grub-shell.in: Likewise.
10778 * util/grub-install.in: Likewise.
10779 * util/grub-mkconfig.in: Likewise.
10780 * util/grub-mknetdir.in: Likewise.
10781 * util/grub-mkrescue.in: Likewise.
10782 * util/grub-mkstandalone.in: Likewise.
10783 * util/grub.d/00_header.in: Likewise.
10784 * util/grub.d/10_hurd.in: Likewise.
10785 * util/grub.d/10_illumos.in: Likewise.
10786 * util/grub.d/10_kfreebsd.in: Likewise.
10787 * util/grub.d/10_linux.in: Likewise.
10788 * util/grub.d/10_netbsd.in: Likewise.
10789 * util/grub.d/10_windows.in: Likewise.
10790 * util/grub.d/20_linux_xen.in: Likewise.
10791 * util/grub.d/30_os-prober.in: Likewise.
10792 * util/update-grub_lib.in: Removed.
10793
107942012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10795
10796 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10797 a workaround for intel problem.
10798
66832792
PRP
107992012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
108002012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
108012012-01-23 pfsmorigo
10802
10803 * util/grub-install.in: Support dd'in into PreP partition.
10804 * util/grub-probe.c (probe): Support discovering partition type.
10805 (main): Support -t msdos_parttype.
10806
7816a17e
VS
108072012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10810 infinite recursion using counter.
10811 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10812 init to skip it if the magic check fails.
10813 (dec_stream_header): Init s->crc32.
10814
8f9d3a8c
ZB
108152012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
108162012-01-22 Zachary Bedell <pendorbound@gmail.com>
108172012-01-22 Richard Laager <rlaager@wiktel.com>
10818
10819 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10820 All users updated.
10821 (find_bestub): Determine correct size.
10822 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10823 (scan_disk): Align the size down.
10824 Call check pool before find_bestub to have ashift.
10825
b055dd32
VS
108262012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10827
10828 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10829 dprintf in no-malloc zone.
10830
d779e9bd
ML
108312012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10832
10833 * configure.ac: Add back in test for limits.h.
10834
b508af69
VS
108352012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 Support 4K-sector NTFS.
10838
10839 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10840 (grub_ntfs_data): Remove blocksize.
10841 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10842 Remove data argument. All users updated.
10843
dad9c8b5
VS
108442012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10847 being in .text to avoid dprel references.
10848 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10849 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10850 (grub_arch_highmemsize): Likewise.
10851 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10852 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10853 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10854
d43a777e
VS
108552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10858
10859 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10860 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10861
34e4208f
VS
108622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10865 GRUB_UTIL.
10866 (grub_set_datetime_cmos): Likewise.
10867
3ec0fc1c
VS
108682012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 Make XZ compression parameters dependent on target and not host CPU.
10871
10872 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10873 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10874
22489834
VS
108752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10878 set but not used variable.
10879
8502fbca
VS
108802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10883 created when no uuid support is compiled into mkfs.reiser.
10884
76df2068
VS
108852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10888 (utf8_to_macroman): Do the opposite.
10889 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10890
64e3f8f6
VS
108912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * configure.ac: Refise build qemu_mips w/o unifont.
10894
9c271078
VS
108952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Eliminate grub_min/grub_max prone to overflow usage.
10898
10899 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10900 (poll_nonroot_hub): Likewise.
10901 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10902 (grub_affs_label): Likewise.
10903 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10904 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10905 (grub_hfs_label): Likewise.
10906 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10907 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10908 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10909 (zap_leaf_array_get): Likewise.
10910 (dnode_get_path): Likewise.
10911 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10912 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10913 * grub-core/script/execute.c (grub_script_break): Likewise.
10914 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10915 grub_max.
10916 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10917 * include/grub/misc.h (grub_min): Removed.
10918 (grub_max): Likewise.
10919
80662dbc
VS
109202012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10921
10922 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10923 direct.inode = 0.
10924
e6da1467
VS
109252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10928
b1ac4cb1
VS
109292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10932
b4bf7c3b
VS
109332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10936 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10937
8ee1101a
VS
109382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10941 rather than a hack for grub_strncasemap.
10942
109432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 Support multiple initrds
10946 Note: part of this was accidently committed in r3739.
10947
10948 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10949 initrd.
10950 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10951 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10952 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10953 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10954 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10955
4d1e2bc9
VS
109562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10959 disks with unknown size.
10960 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10961
75b49ebe
VS
109622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Remove defines pertaining to arbitrary limits not affecting GRUB
10965 anymore.
10966
10967 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10968 (EXT2_MAX_SYMLINKCNT): Likewise.
10969 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10970 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10971 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10972 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10973 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10974 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10975 (DN_MAX_OBJECT_SHIFT): Likewise.
10976 (DN_MAX_OFFSET_SHIFT): Likewise.
10977 (DN_MAX_OBJECT): Likewise.
10978 (DNODES_PER_LEVEL_SHIFT): Likewise.
10979 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10980 (SPA_MAXBLOCKSIZE): Likewise.
10981 (SPA_BLOCKSIZES): Likewise.
10982 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10983 (MZAP_MAX_BLKSZ): Likewise.
10984
74a1dce7
VS
109852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10988 handle NULL appropriately.
10989 Remove MIN.
10990
30c7d3ce
VS
109912012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Fix efiemu.
10994
10995 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10996 cpu/types.h.
10997 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10998 * configure.ac: Fix efiemu check.
10999
3c76ea0c
VS
110002012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11003 grub_probe.
11004 Reported by: adamwill
11005
7e532280
SG
110062012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11007
11008 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11009
30492374
VS
110102012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 Fix handling of wide characters in gfxterm.
11013
11014 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11015 (clear_char): Likewise.
11016 (paint_char): Skip code == NULL chars.
11017 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11018
e70cb72f
VS
110192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/normal/charset.c: Move comment to right place.
11022
5c827cf9
VS
110232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11026 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11027 (grub_affs_mount): Revert the correct version checking.
11028
53603892
VS
110292012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * docs/grub.texi (Unicode): Mention several other unsupported features.
11032
ff094b9b
VS
110332011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11036 case statements as compile-time one.
11037 (direct_read): Prevent spurious warnings.
11038 (grub_squash_read_data): Likewise.
11039
c029da8a
VS
110402011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Various squash4 fixes and LZO and XZ support.
11043
11044 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11045 Add xzembed source files.
11046 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11047 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11048 (grub_squash_inode): New subtype long_dir.
11049 (SQUASH_TYPE_LONG_DIR): New inode type.
11050 (COMPRESSION): New enum.
11051 (XZBUFSIZ): New const.
11052 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11053 (read_chunk): Use data->decompress.
11054 (zlib_decompress): New function.
11055 (lzo_decompress): Likewise.
11056 (xz_decompress): Likewise.
11057 (squash_mount): Set new data fields.
11058 (grub_squash_iterate_dir): Handle long dir.
11059 (squash_unmount): Free xzdec and xzbuf.
11060 (grub_squash_open): Check ino type.
11061 (direct_read): Stylistic fixes. Use data->decompress.
11062 (grub_squash_read_data): Likewise.
11063 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11064 (get_byte): Likewise.
11065 (grub_zlib_disk_read): Removed.
11066 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11067 (GRUB_POSIX_BOOL_DEFINED): New define.
11068 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11069 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11070 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11071 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11072
7a45a539
VS
110732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 Don't override more informative errors.
11076
11077 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11078 * grub-core/font/font.c (open_section): Likewise.
11079 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11080 filename. Don't override errors.
11081 (grub_cmd_openbsd_ramdisk): Don't override errors.
11082 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11083 (grub_cmd_initrd): Likewise.
11084 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11085 (grub_cmd_initrd): Likewise.
11086 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11087 (grub_cmd_linux): Likewise.
11088 (grub_cmd_initrd): Likewise.
11089 (grub_cmd_payload): Likewise.
11090 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11091 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11092 (grub_cmd_module): Likewise.
11093 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11094 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11095 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11096 (grub_cmd_xnu_mkext): Likewise.
11097 (grub_cmd_xnu_ramdisk): Likewise.
11098 (grub_xnu_check_os_bundle_required): Likewise.
11099 (grub_xnu_load_kext_from_dir): Likewise.
11100 (grub_cmd_xnu_kextdir): Likewise.
11101 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11102
b2d004db
VS
111032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11106 as 1024 in block size field. Found on one of my test images.
11107 Small optimisation while on it.
11108
ec000eac
VS
111092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11112 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11113 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11114 performance fixes while on it.
11115 (grub_sfs_close): Fix memory leak while on it.
11116 (grub_sfs_label): Convert Latin1 to UTF-8.
11117
f50e1165
VS
111182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11121 space to avoid overflows.
11122 (grub_hfs_label): Convert from macroman to UTF-8.
11123
2ae254de
VS
111242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11127
0108f491
VS
111282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11131
f45f5f89
VS
111322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * unicode: Import Unicode 6.0 data.
11135
4d8c4765
VS
111362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11137
63fa8ef9
VS
11138 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11139 outside of range.
11140
111412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11144
11145 * include/grub/charset.h (grub_getend): New function.
11146 * grub-core/script/function.c (grub_script_function_find): Use
11147 grub_getend.
11148 * grub-core/normal/completion.c (add_completion): Likewise.
11149
f3cb4a4e
VS
111502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11153 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11154 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11155 (GRUB_UNICODE_TAG_END): Likewise.
11156 (GRUB_UNICODE_LAST_VALID): Likewise.
11157
5da8dbc5
VS
111582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11161 len and make it smaller. All users updated.
11162 * util/import_unicode.py: Put length and not end character.
11163 Check length.
11164
8569f13d
VS
111652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 Make better Unicode-compliant and unify some UTF-8 code pathes.
11168
11169 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11170 valid character.
11171 (grub_is_valid_utf8): Use grub_utf8_process.
11172 Check resulting code range.
11173 (grub_utf8_to_ucs4): Use grub_utf8_process.
11174 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11175 valid character.
11176
cc4fddf5
VS
111772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11180
bbc47747
VS
111812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * docs/grub.texi (Filesystems): Mention AFS.
11184
f63d6bf4
VS
111852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * docs/grub.texi (Filesystems): Clarify restrictions.
11188 (Regexp): Mention non-Unicode regexp behaviour.
11189 (Other): Mention non-Unicode matching behaviour.
11190
74bbf0db
VS
111912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11192
f63d6bf4 11193 Make HFS implementation use MacRoman.
74bbf0db
VS
11194
11195 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11196 (macroman): New const array.
11197 (macroman_to_utf8): New function.
11198 (utf8_to_macroman): Likewise.
11199 (grub_hfs_find_dir): Use utf8_to_macroman.
11200 (grub_hfs_dir): Use macroman_to_utf8.
11201 Set case_insensitive.
11202
4ea0316e
VS
112032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11206
d3c13cbd
VS
112072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 Integrate hints into autogeneration scripts.
11210
11211 * docs/grub.texi (Filesystems): Add a hostdisk example.
11212 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11213 (grub-probe): Add ofpath.
11214 * gentpl.py: Remove group nosparc64.
11215 * grub-core/commands/search.c (cache_entry): New struct.
11216 (cache): New var.
11217 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11218 * grub-core/commands/search_wrap.c (options): Add platform-specific
11219 hint options.
11220 (grub_cmd_search): Handle platform-specific hints.
11221 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11222 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11223 (grub_util_biosdisk_data): Likewise.
11224 (grub_util_biosdisk_open): Set device_map.
11225 (read_device_map): Handle "" as indication of no map.
11226 Set device_map.
11227 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11228 (grub_util_biosdisk_get_compatibility_hint): New function.
11229 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11230 * include/grub/emu/hostdisk.h
11231 (grub_util_biosdisk_get_compatibility_hint): New proto.
11232 * util/grub-install.in: Don't call grub-mkdevicemap.
11233 Add platform-specific hint to load.cfg.
11234 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11235 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11236 hints. Set root preliminary to compatibility hint, not to OS name.
11237 * util/grub-probe.c (PRINT_*): Add hints.
11238 (print): Make static.
11239 (escape_of_path): New function.
11240 (guess_bios_drive): Likewise.
11241 (guess_efi_drive): Likewise.
11242 (guess_baremetal_drive): Likewise.
11243 (print_full_name): Likewise.
11244 (probe): Handle hints.
11245 (main): Likewise.
11246 * util/ieee1275/devicemap.c: Removed.
11247 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11248 updated.
11249 (grub_util_devname_to_ofpath): Return NULL on failure.
11250
11251 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11252 resource leak.
11253 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11254
11255 * po/POTFILES.in: Regenerated.
11256
11257 Allow purely long options
11258
11259 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11260 (SHORT_ARG_USAGE): Likewise.
11261 (grub_arg_show_help): Compare opt with help_options.
11262 (parse_option): Receive opt as argument. If makes big simplificatons.
11263 All users updated
11264
00ce2df3
VS
112652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11268 Restructure to avoid warning.
11269
e77e325f
VS
112702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * util/grub-install.in: Account for possible escaped comma in device
11273 name.
11274
165099ea
VS
112752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11278 channel.
11279
ce4a999d
VS
112802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11283 allocation and zero-setting.
11284 (grub_ieee1275_get_devname): Check that alias is complete.
11285
379586ad
VS
112862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11289 unaligned segments.
11290
9197b0ad
VS
112912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11294 prefix.
11295 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11296 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11297 Add ieee1275 prefix.
11298
edddb7f9
VS
112992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * docs/grub.texi (Filesystems): Update.
11302
a1a8b1b9
VS
113032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 Support odc, newc and bigendian cpio formats.
11306
11307 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11308 * grub-core/Makefile.core.def (newc): New module.
11309 (odc): Likewise.
11310 (cpio_be): Likewise.
11311 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11312 (MAGIC): Likewise.
11313 (MAGIC2): Likewise.
11314 (head) [MODE_ODC]: Adapt for the format.
11315 (head) [MODE_NEWC]: Likewise.
11316 (head) [!MODE_*]: Write fields of interest as arrays.
11317 (MAGIC_USTAR): Removed.
11318 (read_number) [MODE_NEWC]: Change to hex.
11319 (read_number) [!MODE_*]: Parse binary arrays.
11320 (grub_cpio_find_file): Factor out the code for better structure and
11321 always use read_number.
11322 (grub_cpio_mount): Use MAGIC and MAGIC2.
11323 (grub_cpio_dir): Exit on first hook non-0 return.
11324 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11325 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11326 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11327 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11328 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11329 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11330 * grub-core/fs/newc.c: New file.
11331 * grub-core/fs/odc.c: Likewise.
11332 * grub-core/fs/cpio_be.c: Likewise.
11333
58eba9ee
VS
113342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 Fix handling of tar numbers occupying the whole field.
11337
11338 * grub-core/fs/cpio.c (read_number): New function.
11339 (grub_cpio_find_file): Use read_number instead of strtoull.
11340
a54a0e12
VS
113412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11344 occupying the whole field size.
11345
a6120aca
LA
113462011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11347
11348 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11349
a93964ce
VS
113502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11353
3ea1ca46
SG
113542011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11355
11356 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11357 TARGET_IMG_LDFLAGS.
11358
b87f7ef2
VS
113592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11362 (mountinfo_entry): Increase the field size to take escaping into
11363 account.
11364 (find_root_device_from_libzfs): Add one byte to size of strings for
11365 security.
11366
62092395
VS
113672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11370 an assert.
11371 * util/grub-setup.c (setup): Likewise.
11372
1f0b1a77
VS
113732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11376 _LzmaDecodeA.
11377
8eba9997
VS
113782011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * docs/grub.texi (Internationalisation): New section.
11381
dd0c91e9
VS
113822011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * docs/grub.texi (Loopback booting): New section.
11385
113862011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11387
11388 * util/grub-mkstandalone.in: Fix minor typo errors.
11389
198e150a
VS
113902011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11393
11394 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11395 net/icmp.c and net/icmp6.c.
11396 (http): New module.
11397 (priority_queue): Likewise.
11398 * grub-core/io/bufio.c: Rewritten.
11399 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11400 TYPE_WITH_CONFIGFILE_OPTION.
11401 (legacy_commands): Add bootp and dhcp.
11402 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11403 (grub_legacy_parse): Likewise.
11404 * grub-core/lib/priority_queue.c: New file.
11405 * grub-core/net/arp.c: Add missing license header.
11406 (arp_find_entry): Removed.
11407 (arp_find_entry): Likewise.
11408 (grub_net_arp_resolve): Rename to ...
11409 (grub_net_arp_send_request): ...this.
11410 (grub_net_arp_receive): New card argument.
11411 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11412 Set router and DNS server.
11413 (grub_net_configure_by_dhcp_ack): Handle routing information.
11414 (grub_cmd_bootp): Set checksum.
11415 (grub_bootp_init): Remove net_dhcp.
11416 * grub-core/net/dns.c: New file.
11417 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11418 completion.
11419 (get_card_packet): Handle allocation.
11420 (grub_efinet_findcards): Set mtu.
11421 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11422 (get_card_packet): Handle allocation.
11423 (emucard): Set mtu.
11424 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11425 (GRUB_MOD_INIT): Set mtu.
11426 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11427 mtu.
11428 (get_card_packet): Handle allocation.
11429 (grub_ofnet_findcards): Set mtu.
11430 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11431 assert.
11432 (grub_net_recv_ethernet_packet): Handle IPv6.
11433 * grub-core/net/http.c: New file.
11434 * grub-core/net/icmp.c: Likewise.
11435 * grub-core/net/icmp6.c: Likewise.
11436 * grub-core/net/ip.c (ip6addr): New type.
11437 (ip6hdr): Likewise.
11438 (reassemble): Likewise.
11439 (cmp): New function.
11440 (reassembles): New variable.
11441 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11442 (id): New variable.
11443 (send_fragmented): New function.
11444 (grub_net_send_ip_packet): Rename to ...
11445 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11446 Handle non-UDP.
11447 (grub_net_recv_ip_packets): Rename to ...
11448 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11449 (free_rsm): New function.
11450 (free_old_fragments): Likewise.
11451 (grub_net_recv_ip4_packets): New function.
11452 (grub_net_send_ip6_packet): Likewise.
11453 (grub_net_send_ip_packet): Likewise.
11454 (grub_net_recv_ip6_packets): Likewise.
11455 (grub_net_recv_ip_packets): Likewise.
11456 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11457 (LINK_LAYER_CACHE_SIZE): New const.
11458 (link_layer_find_entry): New function.
11459 (grub_net_link_layer_add_address): Likewise.
11460 (grub_net_link_layer_resolve_check): Likewise.
11461 (grub_net_link_layer_resolve): Likewise.
11462 (grub_net_ipv6_get_slaac): Likewise.
11463 (grub_net_ipv6_get_link_local): Likewise.
11464 (grub_cmd_ipv6_autoconf): Likewise.
11465 (parse_ip): Handle one number representation.
11466 (parse_ip6): New functoion.
11467 (match_net): Handle IPv6.
11468 (grub_net_resolve_address): Handle IPv6 and DNS.
11469 (grub_net_resolve_net_address): Handle IPv6.
11470 (route_cmp): New function.
11471 (grub_net_route_address): Find best route.
11472 (grub_net_addr_to_str): Handle IPv6.
11473 (grub_net_addr_cmp): New function.
11474 (grub_net_add_addr): Register local route.
11475 (print_net_address): Handle net address.
11476 (grub_net_poll_cards): Retransmit TCP.
11477 (grub_net_poll_cards_idle_real): Likewise.
11478 (have_ahead): New function.
11479 (grub_net_seek_real): Use underlying seek.
11480 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11481 * grub-core/net/tcp.c: New file.
11482 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11483 (cmp): New function.
11484 (ack): Likewise.
11485 (tftp_receive): Handle unordered input.
11486 (destroy_pq): New function.
11487 (tftp_close): Close pq.
11488 * grub-core/net/udp.c: Put missing license header.
11489 (grub_net_udp_socket): New function.
11490 (udp_socket_register): Likewise.
11491 (grub_net_udp_close): Likewise.
11492 (grub_net_recv_udp_packet): Check checksum.
11493 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11494 * include/grub/misc.h (grub_memchr): New function.
11495 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11496 (grub_net_card_driver): Return buf in recv.
11497 (grub_net_slaac_mac_list): New struct.
11498 (grub_network_level_protocol_id): Add ipv6.
11499 (grub_net_network_level_addr): Likewise.
11500 (grub_net_network_level_net_addr): Likewise.
11501 (grub_net_app_protocol): Add seek.
11502 (grub_net_socket): Removed.
11503 (grub_net_sockets): Likewise.
11504 (grub_net_socket_register): Likewise.
11505 (grub_net_socket_unregister): Likewise.
11506 (FOR_NET_SOCKETS): Likewise.
11507 (grub_net_add_addr): Add const.
11508 (GRUB_NET_BOOTP_*): New enum.
11509 (grub_net_addr_cmp): New proto.
11510 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11511 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11512 (grub_net_hwaddr_to_str): NEw proto.
11513 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11514 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11515 (grub_dns_init): New proto.
11516 (grub_dns_fini): Likewise.
11517 (grub_net_tcp_retransmit): Likewise.
11518 (grub_net_link_layer_add_address): Likewise.
11519 (grub_net_link_layer_resolve_check): Likewise.
11520 (grub_net_link_layer_resolve): Likewise.
11521 (grub_net_dns_lookup): Likewise.
11522 (grub_net_add_dns_server): Likewise.
11523 (grub_net_remove_dns_server): Likewise.
11524 (GRUB_NET_TRIES): New const.
11525 (GRUB_NET_INTERVAL): Likewise.
11526 * include/grub/net/arp.h: Mostly rewritten.
11527 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11528 * include/grub/net/ip.h: Mostly rewritten.
11529 * include/grub/net/netbuff.h: Indent.
11530 * include/grub/net/tcp.h: New file.
11531 * include/grub/net/udp.h: Mostly rewritten.
11532 * include/grub/priority_queue.h: New file.
11533 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11534 (grub_swap_bytes64_compile_time): Likewise.
11535 (grub_cpu_to_be16_compile_time): Likewise.
11536 (grub_cpu_to_be32_compile_time): Likewise.
11537 (grub_cpu_to_be64_compile_time): Likewise.
11538 (grub_be_to_cpu64_compile_time): Likewise.
11539
215c1800
VS
115402011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11543 UINT_TO_PTR with cast.
11544
c17e546c
VS
115452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11548 don't use them.
11549
ff6b18b6
VS
115502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11553 already there.
11554
70ffcc93
VS
115552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11558 confusing ipxe.
11559
e5f4d260
VS
115602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11563 Add missing const attribute.
11564 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11565 Likewise.
11566 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11567 Likewise.
11568
8e54b4b7
VS
115692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11572 misaligned access.
11573 (serpent_setkey): Likewise.
11574 (serpent_encrypt_internal): Likewise.
11575 (serpent_decrypt_internal): Likewise.
11576 (serpent_encrypt): Don't put an alignment-increasing cast.
11577 (serpent_decrypt): Likewise.
11578 (serpent_test): Likewise.
11579
813c0a2b
VS
115802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11583
f2b60fbd
VS
115842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11587
11588 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11589 grub_addr_t casts.
11590 (PTR_TO_UINT64): Likewise.
11591 (PTR_TO_UINT32): Likewise.
11592
5ef5c511
VS
115932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11596 because of stack.
11597 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11598 limit.
11599
c476e6df
VS
116002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11603 text_width > available width a bit more gracefully.
11604
384ad7cc
VS
116052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11608 current address calculation.
11609
96f8caf8
VS
116102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11613 stack.
11614 (encode_block): Likewise.
11615
276b7a8b
VS
116162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11619 certainety.
11620
e3fd394a
VS
116212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11624 non-RS part to avoid RS messing with GDT.
11625 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11626 Increase to suit in realmode routines.
11627
116282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/kern/i386/realmode.S: Increase alignment.
11631 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11632
ee9c2e7a
VS
116332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11636 be deterministic.
11637 (syndroms): Compute 0 syndrom.
11638 (rs_recover): Use 0 syndrom.
11639
7a7f7cc9
VS
116402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11643
a14b16d1
VS
116442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11647 brackets.
11648
9f59e9fc
VS
116492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11650
ca1b552c
VS
11651 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11652 account.
11653 (get_top_pad): Likewise.
11654 (get_right_pad): Likewise.
11655 (get_bottom_pad): Likewise.
11656
116572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11660
e739d698
VS
116612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11664 attribute as the structure isn't guaranteed to be properly aligned.
11665 (grub_efi_pci_device_path): Likewise.
11666 (grub_efi_pccard_device_path): Likewise.
11667 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11668 specify the size of `memory_type'.
11669 (grub_efi_vendor_device_path): Likewise.
11670 (grub_efi_controller_device_path): Likewise.
11671 (grub_efi_acpi_device_path): Likewise.
11672 (grub_efi_expanded_acpi_device_path): Likewise.
11673 (grub_efi_atapi_device_path): Likewise.
11674 (grub_efi_scsi_device_path): Likewise.
11675 (grub_efi_fibre_channel_device_path): Likewise.
11676 (grub_efi_1394_device_path): Likewise.
11677 (grub_efi_usb_device_path): Likewise.
11678 (grub_efi_usb_class_device_path): Likewise.
11679 (grub_efi_i2o_device_path): Likewise.
11680 (grub_efi_mac_address_device_path): Likewise.
11681 (grub_efi_ipv4_device_path): Likewise.
11682 (grub_efi_ipv6_device_path): Likewise.
11683 (grub_efi_infiniband_device_path): Likewise.
11684 (grub_efi_uart_device_path): Likewise.
11685 (grub_efi_vendor_messaging_device_path): Likewise.
11686 (grub_efi_hard_drive_device_path): Likewise.
11687 (grub_efi_cdrom_device_path): Likewise.
11688 (grub_efi_vendor_media_device_path): Likewise.
11689 (grub_efi_file_path_device_path): Likewise.
11690 (grub_efi_protocol_device_path): Likewise.
11691 (grub_efi_piwg_device_path): Likewise.
11692 (grub_efi_bios_device_path): Likewise.
11693
cb8f88ea
VS
116942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11697 (grub_ucs4_to_utf8_alloc): Likewise.
11698 (grub_ucs4_to_utf8): Likewise.
11699 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11700 (grub_ucs4_to_utf8_alloc): Likewise.
11701
309e5352
VS
117022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 AFFS never uses unicode.
11705
11706 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11707 (grub_latin1_to_utf8): New inline function.
11708 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11709
e7987e1b
VS
117102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11713 overflow.
11714
efc2616e
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11718 (grub_squash_dirent_header): Likewise.
11719 (read_chunk): Don't double swap.
11720 (grub_squash_iterate_dir): Fix swap sizes.
11721
3c349f5a
VS
117222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11725
b453412d
VS
117262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11729 (grub_hfs_iterate_dir): Likewise.
11730
12e9d4d1
VS
117312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 Fix video on platforms where unaligned access is forbidden.
11734 Make several optimisations while on it.
11735
11736 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11737 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11738 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11739 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11740 Disable.
11741 (grub_video_fbblit_replace_16bit_1bit):
11742 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11743 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11744 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11745 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11746 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11747 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11748 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11749 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11750 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11751 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11752 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11753 (grub_video_fbblit_replace_index_RGB888): Likewise.
11754 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11755 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11756 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11757 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11758 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11759 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11760 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11761 Disable.
11762 (grub_video_fbblit_blend_XXX565_1bit):
11763 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11764 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11765 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11766 void *.
11767 * grub-core/video/fb/video_fb.c (common_blitter)
11768 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11769 (grub_video_fb_create_render_target_from_pointer)
11770 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11771 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11772 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11773 definition.
11774 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11775
ace96609
VS
117762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11779 HH22 and HM10 relocations.
11780
fd261d73
VS
117812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11784
e59b7857
VS
117852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11788 allocation succeeded.
11789
9b4baaa4
VS
117902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11793 argument a u8 pointer. All users updated.
11794 Handle unaligned buffers.
11795
dc713193
VS
117962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11799 add_part to workaround compiler bug.
11800
30dd48c2
VS
118012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11804
0c6087a8
VS
118052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11808 Reserve alignment invariants.
11809 (grub_multiboot_load): Likewise.
11810 (retrieve_video_parameters): Likewise.
11811 (grub_multiboot_make_mbi): Likewise.
11812
c2e77777
VS
118132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11816 incorrect pointer.
11817
b70b6d11
VS
118182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11821 (grub_pata_pio_write): Likewise.
11822
02a2bf83
VS
118232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 Add noreturn attributes and remove unreachable code.
11826
11827 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11828 code.
11829 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11830 code. Mark as noreturn.
11831 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11832 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11833 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11834 unreachable code.
11835 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11836 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11837 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11838 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11839 * include/grub/kernel.h (grub_main): Mark as noreturn.
11840 * include/grub/reader.h (grub_rescue_run): Likewise.
11841
2019d09e
VS
118422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11845 redundant declaration.
11846
d1c501ee
VS
118472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11850 redundant declaration.
11851 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11852
61664420
VS
118532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11856 to ensure alignment.
11857 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11858 alignment. Ensure tmp alignment.
11859 (grub_cmd_hdparm): Ensure buf alignment.
11860 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11861 to ensure alignment.
11862 (grub_ata_dumpinfo): Ensure text alignment.
11863 (grub_atapi_identify): Preserve alignment invariant.
11864 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11865
0d51ee20
VS
118662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11869 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11870 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11871 * include/grub/misc.h (grub_reboot)
11872 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11873 (grub_halt) [__mips__]: Likewise.
11874
753ef8c1
VS
118752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11878 Remove redundant declaration.
11879 (grub_mmap_get_post64): Likewise.
11880 (grub_mmap_get_upper): Likewise.
11881 (grub_mmap_get_lower): Likewise.
11882
85c85365
VS
118832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11886 uint32_t * to ensure alignment.
11887 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11888
a23f2cc4
VS
118892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11890
93018f64
VS
11891 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11892 uint16_t * to ensure alignment.
11893 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11894 alignment.
11895
118962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11899 to ensure alignment.
11900 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11901
58acccd6
VS
119022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11905 Handle unaligned pointers.
11906 (u32at): Likewise.
11907 (u64at): Likewise.
11908 (fixup): Use byte access instead of v16at.
11909 (find_attr): Fix imporper usage of v32at.
11910 (read_data): Likewise.
11911 (list_file): Handle byte-swapping and unaligned strings.
11912 (grub_ntfs_label): Likewise.
11913
9b05cad7
VS
119142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11917 as it's not necessarily aligned.
11918
b3950b84
VS
119192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11922 redundant declaration.
11923 (grub_serial_init): Likewise.
11924 (grub_terminfo_init): Likewise.
11925
fcd232b7
VS
119262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11929 function.
11930 (ZAP_HASH_IDX): Likewise.
11931 (ZAP_LEAF_HASH_SHIFT): Likewise.
11932 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11933 (LEAF_HASH): Likewise.
11934 (ZAP_LEAF_NUMCHUNKS): Likewise.
11935 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11936 alignment invariants. Return pointer. All users updated.
11937 (ZAP_LEAF_ENTRY): Make into inline function.
11938 (NBBY): Removed.
11939 (xor): LIkewise.
11940 (xor_out): Use grub_crypto_xor.
11941 (dnode_get_path): Use grub_get_unaligned.
11942 (nvlist_find_value): Likewise.
11943 (grub_zfs_nvlist_lookup_uint64): Likewise.
11944 (grub_zfs_nvlist_lookup_string): Likewise.
11945 (get_nvlist_size): Likewise.
11946 (grub_zfs_open): Likewise.
11947 (fill_fs_info): Likewise.
11948 (grub_zfs_dir): Likewise.
11949 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11950 alignment invariants.
11951 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11952 necessarily aligned.
11953
f138623a
VS
119542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11957
564840dc
VS
119582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11961 arithmetic to conserve alignment invariants.
11962
9b40df20
VS
119632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11966 redundant declaration.
11967 (grub_efiemu_mm_obtain_request): Likewise.
11968 (grub_efiemu_prepare): Likewise.
11969
d1c930f9
VS
119702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11973 to match types.
11974
4c5f3056
VS
119752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11978 case of aunaligned recptr.
11979 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11980 alignment.
11981 (grub_hfsplus_btree_search): Handle unaligned index.
11982
728cba91
VS
119832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11986 to get freetag and skip.
11987
eb561f31
VS
119882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11991 array.
11992 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11993 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11994
20993fbb
VS
119952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11998 name for checksum and fix allocation algorithm.
11999
1f313b94
VS
120002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * include/grub/types.h (grub_properly_aligned_t): New type.
12003 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12004 (grub_get_unaligned16): Add explicit casts.
12005 (grub_get_unaligned32): Likewise.
12006 (grub_get_unaligned64): Likewise.
12007 (grub_set_unaligned16): New function.
12008 (grub_set_unaligned32): Likewise.
12009
47ae27ec
VS
120102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12013
78c2cd1c
VS
120142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12017 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12018 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12019
53072f9b
VS
120202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12023 conditionals.
12024
055dc239
VS
120252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12028 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12029
496bd074
VS
120302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 Unify and improve RAID and crypto xor.
12033
12034 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12035 changed to grub_crypto_xor
12036 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12037 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12038 Use bigger types when possible.
12039
ef6e4335
VS
120402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * grub-core/disk/raid.c (scan_devices): Fix condition.
12043
5d048bf2
VS
120442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12047 Make name a const ptr.
12048
ee533335
VS
120492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12052 first argument a const pointer.
12053 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12054 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12055 proto.
12056 (grub_children_iterate): Likewise.
12057 (grub_machine_mmap_iterate): Remove redundant declaration.
12058
cc8f3668
VS
120592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12062 (grub_cmd_acpi) [!x86]: Disable EBDA.
12063
c5fc563a
VS
120642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 Enable UTF8 in gnulib regexp.
12067
12068 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12069 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12070 (isupper): Use grub_isupper.
12071 (isascii): New inline function.
12072 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12073 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12074 * grub-core/normal/charset.c (grub_utf8_process): New function.
12075 (grub_utf8_to_utf16): Use grub_utf8_process.
12076 (grub_encode_utf8_character): New function.
12077 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12078 * include/grub/charset.h (grub_utf8_process): New declaration.
12079 (grub_encode_utf8_character): Likewise.
12080 * include/grub/misc.h (grub_islower): New inline function.
12081 (grub_isupper): Likewise.
12082 (grub_strchrsub): Moved down to fix the definitions.
12083
0af2346f
VS
120842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12087 specification.
12088
74dbd244
VS
120892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * include/grub/loader.h (grub_loader_register_preboot_hook):
12092 Use struct preboot * and not void * for handle. All users updated.
12093 (grub_loader_unregister_preboot_hook): Likewise.
12094
1bc8f60d
VS
120952011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12098 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12099 UTF-16-BE. All users updated.
12100 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12101 (grub_hfsplus_iterate_dir): Likewise.
12102 (grub_hfsplus_label): Likewise.
12103
48d6e456
VS
121042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12107
bf3a3857
VS
121082011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 Add missing const qualifiers.
12111
12112 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12113 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12114 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12115 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12116 (grub_lvm_check_flag): Likewise.
12117 * grub-core/efiemu/i386/coredetect.c
12118 (grub_efiemu_get_default_core_name): Likewise
12119 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12120 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12121 * grub-core/fs/ntfs.c (fixup): Likewise.
12122 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12123 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12124 (fzap_lookup): Likewise.
12125 (zap_lookup): Likewise.
12126 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12127 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12128 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12129 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12130 (grub_freebsd_add_meta_module): Likewise.
12131 (grub_cmd_freebsd_module): Likewise.
12132 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12133 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12134 (grub_xnu_writetree_get_size): Likewise.
12135 (grub_xnu_writetree_toheap_real): Likewise.
12136 (grub_xnu_find_key): Likewise.
12137 (grub_xnu_create_key): Likewise.
12138 (grub_xnu_create_value): Likewise.
12139 (grub_xnu_register_memory): Likewise.
12140 (grub_xnu_check_os_bundle_required): Likewise.
12141 (grub_xnu_scan_dir_for_kexts): Likewise.
12142 (grub_xnu_load_kext_from_dir): Likewise.
12143 * grub-core/normal/color.c (color_list): Likewise.
12144 * grub-core/normal/completion.c (current_word): Likewise.
12145 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12146 * grub-core/term/serial.c (grub_serial_find): Likewise.
12147 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12148 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12149 Likewise.
12150 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12151 (grub_freebsd_add_meta_module): Likewise.
12152 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12153 * include/grub/net.h (grub_net_card_driver): Likewise.
12154 (grub_net_card): Likewise.
12155 (grub_net_app_protocol): Likewise.
12156 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12157 * include/grub/serial.h (grub_serial_find): Likewise.
12158 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12159 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12160 (grub_xnu_create_value): Likewise.
12161 (grub_xnu_find_key): Likewise.
12162 (grub_xnu_scan_dir_for_kexts): Likewise.
12163 (grub_xnu_load_kext_from_dir): Likewise.
12164
12165 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12166 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12167 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12168 Moved from here ...
12169 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12170
112b4837
CW
121712011-11-28 Colin Watson <cjwatson@ubuntu.com>
12172
12173 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12174
49e891ac
VS
121752011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12178 (read_device): Fix size calculation.
12179
fd258e5c
RM
121802011-11-25 Robert Millan <rmh@gnu.org>
12181
12182 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12183 (find_root_device_from_libzfs): Add zpool output parser to be used
12184 as fallback when libzfs isn't available.
12185
78845dc2
SG
121862011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12187
12188 * po/Makefile.in.in: Add missing escape-continuation.
12189
adac5211
VS
121902011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12193
10b64f1c
VS
121942011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12197
bb416954
VS
121982011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12201
bdfe9eeb
VS
122022011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12205
581ffa8a
VS
122062011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/lib/adler32.c: Add missing license specification.
12209 * grub-core/lib/crc64.c: Likewise.
12210 * grub-core/loader/i386/pc/plan9.c: Likewise.
12211 * grub-core/partmap/plan.c: Likewise.
12212
2536cf64
LK
122132011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12214
12215 Add facility to debug GRUB with gdb under qemu.
12216
12217 * grub-core/gdb_grub.in: New file.
12218 * grub-core/gmodule.pl.in: Likewise.
12219 * grub-core/Makefile.core.def (gmodule.pl): New script.
12220 (gdb_grub): Likewise.
12221
bc108a4a
VS
122222011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * util/grub-mount.c (argp_parser): Accept relative pathes.
12225 * util/grub-fstest.c (argp_parser): Likewise.
12226
111c1778
VS
122272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 Plan9 support.
12230
12231 * Makefile.util.def (libgrubmods): Add
12232 grub-core/partmap/plan.c.
12233 * docs/grub.texi: Notice Plan9 support.
12234 * grub-core/Makefile.core.def (plan9): New module.
12235 (part_plan): Likewise.
12236 * grub-core/loader/i386/pc/plan9.c: New file.
12237 * grub-core/partmap/plan.c: Likewise.
12238 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12239 define.
12240 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12241 * include/grub/mm.h (grub_extend_alloc): New inline function.
12242
c30be3b6
VS
122432011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 Make Reed-Solomon faster by using power of generator representation of
12246 GF(256)*.
12247
12248 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12249 (gf_double_t): Likewise.
12250 (gf_invert): Removed.
12251 (gf_powx): New array.
12252 (gf_powx_inv): Likewise.
12253 (scratch): Move higher.
12254 (gf_reduce): Removed.
12255 (gf_mul): Use powx.
12256 (gf_invert): Likewise.
12257 (init_inverts): Replaced with ...
12258 (init_powx): ...this. All users updated.
12259 (pol_evaluate): Replace multiplications with additions.
12260 (rs_encode): Likewise.
12261 (gauss_eliminate): Call gf_invert.
12262 (grub_reed_solomon_add_redundancy): Call init_powx.
12263 (grub_reed_solomon_recover): Call init_powx unconditionally.
12264
fa5aeffc
VS
122652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12268
a346b81c
VS
122692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12272 disk->partiton for safety.
12273
d89ee414
VS
122742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12277 Fix a memory leak.
12278 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12279
91ee7b6d
VS
122802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12283
91e5a33d
VS
122842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12287
9edd7be2
VS
122882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 Fix spaces handling in proc/self/mountinfo.
12291
12292 * util/getroot.c (unescape): New function.
12293 (grub_find_root_device_from_mountinfo): Use unescape.
12294
ba102053
VS
122952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 Support ZFS embedding.
12298
12299 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12300 (grub_zfs_fs): Register grub_zfs_embed.
12301
aa94b870
VS
123022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 Fix MIPS compilation.
12305
12306 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12307 * include/grub/offsets.h: Rename decompressor fields from
12308 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12309 * util/grub-mkimage.c (image_targets): Use new names.
12310
5fbdac14
VS
123112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 Defer multiboot device parsing until we're in compressed part.
12314
12315 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12316 bsd_part. setdevice has fallen into disuse.
12317 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12318 (bsd_part): Likewise.
12319 (boot_dev): New variable.
12320 (multiboot_trampoline): Don't parse multiboot device.
12321 Pass multiboot device in %edx.
12322 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12323 grub_boot_device.
12324 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12325 Likewise.
12326 * grub-core/kern/i386/pc/startup.S: Save edx.
12327 (grub_boot_drive): Removed.
12328 (grub_install_dos_part): Likewise.
12329 (grub_install_bsd_part): Likewise.
12330 (grub_boot_device): New variable.
12331 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12332 (grub_install_bsd_part): Likewise.
12333 (grub_boot_drive): Likewise.
12334 (grub_boot_device): New variable.
12335 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12336 Removed.
12337 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12338 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12339 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12340 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12341 * util/grub-install.in: Remove redundant condition.
12342
691cbb58
VS
123432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 Fix bug introduced by previous commit.
12346
12347 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12348
60240b8b
VS
123492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Use decompressors framework on i386-pc. It increases core size
12352 by 46 bytes but improves compatibility and maintainability.
12353
12354 * grub-core/Makefile.core.def (lzma_decompress): New image.
12355 (kernel): Add i386_pc_ldflags.
12356 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12357 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12358 to real_to_prot, prot_to_real and device info.
12359 * include/grub/offsets.h: Renamed decompressor offsets.
12360 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12361 (image_target_desc): Remove raw_size and rename decompressor fields.
12362 (compress_kernel): Handle lzma.
12363 (generate_image): Handle decompressors on i386-pc.
12364
e9d3421c
VS
123652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * configure.ac: Add -fno-asynchronous-unwind-tables.
12368
2b23074a
VS
123692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 Move assembly code to C by using intwrap. It increases core size
12372 by 88 bytes but improves compatibility and maintainability.
12373
12374 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12375 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12376 ... here. Translated to C.
12377 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12378 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12379 ... here. Translated to C.
12380 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12381 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12382 ... here. Translated to C.
12383 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12384 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12385 ... here. Translated to C.
12386 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12387 * grub-core/term/i386/pc/console.c (grub_console_cls):
12388 ... here. Translated to C.
12389 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12390 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12391 ... here. Translated to C.
12392 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12393 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12394 Translated to C.
12395 * grub-core/term/i386/pc/console.c (int10_9): New function.
12396 (grub_console_putchar): Likewise.
12397 * include/grub/i386/pc/console.h: Removed the not anymore shared
12398 functions.
12399
678f4b67
VS
124002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 Move grub_chainloader_real_boot out of the kernel.
12403
12404 * grub-core/Makefile.am: Remove machine/loader.h.
12405 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12406 Removed.
12407 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12408 variable.
12409 (grub_relocator16_keep_a20_enabled): Likewise.
12410 (grub_relocator16_boot): Fill new variables.
12411 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12412 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12413 relocator.
12414 (grub_chainloader_unload): Likewise.
12415 (grub_chainloader_cmd): Likewise.
12416 * include/grub/i386/pc/loader.h: Removed.
12417 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12418 and esi. All initialisers updated.
12419
4626edf6
VS
124202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
124212011-11-12 Colin Watson <cjwatson@ubuntu.com>
12422
12423 * Makefile.util.def (grub-mount): New util.
12424 * .bzrignore: Add grub-mount.
12425 * configure.ac: Check for fuse and enable grub-mount if available.
12426 * docs/man/grub-mount.h2m: New file.
12427 * util/grub-mount.c: Likewise.
12428
10f0117b
VS
124292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/commands/efi/fixvideo.c: Gettextize.
12432 * grub-core/commands/hashsum.c: Likewise.
12433 * grub-core/commands/i386/cmostest.c: Likewise.
12434 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12435 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12436 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12437 * grub-core/commands/lsmmap.c: Likewise.
12438 * grub-core/commands/menuentry.c: Likewise.
12439 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12440 * grub-core/commands/setpci.c: Likewise.
12441 * grub-core/loader/i386/bsd.c: Likewise.
12442 * grub-core/loader/i386/linux.c: Likewise.
12443 * util/getroot.c: Likewise.
12444 * util/grub-editenv.c: Likewise.
12445 * util/grub-fstest.c: Likewise.
12446 * util/grub-mkfont.c: Likewise.
12447 * util/grub-mkimage.c: Likewise.
12448 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12449 * util/grub-pe2elf.c: Likewise.
12450 * util/grub-probe.c: Likewise.
12451 * util/grub-setup.c: Likewise.
12452 * util/ieee1275/ofpath.c: Likewise.
12453 * util/misc.c: Likewise.
12454 * util/raid.c: Likewise.
12455
566f779b
RM
124562011-11-11 Robert Millan <rmh@gnu.org>
12457
12458 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12459 __attribute__((unused)) from `os_dev', which *is* being used.
12460
b50787de
VS
124612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12464 forgotten define.
12465 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12466 GRUB_IA64_DL_GOT_ALIGN.
12467 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12468 GRUB_IA64_DL_TRAMP_ALIGN.
12469
119d11c8
VS
124702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 Replace grub_fatal with normal errors in i386 linux loader.
12473
12474 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12475 (allocate_pages): Check find_efi_mmap_size return value.
12476 (grub_e820_add_region): Return error.
12477 (grub_linux_boot): Check mmap return value.
12478
6e0632e2
VS
124792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 * grub-core/commands/acpihalt.c: Gettextized.
12482 * grub-core/commands/cacheinfo.c: Likewise.
12483 * grub-core/commands/cmp.c: Likewise.
12484 * grub-core/commands/efi/loadbios.c: Likewise.
12485 * grub-core/commands/gptsync.c: Likewise.
12486 * grub-core/commands/ieee1275/suspend.c: Likewise.
12487 * grub-core/commands/legacycfg.c: Likewise.
12488 * grub-core/commands/memrw.c: Likewise.
12489 * grub-core/commands/minicmd.c: Likewise.
12490 * grub-core/commands/parttool.c: Likewise.
12491 * grub-core/commands/time.c: Likewise.
12492 * grub-core/commands/videoinfo.c: Likewise.
12493 * grub-core/disk/geli.c: Likewise.
12494 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12495 * grub-core/disk/luks.c: Likewise.
12496 * grub-core/disk/lvm.c: Likewise.
12497 * grub-core/font/font_cmd.c: Likewise.
12498 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12499 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12500 * grub-core/gfxmenu/view.c: Likewise.
12501 * grub-core/kern/emu/hostdisk.c: Likewise.
12502 * grub-core/kern/emu/main.c: Likewise.
12503 * grub-core/kern/emu/misc.c: Likewise.
12504 * grub-core/kern/emu/mm.c: Likewise.
12505 * grub-core/kern/mips/arc/init.c: Likewise.
12506 * grub-core/kern/mips/loongson/init.c: Likewise.
12507 * grub-core/kern/partition.c: Likewise.
12508 * grub-core/lib/i386/halt.c: Likewise.
12509 * grub-core/lib/mips/arc/reboot.c: Likewise.
12510 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12511 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12512 * grub-core/loader/i386/xnu.c: Likewise.
12513 * grub-core/loader/multiboot.c: Likewise.
12514 * grub-core/net/bootp.c: Likewise.
12515 * grub-core/net/net.c: Likewise.
12516 * grub-core/normal/term.c: Likewise.
12517 * grub-core/partmap/bsdlabel.c: Likewise.
12518 * grub-core/parttool/msdospart.c: Likewise.
12519 * grub-core/term/gfxterm.c: Likewise.
12520 * grub-core/term/terminfo.c: Likewise.
12521 * grub-core/video/i386/pc/vbe.c: Likewise.
12522 * util/grub-menulst2cfg.c: Likewise.
12523 * util/grub-mkdevicemap.c: Likewise.
12524 * util/grub-mklayout.c: Likewise.
12525 * util/grub-mkrelpath.c: Likewise.
12526 * util/grub-script-check.c: Likewise.
12527 * util/ieee1275/grub-ofpathname.c: Likewise.
12528 * util/resolve.c: Likewise.
12529
073aa7a9
VS
125302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Support %1$d syntax.
12533
12534 * tests/printf_unit_test.c: New file.
12535 * Makefile.util.def (printf_test): New test.
12536 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12537
c76b5417
VS
125382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12541 fix.
12542
df067ad1
VS
125432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12546 dprintf.
12547 * grub-core/font/font.c (grub_font_load): Likewise.
12548
5b289bc5
VS
125492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 * util/grub-macho2img.c: Add comment concerning gettext.
12552 * grub-core/lib/legacy_parse.c: Likewise.
12553
c1860f87
VS
125542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12557 (grub_xvasprintf): Likewise.
12558
d35d0d37
VS
125592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 Add const keyword to grub_env_get and gettextize week days.
12562
12563 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12564 (grub_read_hook_datetime): Return const char *.
12565 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12566 updated.
12567 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12568 Mark for gettext.
12569 (grub_get_weekday_name): Return const char *. Call gettext.
12570 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12571 char * and len as the argument. All users updated.
12572 (grub_script_argv_split_append): Receive const char *.
12573 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12574 * include/grub/env.h (grub_env_get): Likewise.
12575 (grub_env_read_hook_t): Return const char *.
12576 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12577 (grub_script_argv_split_append): Likewise.
12578
9aed8a71
VS
125792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12582
067fdf00
VS
125832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12586 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12587
a8bd9d39
VS
125882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12591 Fix prototype.
12592
f7ce5baf
VS
125932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 Fix mips compilation.
12596
12597 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12598 normal decoder.
12599 (hashes): Use in embed decoder as well (for sizes).
12600 (dec_stream_header): Fix embed decompressor logic.
12601 (dec_stream_footer): Likewise.
12602
9bb182f3
VS
126032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12606 an error and not a fatal on unrecognised relocation types.
12607
63a9e6f6
VS
126082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12611 Issue error rather than printf on unknown arguments.
12612
4c458569
VS
126132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12616 Make buf a const.
12617
e2d22baf
VS
126182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12621 Fix module name.
12622
53dc8590
VS
126232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12626 leftover debug printf.
12627
6c189294
VS
126282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12631
f7688369
VS
126322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12635 A stylistic fix.
12636
11a775a3
VS
126372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12640
33f784e8
SL
126412011-11-10 Shea Levy <slevy@tieronedesign.com>
12642
12643 Allow all modules to perform serial IO
12644
12645 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12646 * include/grub/serial.h (grub_serial_port_configure): New inline
12647 function.
12648 (grub_serial_port_fetch): Likewise.
12649 (grub_serial_port_put): Likewise.
12650 (grub_serial_port_fini): Likewise.
12651 (grub_serial_find): New proto.
12652
f6276525
VS
126532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Put symlink at the end of the node and fix a potential
12656 memory corruption.
12657
12658 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12659 Make symlink into an array.
12660 (set_rockridge): Set have_symlink and alloc_dirents.
12661 (grub_iso9660_read_symlink): Use new layout.
12662 (grub_iso9660_iterate_dir): Fix memory corruption.
12663 Use new layout.
12664 (grub_iso9660_dir): Set have_symlink.
12665 (grub_iso9660_open): Likewise.
12666
c3591189
VS
126672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 Remove local keyword.
12670
12671 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12672 (version_test_gt): Likewise.
12673 (version_find_latest): Likewise.
12674 (gettext_printf): Likewise.
12675 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12676
cb544caa
VS
126772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12680
45bd824d
VS
126812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 Fix ZFS memory and resource leaks.
12684
12685 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12686 All users updated.
12687 Free type on exit.
12688 (fill_vdev_info): New parameter inserted. All users updated.
12689 (check_pool_label): Likewise.
12690 (scan_disk): Likewise.
12691 (scan_devices): Close non-inserted disks.
12692 (fzap_iterate): Free l.
12693 (unmount_device): Free children descripto memory.
12694
ad9a2f44
VS
126952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12698 argument (access out of bounds).
12699
6b68db81
VS
127002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12703 >= 6 drives.
12704
28840fda
VS
127052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12708 Fix declaration.
12709
8a5a3a5b
VS
127102011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 Fix several memory leaks.
12713
12714 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12715 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12716 (grub_cpio_dir): Likewise.
12717 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12718 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12719 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12720 (grub_romfs_label): Likewise.
12721 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12722 (squash_unmount): New function.
12723 (grub_squash_dir): Fix memory leak.
12724 (grub_squash_open): Likewise.
12725 (grub_squash_read): Likewise.
12726 (grub_squash_mtime): Likewise.
12727 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12728 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12729 * util/grub-fstest.c (fstest): Likewise.
12730
57b01250
VS
127312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12734 avoid accessing beyond the array.
12735
19e81ba7
VS
127362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12739
52b656c0
VS
127402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 Several AFFS fixes.
12743
12744 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12745 (GRUB_AFFS_FLAG_FFS): Removed.
12746 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12747 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12748 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12749 (grub_fshelp_node): Make block 32-bit.
12750 Add block_cache and last_block_cache.
12751 (grub_affs_read_block): Fill and use block cache.
12752 (grub_affs_read_file): Removed.
12753 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12754 boot block.
12755 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12756 safety.
12757 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12758 space.
12759 (grub_affs_close): Free block cache.
12760 (grub_affs_read): Use grub_fshelp_read_file directly.
12761
438a746a
VS
127622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12765 with no error set.
12766
49a45021
VS
127672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12770 used variable.
12771 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12772 Likewise.
12773
3ae17eb8
VS
127742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12777
12778 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12779 byteswap when needed.
12780
27610c38
VS
127812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 Fix FreeBSD compilation.
12784
12785 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12786 to avoid circular dependency.
12787 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12788 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12789 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12790
4a19b601
VS
127912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 Fix ZFS crypto error types.
12794
12795 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12796 (grub_gcm_decrypt): Likewise.
12797 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12798 from PBKDF2.
12799
958ee221
VS
128002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 Illumos support.
12803
12804 * Makefile.util.def (10_illumos): New script.
12805 * configure.ac: Set COND_HOST_ILLUMOS.
12806 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12807 Support Illumos calls.
12808 (find_partition_start) [__sun__]: Likewise.
12809 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12810 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12811 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12812 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12813 device.
12814 * util/grub-probe.c (probe) [__sun__]: Do character check.
12815 * util/grub.d/10_illumos.in: New file.
12816
cac14fb6
VS
128172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 Support escaped commas in hostdisk.
12820
12821 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12822 (find_grub_drive): Use unescape_cmp.
12823 (make_device_name): Escape commas.
12824
78e08dc3
VS
128252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12828
9f421dd1
VS
128292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12832 variable.
12833
ed64e9e2
VS
128342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 Support trampoline jumps on powerpc.
12837
12838 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12839 __ia64__ path.
12840 (grub_dl_load_segments): Set mod->sz.
12841 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12842 segments.
12843 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12844 (jump): Likewise.
12845 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12846 function.
12847 (trampoline): New struct.
12848 (trampoline_template): New const.
12849 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12850 * include/grub/dl.h (grub_dl): Add sz element.
12851 [__powerpc__]: Follow __ia64__.
12852 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12853 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12854 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12855 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12856
3084ede4
VS
128572011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 ZFS crypto support.
12860
12861 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12862 * grub-core/Makefile.core.def (zfscrypt): New module.
12863 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12864 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12865 it. All users updated.
12866 (grub_zfs_decrypt): New var.
12867 (grub_zfs_load_key): Likewise.
12868 (zio_checksum_functions): Add SHA256+MAC.
12869 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12870 (zio_read): Handle encrypted blocks.
12871 (zap_verify): Remove incorrect check.
12872 (fzap_iterate): Handle non-standard fzap.
12873 (zap_iterate): Likewise.
12874 (zap_iterate_u64): New function.
12875 (dnode_get_fullpath): Load keys.
12876 * grub-core/fs/zfs/zfscrypt.c: New file.
12877 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12878 (grub_crypto_ecb_encrypt): Make input const.
12879 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12880 (grub_crypto_ecb_encrypt): Make input const.
12881 (GRUB_CIPHER_AES): New macro.
12882 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12883 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12884 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12885 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12886 prefix. All users updated.
12887 (grub_zfs_add_key): New proto.
12888 (grub_zfs_decrypt): Likewise.
12889 (grub_zfs_load_key): Likewise.
12890 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12891 * util/grub-fstest.c (options): Add -K option.
12892 (argp_parser): Likewise.
12893
b632b404
VS
128942011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 Support zle compression on ZFS.
12897
12898 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12899 (decomp_table): Add zle.
12900 * include/grub/zfs/zio.h (zio_compress): Add zle.
12901
c7ba4f69
VS
129022011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 Support BtrFS embedding.
12905
12906 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12907 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12908 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12909 * util/grub-setup.c (setup): Use fs embedding if available.
12910 Add additional sanity check.
12911
455377d9
VS
129122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * util/grub-install.in: Fix condition for config_opt.
12915
c2fd16ca
VS
129162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 Support third redundancy strip on raidz3.
12919
12920 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12921 Return error on singularity. All users updated.
12922 (read_device): Don't stop on 3rd failure on raidz3.
12923
8622923b
VS
129242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 Support case-insensitive ZFS subvolumes.
12927
12928 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12929 All users updated.
12930 (zap_hash): Likewise.
12931 (name_cmp): New function.
12932 (zap_leaf_array_equal): New parameter case_insensitive.
12933 All users updated.
12934 (zap_leaf_lookup): Likewise.
12935 (fzap_lookup): Likewise.
12936 (zap_lookup): Likewise.
12937 (dnode_get_path): New parameter case_insensitive. Retrieve case
12938 sensitiviness of a volume. All users updated.
12939 (dnode_get_fullpath): New parameter case_insensitive.
12940 All users updated.
12941 (grub_zfs_dir): Set info.case_insensitiveness.
12942
95f2e860
VS
129432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 Support second redundancy strip on raidz(2,3).
12946
12947 * grub-core/fs/zfs/zfs.c (powx): New array.
12948 (powx_inv): Likewise.
12949 (poly): New const.
12950 (xor_out): New function.
12951 (gf_mul): Likewise.
12952 (recovery): Likewise.
12953 (read_device): Use second redundancy strip.
12954
11ee4389
VS
129552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 Use a power of generator representation of GF(256) multiplication group
12958 to save space time and complexity.
12959
12960 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12961 (raid6_table2): Likewise.
12962 (powx): New array.
12963 (powx_inv): Likewise.
12964 (poly): New const.
12965 (grub_raid_block_mul): Replace with ...
12966 (grub_raid_block_mulx): ...this.
12967 (grub_raid6_init_table): Rewritten.
12968 (grub_raid6_recover): Use power of generator representation.
12969
09e2763f
VS
129702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12973 for the right device.
12974
8bec9a28
VS
129752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12978 expected by grub-mkimage and it's more clear since there is no implicit
12979 padding.
12980
dbd3a32e
VS
129812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12984 disk.
12985 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12986
182c872a
PMH
129872011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12988
12989 * util/grub-mkrescue.in: Fix handling xorriso option.
12990
1e51cabd
VS
129912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12994 NULL.
12995
9cc3581d 129962011-11-03 crocket <crockabiscuit@gmail.com>
12997
12998 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12999
158dc1ea
VS
130002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 XZ CRC64 and SHA256 support.
13003
13004 * Makefile.util.def (libgrubmods): Add crc64.c.
13005 * grub-core/Makefile.core.def (crc64): New module.
13006 * grub-core/lib/crc64.c: New file.
13007 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13008 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13009 Fix the type.
13010 (MAX_HASH_SIZE): New define.
13011 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13012 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13013 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13014 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13015 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13016 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13017 Handle non-crc32 hashes.
13018 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13019 (dec_stream_header): Handle non-crc32 hashes.
13020 (dec_stream_footer): Likewise.
13021 (dec_block_header): Likewise.
13022 (dec_main): Likewise.
13023 (xz_dec_init): Likewise.
13024 (xz_dec_reset): Likewise.
13025 (xz_dec_end): Likewise.
13026 * util/import_gcry.py: Add CRC64 line.
13027
9d9b3d2f
VS
130282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13031 as well.
13032
7d0ac931
VS
130332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Make reiserfs label retrieval similar to other *_label functions.
13036
13037 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13038 (REISERFS_MAX_LABEL_LENGTH): Removed.
13039 (REISERFS_LABEL_OFFSET): Likewise.
13040 (grub_reiserfs_label): Rewritten.
13041
130422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13045 field.
13046
cf5ba824
VS
130472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13050
17744004
VS
130512011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13054 drive failure on both raidz and raidz2.
13055
aca5aefc
VS
130562011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 Fix RAIDZ(2) for >= 5 devices.
13059
13060 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13061 asize argument. All users updated.
13062
ce8ca56e
VS
130632011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 Fix RAIDZ(2).
13066
13067 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13068 (fill_vdev_info_real): Set ashift.
13069 (read_device): Rewrite RAIDZ part based on reverse engineering.
13070
7c01e783
VS
130712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13074 don't report potentially unavialiable fields in debug output.
13075 (find_path): Fix double-free and memory leak.
13076
ce109e84
VS
130772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 Read label on UFS1.
13080
13081 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13082 (grub_ufs_fs): Always set .label.
13083
87661123
VS
130842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 Use shifts in UFS.
13087
13088 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13089 (grub_ufs_data): New field log2_blksz.
13090 (grub_ufs_read_file): Use shifts.
13091 (grub_ufs_mount): Check block size and logarithm it.
13092
46bc1dc2
VS
130932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13096 long symlinks.
13097
19ee2987
VS
130982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 Handle symlinks and long names on tar and cpio.
13101
13102 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13103 (ATTR_FILE): Likewise.
13104 (ATTR_DIR): Likewise.
13105 (ATTR_LNK): Likewise.
13106 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13107 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13108 L and K entries.
13109 (grub_cpio_mount): Zero-fill data.
13110 (handle_symlink): New function.
46bc1dc2
VS
13111 (grub_cpio_dir): Handle symlinks.
13112 (grub_cpio_open): Likewise.
13113 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13114
c83a08d8
VS
131152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 Fix iso9660 filename limitations and fix memory leaks.
13118
13119 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13120 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13121
45cdd3ea
VS
131222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 Fix JFS file name length limitations.
13125
13126 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13127 (grub_jfs_diropen): Fix maximum filename length.
13128 (grub_jfs_getent): Fix filename length.
13129 (grub_jfs_lookup_symlink): Fix size checks.
13130
94ef05c2
VS
131312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13134 string.
13135
785ab8c7
VS
131362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13137
eb0b6b45
VS
13138 Leverage BFS implementation to read AFS.
13139
13140 * Makefile.util.def (libgrubmods): Add afs.c.
13141 * grub-core/Makefile.core.def (afs): New module
13142 * grub-core/fs/afs.c: New file.
13143 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13144
131452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13148
c4a1628f
VS
131492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * grub-core/fs/bfs.c: Run indent.
13152
5825b379
VS
131532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 BFS implementation based on the specification.
13156
13157 * grub-core/fs/bfs.c: New file.
13158 * Makefile.util.def (libgrubmods): Add bfs.c.
13159 * grub-core/Makefile.core.def (bfs): New module.
13160
42b2a706
VS
131612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * util/grub-fstest.c (cmd_cp): Clarify error message.
13164 (cmd_cmp): Likewise.
13165
61b99bfc
YB
131662011-10-30 Yves Blusseau <blusseau@zetam.org>
13167
13168 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13169 and befs_be.
13170
faba3d16
VS
131712011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 Remove afs and befs because of copyright problem.
13174
13175 * grub-core/fs/afs.c: Removed.
13176 * grub-core/fs/afs_be.c: Removed.
13177 * grub-core/fs/befs.c: Removed.
13178 * grub-core/fs/befs_be.c: Removed.
13179 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13180 * grub-core/Makefile.core.def (afs): Removed.
13181 (afs_be): Likewise.
13182 (befs): Likewise.
13183 (befs_be): Likewise.
13184
c39224b0
VS
131852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Prefer rockridge over Joliet.
13188
13189 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13190 to ...
13191 (set_rockridge): ... here.
13192 (grub_iso9660_mount): Check rockridge on the primary label when
13193 discovering. Ignore Joliet if Rockridge is present.
13194
e551115a
VS
131952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 Use shifts in nilfs2.
13198
13199 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13200 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13201 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13202 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13203 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13204 (grub_nilfs2_entries_per_block): Replaced with ...
13205 (grub_nilfs2_log_entries_per_block_log): ... this.
13206 (grub_nilfs2_blocks_per_group): Replaced with ...
13207 (grub_nilfs2_blocks_per_group_log): ... this.
13208 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13209 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13210 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13211 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13212 (grub_nilfs2_palloc_entry_offset): Replaced ...
13213 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13214 (grub_nilfs2_dat_translate): Use shifts.
13215 (grub_nilfs2_read_inode): Likewise.
13216 (GRUB_MOD_INIT): Ensure that logs are correct.
13217
564dd58c
VS
132182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 Use shifts in minix filesystem.
13221
13222 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13223 (GRUB_MINIX_ZONE2SECT): Likewise.
13224 (grub_minix_data): Replace block_size with log_block_size.
13225 (grub_minix_read_file): Use shifts.
13226 (grub_minix_mount): Check block size and take a logarithm.
13227
ed9ba06d
VS
132282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 Use shifts in squash4.
13231
13232 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13233 (squash_mount): Check block size and take logarithm.
13234 (direct_read): Use shifts.
13235
ad03fe76
VS
132362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 Correct befs block counting logic.
13239
13240 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13241 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13242 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13243 (grub_afs_read_inode): Use block_shift.
13244 (RANGE_SHIFT): New definition.
13245 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13246 unexpected conditions, use shifts and appropriate types.
13247 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13248
6563f63d
VS
132492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/disk/raid.c (scan_devices): Check partition.
13252 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13253
5b1ae25f
VS
132542011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 Support BFS (befs) UUID.
13257
13258 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13259 (grub_afs_small_data_element_header): New struct.
13260 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13261 (grub_afs_read_attribute) [MODE_BFS]: New function.
13262 (grub_afs_iterate_dir): Allocate for complete inode.
13263 (grub_afs_mount): Likewise.
13264 (grub_afs_uuid) [MODE_BFS]: New function.
13265 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13266
f8d82408
VS
132672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13270 (zfs_unmount): Fix memory leak.
13271
5773fb64
VS
132722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 Support NTFS reparse points.
13275
13276 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13277 (symlink_descriptor): New struct.
13278 (grub_ntfs_read_symlink): New function.
13279 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13280 (grub_ntfs_open): Likewise.
13281
91c3fdde
VS
132822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13285
3be82e10
VS
132862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 fstest xnu_uuid subcommand.
13289
13290 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13291 grub-core/commands/xnu_uuid.c.
13292 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13293 (fstest): Handle xnu_uuid.
13294 (options): Document xnu_uuid.
13295 (argp_parser): Parse xnu_uuid.
13296
8e32442e
VS
132972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13300 -l argument. Add newline at the end if printing.
13301 (GRUB_MOD_INIT): Document -l.
13302
52a05075
VS
133032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13306
1869edb5
VS
133072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 ZFS multi-device and version 33 support.
13310
13311 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13312 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13313 (grub_zfs_data): Add multidev-ice-related fields.
13314 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13315 (dva_get_offset): Make dva const.
13316 (zfs_fetch_nvlist): New function.
13317 (fill_vdev_info_real): Likewise.
13318 (fill_vdev_info): Likewise.
13319 (check_pool_label): Likewise.
13320 (scan_disk): Likewise.
13321 (scan_devices): Likewise.
13322 (read_device): Likewise.
13323 (read_dva): Likewise.
13324 (zio_read_gang): Use read_dva.
13325 (zio_read_data): Likewise.
13326 (zap_leaf_lookup): Add missing endian conversion.
13327 (zap_verify): Add missing endian conversion. All users updated.
13328 (fzap_lookup): Likewise.
13329 (fzap_iterate): Likewise.
13330 (dnode_get_path): Handle SA bonus.
13331 (nvlist_find_value): Make input const. All users updated.
13332 (unmount_device): New function.
13333 (zfs_unmount): Use unmount_device.
13334 (zfs_mount): Use scan_disk.
13335 (zfs_mtime): New function.
13336 (grub_zfs_open): Handle system attributes.
13337 (fill_fs_info): Likewise.
13338 (grub_zfs_dir): Likewise.
13339 (grub_zfs_fs): Add mtime.
13340 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13341 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13342 (SA_MTIME_OFFSET): Likewise.
13343 (SA_SYMLINK_OFFSET): Likewise.
13344 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13345 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13346 (fstest): Support zfsinfo.
13347 (argp_parser): Likewise.
13348
186b4028
VS
133492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13352 error.
13353
133542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13355
13356 ZFS fixes.
13357
13358 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13359 sharing the same block. Iterate over correct number of indices.
13360 (dnode_get_path): Handle symlinks correctly.
13361
c0584900
VS
133622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13365
67e2bd71
VS
133662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 Read label on HFS+.
13369
13370 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13371 (grub_hfsplus_btree_search): Fix types.
13372 (grub_hfsplus_label): Implement.
13373
e9cc6b7b
VS
133742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13377
19832ddb
VS
133782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13381
66b40850
VS
133822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 Fix symlink handling on iso9660.
13385
13386 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13387 All users updated.
13388 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13389 (grub_iso9660_read_symlink): Moved most of code ...
13390 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13391
db821363
VS
133922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13395 Use union to avoid breaking strict-aliasing rules.
13396
e1211949
VS
133972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 Support multi-extent iso files.
13400
13401 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13402 Add node.
13403 (grub_fshelp_node): Revamp. All users updated.
13404 (FLAG_*): New enum.
13405 (read_node): New function.
13406 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13407 All users updated.
13408 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13409 (get_node_size): New function.
13410 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13411 entries.
13412 Fix memory leak on . and ..
13413 (grub_iso9660_read): Use read_node.
13414 (grub_iso9660_close): Free node.
13415
d4888031
VS
134162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Fix tar 4G limit and handle paths containing dot.
13419
13420 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13421 (canonicalize): New function.
13422 (grub_cpio_find_file): Use canonicalize. Store offs in
13423 grub_disk_addr_t.
13424 (grub_cpio_dir): Use grub_disk_addr_t.
13425 (grub_cpio_open): Likewise.
13426
9f12e664
VS
134272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13430
13431 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13432 unused flags.
13433 (grub_squash_inode): Add long_file and block_size.
13434 (grub_squash_cache_inode): New struct.
13435 (grub_squash_dirent): Make types into enum.
13436 (SQUASH_TYPE_LONG_REGULAR): New type.
13437 (grub_squash_frag_desc): Add field size.
13438 (SQUASH_BLOCK_FLAGS): New enum.
13439 (grub_squash_data): Use grub_squash_cache_inode.
13440 (grub_fshelp_node): Make ino_chunk 64-bit.
13441 (read_chunk): Minor argument change. All users updated.
13442 (squash_mount): Use correct le_to_cpu.
13443 (grub_squash_open): Handle LONG_REGULAR.
13444 (direct_read): New function.
13445 (grub_squash_read_data): Handle blocks correctly.
13446
9f326fba
VS
134472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13450
f4d9b64b
VS
134512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13454
5bbd28b8
VS
134552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Fix 2G limit on ZFS.
13458
13459 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13460 types.
13461 (uberblock_verify): Likewise.
13462 (dmu_read): Likewise.
13463 (grub_zfs_read): Likewise. Remove invalid cast.
13464
68c72069
VS
134652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13468 (grub_jfs_blkno): Fix incorrect shift.
13469 (grub_jfs_read_file): Use more appropriate types.
13470
6e536dc8
VS
134712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 Support triple indirect on minix2 and minix3.
13474
13475 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13476 Declare triple_indir_zone.
13477 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13478 indirect.
13479
e0864e7a
VS
134802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Minix FS fixes.
13483
13484 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13485 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13486 Rename ctime to mtime. All users updated.
13487 (grub_minix_get_file_block): Fix types and double indirect computations.
13488
89481cab
VS
134892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13492 if no label is found.
13493 (grub_fat_iterate_dir): Fix file size type.
13494 (grub_fat_iterate_dir): Likewise.
13495
f646e143
VS
134962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13499 save some space.
13500 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13501 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13502
534d769e
VS
135032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13506
e084ba18
VS
135072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * util/import_gcry.py: Accept space between # and include.
13510
3471ecdf
VS
135112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13514
124df5f6
VS
135152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13518
13519 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13520 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13521 yylex_strncpy.
13522 * grub-core/script/yylex.l: Add fine-grained #pragma.
13523
4defb8d5
VS
135242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13527 New inline function.
13528 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13529 Likewise.
13530 (memset) [GRUB_UTIL]: Likewise.
13531 (memcmp) [GRUB_UTIL]: Likewise.
13532
4e94ae65
VS
135332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13536 inline function rather than a define.
13537
18c575e5
VS
135382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * util/grub-setup.c: Add missing include.
13541
f8bc22a8
VS
135422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * util/ieee1275/grub-ofpathname.c: Add missing include.
13545
3ce69fc9
VS
135462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13549 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13550 Likewise.
13551
d1e293bb
VS
135522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13555 grub_memcmp usage.
13556
7a5c54a4
VS
135572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * util/grub-install.in: Add datarootdir as per automake manual
13560 suggestion.
13561 * util/grub-mknetdir.in: Likewise.
13562
135632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13564
13565 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13566 suggestion.
13567 * util/grub.d/10_kfreebsd.in: Likewise.
13568 * util/grub.d/10_linux.in: Likewise.
13569 * util/grub.d/10_netbsd.in: Likewise.
13570 * util/grub.d/10_windows.in: Likewise.
13571 * util/grub.d/20_linux_xen.in: Likewise.
13572
766f7d08
VS
135732011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 Remove redundant grub_kernel_image_size.
13576
13577 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13578 _edata and _start.
13579 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13580 the small code. It moves it only by few bytes but simplifies the code.
13581 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13582 _start.
13583 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13584 (grub_kernel_image_size): Removed.
13585 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13586 (grub_kernel_image_size): Removed.
13587 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13588 compiled with Apple toolchain.
13589 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13590 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13591 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13592 (grub_total_module_size): Likewise.
13593 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13594 Removed.
13595 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13596 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13597 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13598 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13599 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13600 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13601 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13602 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13603 Removed.
13604 (grub_total_module_size): Removed.
13605 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13606 (image_targets): Likewise.
13607 Set .compressed_size to no field on sparc.
13608 (generate_image): Remove kernel_image_size handling.
13609
fcf1d672
SJ
136102011-10-19 Szymon Janc <szymon@janc.net.pl>
13611
13612 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13613 NULL pointer dereference.
13614
de9c615e
VS
136152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13618 done with a dedicated section.
13619
13620 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13621 Ensure the correct position of boot_path.
13622 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13623 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13624 other fields.
13625 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13626 * include/grub/boot.h: Removed. All references removed.
13627 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13628 Removed.
13629 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13630
e55599dc
VS
136312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13634 name.
13635
36dd20ad
VS
136362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13639
f8f72eb8
VS
136402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13643 Don't add the bogus brackets.
13644
a374751b
VS
136452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 ExFAT support.
13648
13649 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13650 * grub-core/Makefile.core.def (exfat): New module.
13651 * grub-core/fs/exfat.c: New file.
13652 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13653 (GRUB_FAT_ATTR_*): Make into an enum.
13654 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13655 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13656 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13657 (GRUB_FAT_MAXFILE): Removed.
13658 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13659 (grub_current_fat_bpb_t): New type.
13660 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13661 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13662 (grub_fat_dir_node_t): New type.
13663 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13664 (fat_log2) [MODE_EXFAT]: Removed.
13665 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13666 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13667 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13668 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13669 (grub_fat_label) [MODE_EXFAT]: New function.
13670 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13671 reserved_first_sector to 0.
13672
544c2487
VS
136732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 Move grub_reboot out of the kernel.
13676
13677 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13678 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13679 * grub-core/lib/efi/reboot.c: ... here.
13680 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13681 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13682 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13683 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13684 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13685 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13686 * grub-core/lib/ieee1275/reboot.c: ... here.
13687 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13688 * grub-core/lib/mips/arc/reboot.c: ... here.
13689 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13690 * grub-core/lib/mips/loongson/reboot.c: ...here.
13691 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13692 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13693 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13694 * include/grub/i386/reboot.h: New file.
13695 * include/grub/mips/loongson/ec.h: Fix includes.
13696 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13697 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13698 * grub-core/lib/i386/reboot.c: New file.
13699
a97501d2
VS
137002011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 Make grub_prefix into module to fix the arbitrary limit and save
13703 some space.
13704
13705 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13706 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13707 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13708 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13709 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13710 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13711 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13712 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13713 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13714 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13715 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13716 * include/grub/ia64/efi/kernel.h: Removed.
13717 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13718 (grub_prefix): Removed.
13719 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13720 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13721 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13722 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13723 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13724 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13725 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13726 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13727 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13728 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13729 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13730 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13731 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13732 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13733 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13734 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13735 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13736 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13737 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13738 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13739 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13740 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13741 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13742 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13743 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13744 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13745 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13746 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13747 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13748 from module.
13749 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13750 prefix_end.
13751 (image_targets): Likewise.
13752 (generate_image): Put prefix as a module.
13753
39705fad
VS
137542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 Replace grub_module_iterate with FOR_MODULES.
13757
13758 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13759 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13760 (grub_efi_modules_addr): ...this.
13761 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13762 (grub_efi_init): Set grub_modbase.
13763 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13764 (grub_modbase): New variable.
13765 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13766 (grub_modbase): New variable.
13767 (grub_machine_init): Set grub_modbase.
13768 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13769 (grub_modbase): New variable.
13770 (grub_machine_init): Set grub_modbase.
13771 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13772 (grub_modbase): New variable.
13773 (grub_machine_init): Set grub_modbase.
13774 * grub-core/kern/main.c (grub_module_iterate): Remove.
13775 (grub_modules_get_end): Use grub_modbase.
13776 (grub_load_modules): Use FOR_MODULES.
13777 (grub_load_config): Likewise.
13778 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13779 (grub_modbase): New variable.
13780 (grub_machine_init): Set grub_modbase.
13781 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13782 (grub_modbase): New variable.
13783 (grub_machine_init): Set grub_modbase.
13784 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13785 Removed.
13786 (grub_modbase): New variable.
13787 (grub_machine_init): Set grub_modbase.
13788 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13789 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13790 (grub_module_iterate): Likewise.
13791 (grub_modbase): New variable declaration.
13792 (FOR_MODULES): New macro.
13793
2afb7f6c
VS
137942011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13797 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13798
366e34fa
VS
137992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 Fix few obvious type discrepancies.
13802
13803 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13804 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13805 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13806 variable.
13807 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13808 and connected types.
13809 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13810 offset.
13811 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13812 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13813 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13814 and connected types.
13815
177b960e
VS
138162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Fix python 3.x incompatibilities.
13819
13820 * gentpl.py: Put brackets around print strings.
13821 * util/import_gcry.py: Open explicitly as utf-8.
13822 Use in instead of has_key.
13823
3b619ae1
VS
138242011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13827 (GRUB_XFS_INO_AGBITS): Make into inline function.
13828 (GRUB_XFS_INO_INOINAG): Likewise.
13829 (GRUB_XFS_INO_AG): Likewise.
13830 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13831 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13832 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13833 (GRUB_XFS_EXTENT_SIZE): Likewise.
13834 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13835 (GRUB_XFS_NEXT_DIRENT): Likewise.
13836 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13837 (grub_xfs_read_file): Fix offset type.
13838
8bcebcb8
RM
138392011-10-15 Robert Millan <rmh@gnu.org>
13840
13841 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13842
0017e5ef
RM
138432011-10-15 Robert Millan <rmh@gnu.org>
13844
13845 Fix build problem on FreeBSD and GNU/kFreeBSD.
13846
13847 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13848
d8919552
VS
138492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13852
13853 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13854 types.
13855 (grub_hfsplus_btree_recoffset): Likewise.
13856 (grub_hfsplus_btree_recptr): Likewise.
13857 (grub_hfsplus_find_block): Likewise.
13858 (grub_hfsplus_btree_search): Likewise.
13859 (grub_hfsplus_read_block): Likewise.
13860 (grub_hfsplus_read_file): Likewise.
13861 (grub_hfsplus_mount): Likewise.
13862 (grub_hfsplus_btree_iterate_node): Likewise.
13863 (grub_hfsplus_btree_search): Likewise.
13864 (grub_hfsplus_iterate_dir): Likewise.
13865 (grub_hfsplus_read): A small code simplification.
13866
c81296b6
VS
138672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 * grub-core/kern/emu/hostdisk.c
13870 (convert_system_partition_to_system_disk): Don't assume that children
13871 of mapper nodes are mapper nodes.
13872
0eb8ffb1
VS
138732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13876 * include/grub/misc.h (grub_isxdigit): New function.
13877 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13878 switched to grub_isxdigit.
13879 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13880 number starting with a letter.
13881
a98f4a08
RM
138822011-10-09 Robert Millan <rmh@gnu.org>
13883
13884 LVM support for FreeBSD and GNU/kFreeBSD.
13885
13886 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13887 GNU/kFreeBSD.
13888 (LVM_DEV_MAPPER_STRING): Move from here ...
13889 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13890 * util/getroot.c: Include `<grub/util/lvm.h>'.
13891 (grub_util_get_dev_abstraction): Enable
13892 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13893 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13894 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13895 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13896 support it.
13897 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13898 GNU/kFreeBSD.
13899 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13900 when LVM abstraction is required for ${GRUB_DEVICE}.
13901
050e8e90
SJ
139022011-10-06 Szymon Janc <szymon@janc.net.pl>
13903
13904 Add support for LZO compression in GRUB:
13905 - import of minilzo library,
13906 - LZO decompression for btrfs,
13907 - lzop files decompression.
13908
13909 * grub-core/io/lzopio.c: New file.
13910 * grub-core/lib/adler32.c: Likewise.
13911 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13912 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13913 * grub-core/lib/minilzo/minilzo.c: Likewise.
13914 * grub-core/lib/minilzo/minilzo.h: Likewise.
13915 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13916 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13917 grub-core/lib/minilzo/minilzo.c to common.
13918 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13919 cflags in cppflags.
13920 * grub-core/Makefile.core.def (btrfs): Likewise.
13921 * grub-core/Makefile.core.def (lzopio): New module.
13922 (adler32): Likewise.
13923 * grub-core/fs/btrfs.c: Include minilzo.h.
13924 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13925 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13926 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13927 (grub_btrfs_lzo_decompress): New function.
13928 (grub_btrfs_extent_read): Add support for LZO compression type.
13929 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13930 (GRUB_USHRT_MAX): Likewise.
13931 (GRUB_UINT_MAX): Likewise.
13932 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13933 (UINT_MAX): Likewise.
13934 (CHAR_BIT): Likewise.
13935 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13936 grub-core/lib/posix_wrap/limits.h
13937 (UCHAR_MAX): Likewise.
13938 * include/grub/file.h (grub_file_filter_id): New compression filter
13939 GRUB_FILE_FILTER_LZOPIO.
13940 * include/grub/file.h (grub_file_filter_id): Set
13941 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13942 * include/grub/types.h (grub_get_unaligned16): New function.
13943 (grub_get_unaligned32): Likewise.
13944 (grub_get_unaligned64): Likewise.
13945 * util/import_gcry.py (cryptolist): Add adler32.
13946
0eb8ffb1
VS
139472011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13950 in perspective decreases the complexity of build system and fixes
13951 compilation right now.
13952
ce79cc99 139532011-10-01 Ales Nesrsta <starous@volny.cz>
13954
13955 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13956 (fixed problem related to using UHCI with coreboot).
13957
8667a314
BC
139582011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13959
13960 * gentpl.py: Use Autogen macros so that the output template file
13961 (Makefile.tpl) size is reduced.
13962
fc5efcc0
MK
139632011-09-29 Mads Kiilerich <mads@kiilerich.com>
13964
13965 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13966 extra_dist.
13967
d1ab689d
ML
139682011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13969
13970 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13971 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13972
c05de032
ML
139732011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13974
13975 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13976 _fullpath.
13977
cca7ccd8
ML
139782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13979
13980 Remove extra declaration of sleep for mingw32.
13981
13982 * util/misc.c (sleep) [__MINGW32__]: Removed.
13983 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13984
e0b0dc83
GS
139852011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13986
13987 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13988 type and packname.
13989 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13990 Resurrected.
13991 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13992 (grub_netbsd_btinfo_bootwedge): New struct.
13993 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13994 New function.
13995 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13996
91a1a164
TH
139972011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13998
13999 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14000 loader.
14001
2ded951e
AB
140022011-09-28 Andreas Born <futur.andy@googlemail.com>
14003
14004 Fix incorrect identifiers in bash-completion.
14005
14006 * util/bash-completion.d/grub-completion.bash.in
14007 (_grub_mkpasswd-pbkdf2): Rename to ...
14008 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14009 (_grub_script-check): Rename to ...
14010 (_grub_script_check): ... this. All users updated.
14011
69915030
VS
140122011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14015 Return 0 if disk isn't biosdisk.
14016
20fd15f9
GS
140172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14018
14019 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14020 on NetBSD.
14021 * Makefile.util.def (grub-fstest): Likewise.
14022
1a7d7db9
GS
140232011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14024
14025 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14026 Get sector size from disk label.
14027
2221ab6c
CW
140282011-09-05 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14031 */README* as well as README*.
14032 Reported by: Axel Beckert.
14033
ca51c4a0
VS
140342011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14037 case of less than 256 MiB of RAM.
14038
ab80f326
VS
140392011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/commands/wildcard.c (make_regex): Handle @.
14042
4155e697
VS
140432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14046
ab178c08
SJ
140472011-08-21 Szymon Janc <szymon@janc.net.pl>
14048
14049 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14050 AC_LANG_CONFTEST macros.
14051
7dc3c686
SJ
140522011-08-20 Szymon Janc <szymon@janc.net.pl>
14053
14054 Add grub-fstest option to uncompress data for commands.
14055
14056 * util/grub-fstest.c (uncompress): New var.
14057 (options): New option -u.
14058
fe8d4a7b
SJ
140592011-08-20 Szymon Janc <szymon@janc.net.pl>
14060
14061 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14062 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14063
a5219af1
SJ
140642011-08-20 Szymon Janc <szymon@janc.net.pl>
14065
14066 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14067 file type was not recognized correctly (not gzip or corrupted).
14068
f87abff5
VS
140692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14072 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14073
d94497ea
VS
140742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14077 loongson.
14078 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14079 video_radeon_fuloong2e.
14080 * grub-core/video/radeon_fuloong2e.c: New file.
14081 * include/grub/video.h (grub_video_id_t): Add new ID
14082 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14083
0d1fd011
VS
140842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14087 define.
14088 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14089 that PRID matches the detected subplatform and reset the subplatform
14090 if it doesn't.
14091
84beb0ee
VS
140922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14095
1227c133
VS
140962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 Fix PCI iterating on functions >= 4.
14099
14100 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14101 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14102 Removed.
14103 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14104 (grub_pci_read): Fix bitmask.
14105 (grub_pci_read_word): Likewise.
14106 (grub_pci_read_byte): Likewise.
14107 (grub_pci_write): Likewise.
14108 (grub_pci_write_word): Likewise.
14109 (grub_pci_write_byte): Likewise.
14110
9594c689
VS
141112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14114 can still be specified in TARGET_CFLAGS)
14115
14a2562c
VS
141162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14119
14120 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14121 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14122 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14123 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14124 (FULOONG): Rename to ...
14125 (FULOONG2F): ... this. All users updated.
14126 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14127 (machtype_fuloong2f_str): ... this.
14128 (machtype_fuloong2e_str): New string.
14129 Check for machtype_fuloong2e_str.
14130 * grub-core/loader/mips/linux.c (loongson_machtypes)
14131 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14132 * grub-core/term/serial.c (loongson_defserial)
14133 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14134 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14135 loongson_defserial.
14136 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14137 Rename to ...
14138 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14139 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14140 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14141 to IMAGE_FULOONG2F_FLASH. All users updated.
14142 (image_targets): Rename images.
14143 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14144
b526cbb6
SJ
141452011-08-19 Szymon Janc <szymon@janc.net.pl>
14146
14147 Make enable of disk cache statistics code configurable.
14148
14149 * configure.ac: --enable-cache-stats added.
14150 * config.h.in (DISK_CACHE_STATS): New define.
14151 * grub-core/Makefile.core.def (cacheinfo): New command.
14152 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14153 * grub-core/commands/cacheinfo.c: New file.
14154 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14155 moved to cacheinfo.c.
14156 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14157 debug code.
14158 * include/grub/disk.h: Likewise.
14159
fb739ccd
SJ
141602011-08-19 Szymon Janc <szymon@janc.net.pl>
14161
14162 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14163 * grub-core/Makefile.am: Likewise.
14164
2bba8cfd
VS
141652011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14168 non-zero pull.
14169
43526629
VS
141702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14173 All users updated.
14174 (grub_jfs_lookup_symlink): Use correct starting inode.
14175
5c144cc8
VS
141762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * util/grub-setup.c (main): Add missing gcry initialisation.
14179
b1257f65
VS
141802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 Don't accept text modes on EFI when booting Linux.
14183
14184 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14185 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14186
828bc390
ML
141872011-08-15 Mario Limonciello <mario_limonciello@dell.com>
141882011-08-15 Colin Watson <cjwatson@ubuntu.com>
14189
14190 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14191 use of "/path/.." as in grub-install for EFI as well as handling
14192 symlinks correctly.
14193 Fixes Debian bug #637768.
14194
5f60ccac
CW
141952011-08-15 Colin Watson <cjwatson@ubuntu.com>
14196
14197 * util/grub-probe.c: Remove duplicate #include.
14198
6dc212f9
RM
141992011-08-10 Robert Millan <rmh@gnu.org>
14200
14201 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14202
14203 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14204 function.
14205 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14206 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14207
66816d85
RM
142082011-08-03 Robert Millan <rmh@gnu.org>
14209
14210 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14211 la_array as packed.
14212 Reported by: Zachary Bedell
14213
20168fca
CW
142142011-07-26 Colin Watson <cjwatson@ubuntu.com>
14215
14216 * configure.ac: The Loongson port requires grub-mkfont due to its
14217 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14218 be built.
14219
303b6246
CW
142202011-07-26 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14223 processing arguments (otherwise help2man fails when GRUB has not yet
14224 been installed).
14225
6795300e
VS
142262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14227
41aa28ea
VS
14228 New script grub-mkstandalone.
14229
14230 * Makefile.util.def (grub-mkstandalone): New script.
14231 * docs/man/grub-mkstandalone.h2m: New file.
14232 * util/grub-mkstandalone.in: Likewise.
14233
142342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 Support ATA disks with 4K sectors.
6795300e
VS
14237
14238 * include/grub/ata.h (grub_ata): New member log_sector_size.
14239 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14240 (grub_ata_identify): Read sector size.
14241 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14242
92227597
VS
142432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * util/grub-install.in: Don't use uhci outside of x86.
14246
c77069f5
VS
142472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * util/grub-mkrescue.in: Add missing quotes.
14250
142512011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14252
14253 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14254 dereference.
14255
583168a2
VS
142562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14259
6be1c01f
VS
142602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * include/grub/video.h: add missing EXPORT_FUND on
14263 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14264
a1167439
VS
142652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * include/grub/mips/kernel.h: Fix define conflict.
14268
bf66054f
VS
142692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14272 all four ways.
14273
8fc4fa45
CW
142742011-07-21 Colin Watson <cjwatson@ubuntu.com>
14275
14276 Preferred resolution detection for VBE.
14277
14278 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14279 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14280 the Flat Panel extension, in line with the X.org VESA driver.
14281 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14282 New function.
14283 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14284 (grub_vbe_bios_read_edid): Likewise.
14285 (grub_vbe_get_preferred_mode): Likewise.
14286 (grub_video_vbe_setup): When the mode is "auto", try to get the
14287 preferred mode from VBE, and use the largest mode that is no larger
14288 than the preferred mode (some BIOSes expose a preferred mode that is
14289 not in their mode list!). If this fails, fall back to 640x480 as a
14290 safe conservative choice.
14291 (grub_video_vbe_get_edid): New function.
14292 (grub_video_vbe_adapter): Add get_edid.
14293 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14294 (struct grub_video_adapter): Add get_edid.
14295 (grub_video_edid_checksum): Add prototype.
14296 (grub_video_edid_preferred_mode): Likewise.
14297 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14298 structure.
14299
14300 * grub-core/commands/videoinfo.c (print_edid): New function.
14301 (grub_cmd_videoinfo): Print EDID if available.
14302
14303 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14304 is more appropriate on a wider range of platforms than 640x480.
14305 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14306 documentation.
14307
ca5572a9
VS
143082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14311
e4bcf625
VS
143122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 * po/POTFILES.in: Regenerate.
14315
c4edd548
VS
143162011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14319 incorrect memory usage.
14320
16a2bab0
VS
143212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * util/grub-install.in: Source grub-mkconfig_lib.
14324
2e418de6
VS
143252011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 Remove getroot.c from core on emu platform.
14328
14329 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14330 kern/emu/raid.c.
14331 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14332 useless.
14333 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14334 * util/getroot.c (get_win32_path): ... here.
14335 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14336 * util/getroot.c (fini_libzfs): ... here.
14337 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14338 * util/getroot.c (grub_get_libzfs_handle): ... here.
14339 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14340 Moved from here...
14341 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14342 * grub-core/kern/emu/misc.c
14343 (grub_make_system_path_relative_to_its_root): Moved from here...
14344 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14345 * grub-core/kern/emu/getroot.c: Moved from here ...
14346 * util/getroot.c: ... here. All users updated.
14347 * grub-core/kern/emu/raid.c: Moved from here ...
14348 * util/raid.c: ... here. All users updated.
14349
def9832a
VS
143502011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * po/POTFILES.in: Regenerate.
14353
cd8fe79a
VS
143542011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 Fix compilation on GNU/Linux.
14357
14358 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14359 Disable geli.
14360 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14361 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14362 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14363
a251b719
VS
143642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
143652011-07-07 Michael Gorven <michael@gorven.za.net>
143662011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14367
14368 LUKS and GELI support.
14369
14370 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14371 grub-core/disk/luks.c, grub-core/disk/geli.c,
14372 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14373 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14374 grub-core/lib/arg.c.
14375 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14376 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14377 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14378 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14379 (grub-bin2h): Add libgcry.a.
14380 (grub-mkimage): Likewise.
14381 (grub-mkrelpath): Likewise.
14382 (grub-script-check): Likewise.
14383 (grub-editenv): Likewise.
14384 (grub-mkpasswd-pbkdf2): Likewise.
14385 (grub-pe2elf): Likewise.
14386 (grub-fstest): Likewise.
14387 (grub-mkfont): Likewise.
14388 (grub-mkdevicemap): Likewise.
14389 (grub-probe): Likewise.
14390 (grub-ofpath): Likewise.
14391 (grub-mklayout): Likewise.
14392 (example_unit_test): Likewise.
14393 (grub-menulst2cfg): Likewise.
14394 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14395 * grub-core/Makefile.core.def (cryptodisk): New module.
14396 (luks): Likewise.
14397 (geli): Likewise.
14398 * grub-core/disk/AFSplitter.c: New file.
14399 * grub-core/disk/cryptodisk.c: Likewise.
14400 * grub-core/disk/geli.c: Likewise.
14401 * grub-core/disk/luks.c: Likewise.
14402 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14403 grub_util_is_lvm.
14404 (grub_util_get_dm_abstraction): New function.
14405 (grub_util_follow_gpart_up): Likewise.
14406 (grub_util_get_geom_abstraction): Likewise.
14407 (grub_util_get_dev_abstraction): Use new functions.
14408 (grub_util_pull_device): Pull GELI and LUKS.
14409 (grub_util_get_grub_dev): Handle LUKS and GELI.
14410 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14411 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14412 (follow_geom_up): Removed.
14413 (grub_util_fd_seek): New function.
14414 (open_device): Use grub_util_fd_seek.
14415 (nread): Rename to ..
14416 (grub_util_fd_read): ... this. All users updated.
14417 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14418 (grub_crypto_cbc_decrypt): Likewise.
14419 (grub_crypto_hmac_write): Likewise.
14420 (grub_crypto_hmac_buffer): Likewise.
14421 (grub_password_get): Extend to util.
14422 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14423 New member modname.
14424 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14425 * include/grub/cryptodisk.h: New file.
14426 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14427 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14428 LUKS and GELI.
14429 (grub_util_follow_gpart_up): New proto.
14430 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14431 (grub_util_fd_read): Likewise.
14432 (grub_cryptodisk_cheat_mount): Likewise.
14433 (grub_util_cryptodisk_print_uuid): Likewise.
14434 (grub_util_get_fd_sectors): Likewise.
14435 * util/grub-fstest.c (mount_crypt): New var.
14436 (fstest): Mount crypto if requested.
14437 (options): New option -C.
14438 (argp_parser): Parse -C.
14439 (main): Init and fini gcry.
14440 * util/grub-install.in: Support cryptodisk install.
14441 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14442 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14443 cryptodisk.
14444 (prepare_grub_to_access_device): Likewise.
14445 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14446 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14447 (probe_cryptodisk_uuid): New function.
14448 (probe_abstraction): Likewise.
14449 (probe): Use new functions.
14450 * util/import_gcry.py: Create Makefile.utilgcry.def.
14451 Add modname member.
14452
9bfdcbbc
VS
144532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 Lazy device scanning.
14456
14457 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14458 (grub-setup): Remove util/raid.c.
14459 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14460 * grub-core/disk/lvm.c (scan_depth): New variable.
14461 (grub_lvm_iterate): Rescan if necessary.
14462 (find_lv): New function based on grub_lvm_open.
14463 (grub_lvm_open): Use find_lv. Rescan on error.
14464 (is_node_readable): New function.
14465 (is_lv_readable): Likewise.
14466 (grub_lvm_scan_device): Skip already found disks.
14467 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14468 Stop if searched device is found and readable.
14469 * grub-core/disk/raid.c (inscnt): New variable.
14470 (scan_depth): Likewise.
14471 (scan_devices): New function based on grub_raid_register. Abort if
14472 looked for device is found.
14473 (grub_raid_iterate): Rescan if needed.
14474 (find_array): NEw function based on -grub_raid_open.
14475 (grub_raid_open): Use find_array and rescan.
14476 (insert_array): Set became_readable_at.
14477 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14478 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14479 New function.
14480 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14481 (grub_util_pull_device): New function.
14482 (grub_util_get_grub_dev): Call grub_util_pull_device.
14483 * util/raid.c: Moved to ..
14484 * grub-core/kern/emu/raid.c: ... here.
14485 (grub_util_raid_getmembers): New parameter "bootable".
14486 All users updated. Support 1.x.
14487 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14488 All users updated.
14489 * include/grub/disk.h (grub_disk_pull_t): New enum.
14490 (grub_disk_dev): Change iterate prototype.
14491 All users updated.
14492 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14493 New proto.
14494 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14495 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14496 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14497 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14498 All users updated.
14499 * include/grub/util/raid.h: Removed.
14500
1c358e59
VS
145012011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * po/POTFILES.in: Regenerate.
14504
abee94ed
VS
145052011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Unify sparc init with other ieee1275.
14508
14509 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14510 instead of kern/sparc64/ieee1275/init.c.
14511 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14512 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14513 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14514 grub/machine/kernel.h.
14515 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14516 (grub_claim_heap) [__sparc__]: Use sparc version.
14517 (grub_machine_init): Moved args parsing to
14518 (grub_parse_cmdline): ...this.
14519 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14520 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14521 New definition.
14522 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14523
14524 Move BOOTP to separate file.
14525
14526 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14527 * grub-core/net/net.c: Move all BOOTP functions to
14528 * grub-core/net/bootp.c: ... here.
14529
14530 Use frame interface on PXE.
14531
14532 * grub-core/Makefile.core.def (pxecmd): Removed.
14533 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14534 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14535 * grub-core/i386/pc/pxe.c: Moved from here ...
14536 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14537 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14538 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14539
14540 EFI network support.
14541
14542 * grub-core/Makefile.core.def (efinet): New module.
14543 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14544 here...
14545 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14546 All users updated.
14547 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14548 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14549 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14550 * grub-core/net/drivers/efi/efinet.c: New file.
14551 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14552 (grub_efi_net_config): New extern var.
14553
14554 Various cleanups and bugfixes.
14555
14556 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14557 error.
14558 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14559 disk declared as partition.
14560 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14561 leak on failure.
14562 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14563 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14564 (grub_debug_zalloc): Likewise.
14565 (grub_debug_realloc): Likewise.
14566 (grub_debug_memalign): Likewise.
14567 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14568 Check that target is IPv4.
14569 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14570 local-mac-address as fallback.
14571 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14572 memory leak.
14573 * grub-core/net/ip.c (ipchksum): Rename to ...
14574 (grub_net_ip_chksum): ... this. All users updated.
14575 (grub_net_recv_ip_packets): Special handling for DHCP.
14576 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14577
14578 Unify prefix handling
14579
14580 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14581 (grub_machine_get_bootlocation): ... this.
14582 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14583 (grub_machine_get_bootlocation): ... this.
14584 (grub_prefix): New variable.
14585 (prefix): Removed.
14586 (root_dev): New variable.
14587 (dir): Likewise.
14588 (main): Use new variables.
14589 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14590 Revamped into ...
14591 (grub_machine_get_bootlocation): ... this.
14592 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14593 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14594 (grub_machine_get_bootlocation): ... this.
14595 (grub_machine_set_prefix): Removed.
14596 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14597 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14598 Revamped into ...
14599 (grub_machine_get_bootlocation): ... this.
14600 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14601 (grub_set_prefix_and_root): ... this. All users updated.
14602 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14603 Revamped into ...
14604 (grub_machine_get_bootlocation): ... this.
14605 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14606 (grub_machine_get_bootlocation): New proto.
14607 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14608
14609 Less intrusive and more reliable seek on network implementation.
14610
14611 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14612 (grub_file_seek): Don't call grub_file_net_seek.
14613 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14614 (grub_net_fs_read_real): .. this.
14615 (grub_net_seek_real): Use net->offset.
14616 (grub_net_fs_read): Seek if necessary.
14617
14618 Unify IEEE1275 netwotk config with the other platforms.
14619
14620 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14621 New variable.
14622 (grub_machine_get_bootlocation): Support network.
14623 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14624 Support type and device parsing.
14625 (grub_ieee1275_get_device_type): New function.
14626 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14627 into ...
14628 (grub_ieee1275_net_config_real): ... this.
14629 (grub_ofnet_probecards): Removed.
14630 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14631 * include/grub/ieee1275/ofnet.h: Removed.
14632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14633 extern var.
14634 (grub_ieee1275_get_device_type): New function.
14635
14636 Unify network device closing across platforms and make more robust.
14637
14638 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14639 grub_grubnet_fini.
14640 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14641 already.
14642 * grub-core/net/net.c (grub_net_network_level_interface_register):
14643 Update num_ifaces.
14644 (grub_net_card_unregister): Close all interfaces.
14645 (receive_packets): Don't poll if no iterfaces are registered.
14646 Open if necessary.
14647 (grub_net_fini_hw): New function.
14648 (grub_net_restore_hw): Likewise.
14649 (fini_hnd): New variable.
14650 (GRUB_MOD_INIT): Register preboot hook.
14651 (GRUB_MOD_FINI): Run and unregister preboot hook.
14652
14653 Poll network cards when idle.
14654
14655 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14656 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14657 * grub-core/net/net.c (receive_packets): Save last poll time.
14658 (grub_net_poll_cards_idle_real): New function.
14659 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14660 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14661 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14662
14663 Rename ofnet interfaces.
14664
14665 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14666 (grub_ofnet_findcards): Use ofnet_%s names.
14667
14668 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14669
14670 Cleanup socket opening.
14671
14672 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14673 (grub_net_fs_close): Likewise.
14674 (grub_net_fs_read_real): Use eof member.
14675 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14676 (+grub_net_udp_close): New inline function.
14677
14678 * include/grub/net/tftp.h: Moved to the top of ...
14679 * grub-core/net/tftp.c: ... here.
14680 * include/grub/net/ip.h: Moved mostly to the top of ...
14681 * grub-core/net/ip.c: ... here.
14682 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14683 * grub-core/net/ethernet.c: ... here.
14684
14685 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14686
14687 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14688 FS name.
14689
14690 * include/grub/net/ip.h (ipv4_ini): Removed.
14691 (ipv4_fini): Likewise.
14692
14693 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14694 (grub_net_send_ip_packets): Likewise.
14695
cf1337aa
VS
146962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14699 grub_read_cmos prototype.
14700
93c06ff9
VS
147012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 VGA text support in qemu-mips
14704
14705 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14706 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14707 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14708 text.
14709 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14710 * grub-core/kern/vga_init.c: ... this.
14711 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14712 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14713 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14714 Adjust.
14715 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14716 GRUB_MACHINE_PCI_IO_BASE.
14717
748ccabe
VS
147182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 MIPS qemu flash support.
14721
14722 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14723 magic.
14724 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14725 (grub_machine_init): Probe memory if its size isn't known.
14726 * util/grub-mkimage.c (image_targets): Add flash targets.
14727 (generate_image): Handle flash targets.
14728
d7345994
VS
147292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 MIPS qemu at_keyboard support.
14732
14733 * gentpl.py (videoinkernel): Add qemu-mips.
14734 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14735 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14736 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14737 modules.
14738 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14739 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14740 * grub-core/term/serial.c (grub_serial_register)
14741 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14742
a07a81b3
VS
147432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 CMOS support on sparc.
14746
14747 * gentpl.py (cmos): Add powerpc and sparc.
14748 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14749 powerpc and sparc.
14750 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14751 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14752 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14753 grub_set_datetime_cmos.
14754 * grub-core/lib/ieee1275/cmos.c: New file.
14755 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14756 (find_rtc): Set no_ieee1275_rtc on error.
14757 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14758 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14759 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14760 fail. Move value to argument. All users updated
14761 (grub_cmos_write): Likewise.
14762 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14763 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14764 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14765 grub_get_datetime_cmos and grub_set_datetime_cmos.
14766
77546584
GS
147672011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14768
14769 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14770 sourcing grub-mkconfig_lib.
14771 * util/update-grub_lib.in: Likewise.
14772 * util/grub.d/00_header.in: Likewise.
14773 * util/grub.d/10_hurd.in: Likewise.
14774 * util/grub.d/10_kfreebsd.in: Likewise.
14775 * util/grub.d/10_linux.in: Likewise.
14776 * util/grub.d/10_netbsd.in: Likewise.
14777 * util/grub.d/10_windows.in: Likewise.
14778 * util/grub.d/20_linux_xen.in: Likewise.
14779 * util/grub.d/30_os-prober.in: Likewise.
14780
54894791
CW
147812011-06-28 Colin Watson <cjwatson@ubuntu.com>
14782
14783 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14784 default_bg_color rather than black.
14785 (grub_gfxterm_fullscreen): Likewise.
14786 (grub_gfxterm_background_color_cmd): Save new background color in
14787 default_bg_color.
14788
8d5d8444
VS
147892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14792
5afeb5bd
VS
147932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14796 mismerge.
14797
ba7df45e
VS
147982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 Chainloading on coreboot support.
14801
14802 * grub-core/Makefile.core.def (chain): Add coreboot.
14803 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14804
d0b526b2
VS
148052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14808 if it happens.
14809
5ff1d945
VS
148102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 Implement time command.
14813
14814 * grub-core/Makefile.core.def (time): New module.
14815 * grub-core/commands/time.c: New file.
14816 * grub-core/script/parser.y: Remove "time" keyword.
14817 * grub-core/script/yylex.l: Likewise.
14818
5ebaad7e
VS
148192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14822
bdea3798
VS
148232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14826 when handling leftovers.
14827
b28c5655
VS
148282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14831 so that help2man doesn't fail.
14832
b6f945dc
VS
148332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14836 type in pointers on sparc64.
14837 (get_card_packet): Likewise.
14838
f9b75e8a
CW
148392011-06-27 Colin Watson <cjwatson@ubuntu.com>
14840
14841 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14842 with `*'.
14843 (grub_cmd_videoinfo): Fetch current video mode.
14844
1e3d9b86
VS
148452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14848 because of underlying system restrictions.
14849
efff4b1c
VS
148502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14853 necessary.
14854
9fc9ce37
VS
148552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Coreboot video support.
14858
14859 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14860 (vbe): Likewise.
14861 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14862 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14863 here ...
14864 * grub-core/kern/i386/int.S: ... here.
14865 * grub-core/video/i386/pc/vbe.c: Updated includes.
14866 * grub-core/video/i386/pc/vga.c: Likewise.
14867 * include/grub/i386/coreboot/memory.h
14868 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14869 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14870 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14871 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14872 Disable interrupts.
14873 * include/grub/i386/pc/vga.h: Removed. All users updated.
14874
41bec7fe
VS
148752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14878 definitions for dprintf.
14879 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14880
ca80309d
VS
148812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14884 prototype.
14885 (get_card_packet): Likewise.
14886
9e322ce8
YB
148872011-06-26 Yves Blusseau <blusseau@zetam.org>
14888
14889 Display the path of the file when file is not found
14890
14891 * grub-core/fs/fat.c: Display the filename when file is not found.
14892 * grub-core/fs/fshelp.c: Likewise.
14893 * grub-core/fs/hfs.c: Likewise.
14894 * grub-core/fs/jfs.c: Likewise.
14895 * grub-core/fs/minix.c: Likewise.
14896 * grub-core/fs/ufs.c: Likewise.
14897 * grub-core/fs/btrfs.c: Likewise.
14898 * grub-core/commands/i386/pc/play.c: Likewise.
14899
cbf597af
SJ
149002011-06-26 Szymon Janc <szymon@janc.net.pl>
14901
14902 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14903 pointer checks before calling grub_free().
14904 * grub-core/commands/wildcard.c (match_devices): Likewise.
14905 * grub-core/commands/wildcard.c (match_files): Likewise.
14906 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14907 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14908 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14909 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14910 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14911 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14912 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14913 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14914 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14915
6295b32f
P
149162011-06-25 Patrick <p55@mailinator.com>
14917
14918 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14919
77c0840b
VS
149202011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14923 (grub_pxe_send): Likewise.
14924 (GRUB_MOD_INIT): Fix types.
14925
40ea05de
SJ
149262011-06-24 Szymon Janc <szymon@janc.net.pl>
14927
14928 * grub-core/io/xzio.c: Fix code style issues
14929
90162423
MRA
149302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
149312011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14932
14933 Network infrastructure.
14934 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14935
14936 * include/grub/net/arp.h: New file.
90162423
MRA
14937 * include/grub/net/device.h: Likewise.
14938 * include/grub/net/ethernet.h: Likewise.
14939 * include/grub/net/ip.h: Likewise.
14940 * include/grub/net/netbuff.h: Likewise.
14941 * include/grub/net/tftp.h: Likewise.
14942 * include/grub/net/udp.h: Likewise.
14943 * include/grub/ieee1275/ofnet.h: Likewise.
14944 * include/grub/emu/export.h: Likewise.
14945 * include/grub/net.h: Likewise.
14946 * grub-core/net/arp.c: Likewise.
14947 * grub-core/net/ethernet.c: Likewise.
14948 * grub-core/net/ip.c: Likewise.
14949 * grub-core/net/udp.c: Likewise.
14950 * grub-core/net/tftp.c: Likewise.
14951 * grub-core/net/netbuff.c: Likewise.
14952 * grub-core/net/net.c: Likewise.
14953 * grub-core/net/drivers/emu/emunet.c: Likewise.
14954 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14955 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14956 export.h.
14957 * grub-core/Makefile.core.def (net): New module.
14958 (tftp): Likewise.
14959 (ofnet): Likewise.
14960 (emunet): Likewise.
14961 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14962 network protocols.
14963 * grub-core/kern/device.c (grub_net_open) : New variable.
14964 (grub_device_open): Handle network device.
14965 (grub_device_close): Likewise.
14966 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14967 (grub_grubnet_fini): Likewise.
14968 (grub_file_seek): Seek in network device.
14969 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14970 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14971 network root.
14972 (grub_machine_fini): Call grub_grubnet_fini.
14973 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14974 network.
14975 (grub_ieee1275_get_aliasdevname): New function.
14976 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14977 Add unofficial Solaris network info.
14978 (grub_multiboot_make_mbi): Likewise.
14979 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14980 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14981 * include/grub/device.h (grub_fs): Removed.
14982 * include/grub/err.h (grub_err_t): Add network-related values.
14983 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14984 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14985 (grub_ieee1275_get_aliasdevname): New proto.
14986 * include/grub/net.h: Rewritten.
423a1849 14987
031f22a0
VS
149882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14991 names.
14992
4388ca72
VS
149932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14996 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14997 it truncates the output.
14998 Reported by: Ximin Luo.
14999
98e2f506
VS
150002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15003
2a5e94d8
VS
150042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15007 partmap before abstraction.
15008
535c1910
AK
150092011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15010
15011 * util/grub-mkconfig_lib.in: Add missing quotes.
15012
bc09e1a2
VS
150132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15016 old method if mountinfo would return /dev/root and /dev/root doesn't
15017 exist.
15018
290766fb
VS
150192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 ZFS zlib support
15022
15023 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15024 (decomp_table): Add zlib entries.
15025 (zio_read): USe 8 bits for compression function rather than 3.
15026 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15027
150282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * grub-core/disk/ahci.c: Add missing license statements.
15031 * grub-core/fs/romfs.c: Likewise.
15032 * grub-core/lib/ia64/setjmp.S: Likewise.
15033 * grub-core/loader/i386/pc/freedos.c: Likewise.
15034 * grub-core/loader/ia64/efi/linux.c: Likewise.
15035 * grub-core/video/colors.c: Likewise.
15036 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15037
5ab3f48a
VS
150382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 AHCI support.
15041
15042 * grub-core/Makefile.core.def (ata_pthru): Removed.
15043 (ahci): New module.
15044 (pata): Likewise.
15045 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15046 on unload.
15047 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15048 readwrite.
15049 (grub_hdparm_do_check_powermode_cmd): Likewise.
15050 (grub_hdparm_do_smart_cmd): Likewise.
15051 (grub_hdparm_set_val_cmd): Likewise.
15052 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15053 * grub-core/disk/ahci.c: New file.
15054 * grub-core/disk/ata.c: Factor out the low-level part into ...
15055 * grub-core/disk/pata.c: ... here.
15056 * grub-core/disk/ata_pthru.c: Contents moved to ...
15057 * grub-core/disk/pata.c: ... here.
15058 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15059 (grub_scsi_iterate): Use grub_scsi_names.
15060 (grub_scsi_open): Likewise.
15061 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15062 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15063 (grub_ata_regs_t): New struct.
15064 (grub_disk_ata_pass_through_parms): Likewise.
15065 (grub_ata_device): Renamed to ...
15066 (grub_ata): ... this.
15067 (grub_ata_dev): New struct.
15068 Removed all low-level inline functions.
15069 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15070 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15071 iterate hooks and open. All users updated.
15072 * util/grub-install.in: Handle AHCI disk module.
15073
c31dc5f5
SJ
150742011-06-23 Szymon Janc <szymon@janc.net.pl>
15075
15076 Add support for DRI and RSTn markers in JPEG files.
15077
15078 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15079 (JPEG_MARKER_RST0): Likewise.
15080 (JPEG_MARKER_RST1): Likewise.
15081 (JPEG_MARKER_RST2): Likewise.
15082 (JPEG_MARKER_RST3): Likewise.
15083 (JPEG_MARKER_RST4): Likewise.
15084 (JPEG_MARKER_RST5): Likewise.
15085 (JPEG_MARKER_RST6): Likewise.
15086 (JPEG_MARKER_RST7): Likewise.
15087 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15088 (grub_jpeg_decode_dri): New function.
15089 (grub_jpeg_decode_sos): Move image data related part into
15090 grub_jpeg_decode_data function.
15091 (grub_jpeg_decode_data): New function.
15092 (grub_jpeg_reset): New function.
15093 (grub_jpeg_decode_jpeg): Handle new markers.
15094
fe12fd5b
VS
150952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * util/ieee1275/ofpath.c (check_sas): Close fd.
15098 (main): Free of_path.
15099 Reported by: David Volgyes <dvolgyes>.
15100
03147f46
VS
151012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15104 Reported by: David Volgyes <dvolgyes>.
15105
cad3237f
VS
151062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15109 file after stat.
15110 Reported by: David Volgyes <dvolgyes>.
15111
13548d26
VS
151122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15115
15116 Reported by: David Volgyes <dvolgyes>.
15117
e061a1b5
VS
151182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15121 Prevent memory leak.
15122
1abe47dc
VS
151232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15126 (main): Close file.
e061a1b5 15127 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15128
fbc62666
VS
151292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15132 to continue if allocation is failed.
15133
15134 Reported by: David Volgyes <dvolgyes>.
15135
e98c83e9
DV
151362011-06-23 David Volgyes <dvolgyes>
15137
15138 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15139 dereference.
15140
a199a8cd
VS
151412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 Fix spurious warning.
15144
15145 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15146 (acorn_partition_map_find): Use .bin member.
15147
e2d1dba0
VS
151482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15151 /dev/root as a valid device.
15152
8a5d6919
JM
151532011-06-23 Jim Meyering <meyering@redhat.com>
15154
e2d1dba0
VS
15155 Avoid NULL deref in grub_device_open.
15156
8a5d6919
JM
15157 * grub-core/kern/device.c (grub_device_open): Don't dereference
15158 a NULL pointer upon failed grub_env_get.
15159
f7db6f4a
VS
151602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 Support non-512B sectors and agglomerate reads.
15163
15164 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15165 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15166 (disk_io_guid): Removed.
15167 (make_devices): Locate solely by BlockIO.
15168 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15169 (grub_efidisk_read): Use read_blocks.
15170 (grub_efidisk_write): Use write_blocks.
15171 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15172 log_sector_size.
15173 (get_safe_sectors): Handle non-512B sectors.
15174 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15175 sectors.
15176 (grub_biosdisk_write): Handle non-512B sectors.
15177 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15178 (grub_scsi_read): Remove special non-512B block handling (now handled
15179 one level up).
15180 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15181 and do sanity checks.
15182 (grub_disk_adjust_range): Handle non-512B sectors.
15183 (transform_sector): New function.
15184 (grub_disk_read_small): Likewise.
15185 (grub_disk_read): Rewritten.
15186 (grub_disk_write): Handle non-512B sectors.
15187 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15188 log_sector_size.
15189 (open_device): Use log_sector_size.
15190 (grub_util_biosdisk_read): Likewise.
15191 (grub_util_biosdisk_write): Likewise.
15192 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15193 non-512B sectors.
15194 (pc_partition_map_embed): Likewise.
15195 * include/grub/disk.h (grub_disk): New field log_sector_size.
15196 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15197 (GRUB_DISK_CACHE_BITS): Increased to 6.
15198 * util/grub-fstest.c (fstest): New command testload.
15199 (argp_parser): Likewise.
15200
881ac815
RM
152012011-06-16 Robert Millan <rmh@gnu.org>
15202
15203 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15204 `ata' driver on kernel of FreeBSD 9.
15205
15206 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15207 (get_ataraid_disk_name): New functions.
15208 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15209 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15210 get_ataraid_disk_name() and get_ada_disk_name().
15211
1e9aef7d
CW
152122011-06-13 Colin Watson <cjwatson@ubuntu.com>
15213
15214 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15215 input format.
15216
351c7c8a
CW
152172011-05-29 Colin Watson <cjwatson@ubuntu.com>
15218
15219 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15220 `ftp.gnu.org' for `alpha.gnu.org'.
15221
6b4e6430
CW
152222011-05-27 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15225 partitions under /dev/disk/by-id/.
15226
c64db050
CW
152272011-05-27 Colin Watson <cjwatson@ubuntu.com>
15228
15229 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15230 after ten consecutive open failures. Scanning all the way up to
15231 10000 is excessive and can cause serious performance problems in
15232 some configurations.
15233 Fixes Ubuntu bug #787461.
15234
245f4aba
VS
152352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15238 opening new one.
15239
f767c929
VS
152402011-05-21 Colin Watson <cjwatson@ubuntu.com>
152412011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Don't stat devices unless we have to.
15244
15245 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15246 dir == /dev/mapper.
15247 (grub_guess_root_device): Use already known os_dev if possible.
15248 * grub-core/kern/emu/hostdisk.c
15249 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15250 if device is known to be a dm one.
15251
f35fa3a6
CW
152522011-05-20 Colin Watson <cjwatson@ubuntu.com>
15253
15254 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15255 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15256 Reported by: Pawel Tecza.
15257
9a79fcf2
VS
152582011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15261 (lsefisystab): Likewise.
15262 (lssal): Likewise.
15263 (lsefimmap): Likewise.
15264 (hdparm): Enable on qemu-mips.
15265 (setjmp): Add ia64 nodist.
15266 (serial): Simplify tags.
15267
63e3eea9
CW
152682011-05-18 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * Makefile.util.def (grub-ofpathname): Install manual page.
15271
09728256
CW
152722011-05-18 Colin Watson <cjwatson@ubuntu.com>
15273
15274 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15275
8b63a142
CW
152762011-05-18 Colin Watson <cjwatson@ubuntu.com>
15277
15278 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15279
e775d8ed
VS
152802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15283 into dprintf.
15284
bf947d36
VS
152852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 Use full 64-bit division.
15288
15289 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15290 (grub_divmod64): ... this.
15291 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15292 version.
15293
b84f26c5
CW
152942011-05-18 Colin Watson <cjwatson@ubuntu.com>
15295
15296 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15297 `source'.
15298
5626056f
CW
152992011-05-18 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15302 to avoid accidents when debugging with 'sh -x'.
15303 * grub-core/gensyminfo.sh.in: Likewise.
15304 * tests/example_scripted_test.in: Likewise.
15305 * tests/grub_cmd_regexp.in: Likewise.
15306 * tests/grub_script_blanklines.in: Likewise.
15307 * tests/grub_script_dollar.in: Likewise.
15308 * tests/grub_script_expansion.in: Likewise.
15309 * tests/grub_script_final_semicolon.in: Likewise.
15310 * tests/partmap_test.in: Likewise.
15311 * tests/util/grub-shell-tester.in: Likewise.
15312 * tests/util/grub-shell.in: Likewise.
15313
e2965f4a
CW
153142011-05-18 Colin Watson <cjwatson@ubuntu.com>
15315
15316 Move gfxmenu color handling to video, so that gfxterm can use it
15317 too.
15318
15319 * grub-core/gfxmenu/named_colors.c: Move to ...
15320 * grub-core/video/colors.c: ... here. Rename
15321 grub_gui_get_named_color to grub_video_get_named_color.
15322 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15323 * grub-core/video/colors.c (my_isxdigit): ... here.
15324 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15325 Move to ...
15326 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15327 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15328 to ...
15329 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15330
15331 * include/grub/gui.h (grub_gui_color_t): Move to ...
15332 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15333 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15334 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15335 * include/grub/gui.h (grub_gui_map_color): Move to ...
15336 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15337 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15338 to ...
15339 * include/grub/video.h (grub_video_get_named_color): ... here.
15340 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15341 * include/grub/video.h (grub_video_parse_color): ... here.
15342
15343 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15344 video/colors.c.
15345 (gfxmenu): Remove gfxmenu/named_colors.c.
15346 (video) [videomodules]: Add video/colors.c.
15347
15348 Add a background_color command.
15349
15350 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15351 function.
15352 (GRUB_MOD_INIT): Register background_color command.
15353 (GRUB_MOD_FINI): Unregister background_color command.
15354 (redraw_screen_rect): Allow blend/replace of text layer to be
15355 controlled independently from whether there is a background bitmap.
15356 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15357 changing bitmap.
15358
1e4b4390
VS
153592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15360
26618ff0
VS
15361 Patch BPB in ntldr and chainloader --bpb.
15362
1e4b4390
VS
15363 * grub-core/fs/fat.c: Include grub/fat.h.
15364 (grub_fat_bpb): Moved to ...
15365 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15366 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15367 grub/ntfs.h.
15368 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15369 Moved from here...
15370 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15371 here.
15372 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15373 New function.
15374 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15375 (GRUB_MOD_INIT): Show --bpb.
15376 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15377 * grub-core/normal/main.c (features): New variable.
15378 (GRUB_MOD_INIT): Set feature_* variables.
15379 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15380 proto.
15381 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15382
cf02731e
VS
153832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15386 for cleanness.
15387
e3a1073f
VS
153882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 FreeDOS direct loading support.
15391
15392 * docs/grub.texi (Supported OS): Add FreeDOS.
15393 * grub-core/Makefile.core.def (freedos): New module.
15394 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15395 variable.
15396 (grub_relocator16_boot): Handle %ebx.
15397 * grub-core/lib/i386/relocator16.S: Likewise.
15398 * grub-core/loader/i386/pc/freedos.c: New file.
15399
05caa461
VS
154002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Long Linux command line support.
15403
15404 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15405 (maximal_cmdline_size): New variable.
15406 (allocate_pages): Use maximal_cmdline_size.
15407 (grub_cmd_linux): Set and use maximal_cmdline_size.
15408 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15409 (allocate_pages): Use maximal_cmdline_size.
15410 (grub_cmd_linux): Set and use maximal_cmdline_size.
15411 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15412 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15413 and cmdline_size.
15414
a2491e23
VS
154152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
154162011-05-18 Colin Watson <cjwatson@ubuntu.com>
15417
15418 Improve devmapper support
15419
15420 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15421 (grub_util_is_lvm): New function.
15422 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15423 than lvm if not dmraid.
15424 Handle mapped md nodes.
15425 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15426 (grub_util_device_is_mapped): ... this. Make always available. All users
15427 updated.
15428 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15429 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15430 dmraid nodes.
15431 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15432
6ad6223e
VS
154332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15436
15437 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15438 * grub-core/modinfo.sh.in: New file.
15439 * grub-core/Makefile.core.def (modinfo.sh): New script.
15440 * util/grub-mknetdir.in: Use modinfo.sh.
15441 * util/grub-mkrescue.in: Likewise.
15442
543a8f6e
VS
154432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15446 Fix potential usage of Elf32 instead of Elf64 when compiling on
15447 32-bit architecture. Add endianness macros while on it.
15448
4959e111
VS
154492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 Use mipsel- rather than mips- in directories involving mipsel ports to
15452 allow both endiannesses coexist.
15453
15454 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15455 mips. All conditions adjusted.
15456 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15457 variable.
15458 * util/grub-install.in: Adjust conditions to take renaming into account.
15459 * util/grub-mkimage.c (image_targets): Likewise. New target
15460 mips-qemu_mips-elf for bigendian mips.
15461
35341bbc
VS
154622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 Avoid unnecessary copying on MIPS.
15465
15466 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15467 early if src == dest.
15468 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15469 compression is none.
15470
b772baed
VS
154712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Reduce memory footprint on SGI by putting modules before the kernel
15474 as opposed to after.
15475
15476 * grub-core/Makefile.core.def (kernel): Increase linking address.
15477 (none_decompress): Likewise.
15478 (xz_decompress): Likewise.
15479 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15480 address.
15481 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15482 layout change.
15483 (grub_arch_modules_addr): New function.
15484 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15485 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15486 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15487 here.
15488 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15489 (grub_total_modules_size): ... this. Make global.
15490 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15491 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15492 New definition.
15493 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15494 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15495 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15496 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15497 * util/grub-mkimage.c (image_target_desc): New flag
15498 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15499 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15500 (generate_image): Handle images with modules before kernel.
15501
566a1917
VS
155022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 Prevent potential loss of memory map by overwrite on qemu-mips.
15505
15506 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15507 Save ram size in $s4.
15508 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15509 All users changed to grub_arch_memsize.
15510 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15511 Loongson.
15512 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15513 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15514 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15515 external variable.
15516
5d420cd9
CW
155172011-05-17 Colin Watson <cjwatson@ubuntu.com>
15518
15519 * .bzrignore: Remove grub-dumpbios.
15520
d064b830
CW
155212011-05-17 Colin Watson <cjwatson@ubuntu.com>
15522
15523 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15524 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15525 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15526 existing options which append).
15527 * docs/grub.texi (Simple configuration): Document new options.
15528 Reported by: Ian Jackson. Fixes Debian bug #617538.
15529
3ca2b466
CW
155302011-05-17 Colin Watson <cjwatson@ubuntu.com>
15531
15532 * util/grub-fstest.c (cmd_cat): New function.
15533 (fstest): Handle CMD_CAT.
15534 (options): Add cat.
15535 (argp_parser): Handle cat.
15536
24c9143a
CW
155372011-05-17 Colin Watson <cjwatson@ubuntu.com>
15538
15539 * Makefile.util.def (grub-bin2h): Don't install.
15540 * docs/man/grub-bin2h.h2m: Remove.
15541
90f7ac19
VS
155422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15545 place.
15546
8d4a5178
VS
155472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 Reenable qemu-mips port.
15550
15551 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15552 Fix small arc bug while on it.
15553 * gentpl.py: Handle qemu_mips.
15554 * grub-core/Makefile.am: Likewise.
15555 * grub-core/Makefile.core.def: Likewise.
15556 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15557 inappropriate includes.
15558 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15559 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15560 * grub-core/kern/main.c (grub_modules_get_end)
15561 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15562 * grub-core/kern/mips/qemu-mips: Moved to ..
15563 * grub-core/kern/mips/qemu_mips: ... this.
15564 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15565 (grub_machine_init): Call terminfo_init and serial_init.
15566 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15567 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15568 New variable.
15569 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15570 parameter passing.
15571 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15572 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15573 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15574 * include/grub/mips/qemu_mips/cmos.h: New file.
15575 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15576 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15577 Removed.
15578 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15579 Use correct mips-style address.
15580 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15581 (GRUB_TICKS_PER_SECOND): Removed.
15582 (grub_get_rtc): Likewise.
15583 (grub_cpu_idle): Likewise.
15584 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15585 New definition.
15586 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15587 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15588 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15589 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15590 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15591 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15592 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15593 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15594
400b9371
VS
155952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 SGI ARCS port.
15598
15599 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15600 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15601 platforms.
15602 * configure.ac: New target mips-arc.
15603 * gentpl.py: Likewise.
15604 * grub-core/Makefile.am: Likewise.
15605 * grub-core/Makefile.core.def: Likewise.
15606 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15607 (none_decompress): Likewise.
15608 (lsdev): New module.
15609 (datetime): Use lib/arc/datetime.c on ARC.
15610 (part_dvh): New module.
15611 * grub-core/commands/arc/lsdev.c: New file.
15612 * grub-core/disk/arc/arcdisk.c: Likewise.
15613 * grub-core/kern/mips/arc/init.c: Likewise.
15614 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15615 aligned addresses.
15616 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15617 support.
15618 (grub_arch_dl_relocate_symbols): Likewise.
15619 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15620 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15621 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15622 platforms.
15623 * grub-core/lib/arc/datetime.c: New file.
15624 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15625 pci.h on non-loongson.
15626 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15627 (grub_linux_boot): Set unused registers to 0.
15628 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15629 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15630 * grub-core/mmap/mips/uppermem.c: ...here.
15631 * grub-core/partmap/dvh.c: New file.
15632 * grub-core/term/arc/console.c: Likewise.
15633 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15634 (grub_terminfo_set_current): Add terminal "arc".
15635 (grub_terminfo_readkey): Support ARC sequences.
15636 * include/grub/arc/arc.h: New file.
15637 * include/grub/arc/console.h: Likewise.
15638 * include/grub/disk.h (grub_disk_dev_id): Add
15639 GRUB_DISK_DEVICE_ARCDISK_ID.
15640 * include/grub/mips/arc/kernel.h: New file.
15641 * include/grub/mips/arc/memory.h: Likewise.
15642 * include/grub/mips/arc/time.h: Likewise.
15643 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15644 * include/grub/mips/kernel.h (grub_halt): ... here.
15645 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15646 here...
15647 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15648 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15649 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15650 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15651 proto.
15652 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15653 from here ...
15654 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15655 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15656 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15657 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15658 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15659 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15660 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15661 (grub_phys_addr_t): Moved from here ...
15662 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15663 (grub_vtop): Moved from here ...
15664 * include/grub/mips/memory.h (grub_vtop): ... here.
15665 (grub_map_memory): Moved from here ...
15666 * include/grub/mips/memory.h (grub_map_memory): ... here.
15667 (grub_unmap_memory): Moved from here ...
15668 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15669 (grub_machine_mmap_iterate): Moved from here ...
15670 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15671 (grub_mmap_get_lower): Moved from here ...
15672 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15673 (grub_mmap_get_upper): Moved from here ...
15674 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15675 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15676 here ...
15677 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15678 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15679 here ...
15680 * include/grub/mips/time.h (grub_get_rtc): ... here.
15681 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15682 here ...
15683 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15684 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15685 here ...
15686 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15687 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15688 definition.
15689 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15690 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15691 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15692 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15693 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15694 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15695 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15696 (GRUB_MACHINE_LINK_ADDR): Likewise.
15697 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15698 to 6.
15699 * util/grub-install.in: Run dvhtool on ARC.
15700 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15701 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15702
c8ecc840
VS
157032011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15706 blocks.
15707
153a4b55
VS
157082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15711 after enabling port.
15712
ff44d107
VS
157132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 Skip incorrect USB devices.
15716
15717 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15718 configcnt == 0.
15719 * include/grub/usb.h (grub_usb_err_t): New enum value
15720 GRUB_USB_ERR_BADDEVICE.
15721
638dbe4f
VS
157222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Fuloong video init support.
15725
15726 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15727 well.
15728 (grub_vga_read_arx): New function.
15729 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15730 definition.
15731 (framebuffer): New members io, mmioptr and mmiobase.
15732 (read_sis_cmd): New function.
15733 (write_sis_cmd): Likewise.
15734 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15735 rather than 640x400.
15736 * grub-core/video/sis315_init.c: New file.
15737
c3fc520c
VS
157382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15741 non-loongson.
15742 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15743 to grub_dl_register_symbol.
15744
67b1e5c9
VS
157452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Fix compilation errors.
15748
15749 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15750 potentially unused.
15751 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15752 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15753 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15754 to loongson machines.
15755
b756f75f
VS
157562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 Several FS mtime support.
15759
15760 * grub-core/fs/affs.c (grub_affs_time): New struct.
15761 (grub_affs_file): New field mtime.
15762 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15763 type. Removed 'size'. New field 'di'. All users updated.
15764 (grub_affs_mount): Simplify checsum checking.
15765 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15766 (grub_affs_dir): Handle mtime.
15767 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15768 (grub_cpio_dir): Likewise.
15769 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15770 (grub_hfs_filerec): New field mtime.
15771 (grub_hfs_dir): Handle mtime.
15772 (grub_hfs_mtime): New function.
15773 (grub_hfs_fs): Register grub_hfs_mtime.
15774 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15775 (grub_iso9660_dir): New field mtime.
15776 (grub_fshelp_node): New field dirent.
15777 (iso9660_to_unixtime): New function.
15778 (iso9660_to_unixtime2): Likewise.
15779 (grub_iso9660_read_symlink): Use node->dirent.
15780 (grub_iso9660_iterate_dir): Likewise.
15781 (grub_iso9660_dir): Set mtime.
15782 (grub_iso9660_mtime): New function.
15783 (grub_iso9660_fs): Register grub_iso9660_mtime.
15784 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15785 (grub_jfs_inode): New fields atime, ctime and mtime.
15786 (grub_jfs_dir): Set mtime.
15787 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15788 * grub-core/fs/ntfs.c (list_file): Set mtime.
15789 (grub_ntfs_dir): Likewise.
15790 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15791 (grub_reiserfs_iterate_dir): Set mtime.
15792 (grub_reiserfs_dir): Likewise.
15793 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15794 (grub_fshelp_node): Likewise.
15795 (grub_sfs_iterate_dir): Set mtime.
15796 (grub_sfs_dir): Likewise.
15797 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15798 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15799 (grub_xfs_inode): New fields atime, mtime, ctime.
15800 (grub_xfs_dir): Set mtime.
15801 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15802 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15803 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15804
15805 Support UDF symlinks.
15806
15807 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15808 (grub_ufs_read_symlink): New function. All users updated.
15809
15810 Check amiga partmap checksum.
15811
15812 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15813 (grub_amiga_partition): Likewise.
15814 (amiga_partition_map_checksum): New function.
15815 (amiga_partition_map_iterate): Check checksum.
15816
5470225d
VS
158172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 ROMFS support.
15820
15821 * Makefile.util.def (libgrubmods.a): Add romfs.
15822 * grub-core/Makefile.core.def (romfs): New module.
15823 * grub-core/fs/romfs.c: New file.
15824
d4680a35
VS
158252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 Squashfs v4 support.
15828
15829 * Makefile.util.def (libgrubmods.a): Add squash4.
15830 * grub-core/Makefile.core.def (squash4): New module.
15831 * grub-core/fs/squash4.c: New file.
15832 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15833 disk_input_start, disk_input.
15834 (get_byte): Handle disk_input.
15835 (grub_zlib_disk_read): New function.
15836 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15837
bcb18e74
FZ
158382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
158392011-05-15 Feiran Zheng <famcool@gmail.com>
15840
15841 * Makefile.util.def (libgrubmods.a): Add minix3.
15842 * grub-core/Makefile.core.def (minix3): New module.
15843 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15844 (GRUB_MINIX_BSIZE): Removed.
15845 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15846 (grub_minix_ino_t): New type.
15847 (grub_minix_le_to_cpu_ino): New macro.
15848 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15849 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15850 (grub_minix_data): New field block_size.
15851 (grub_minix_read_file): Handle 64-bit correctly.
15852 * grub-core/fs/minix3.c: New file.
15853
32297d5f
TG
158542011-05-15 Tristan Gingold <gingold@free.fr>
158552011-05-15 Robert Millan <rmh.grub@aybabtu.com>
158562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 IA64 support.
15859
15860 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15861 * configure.ac: Add ia64-efi target.
15862 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15863 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15864 * gentpl.py: Add ia64_efi platform.
15865 Rename x86_efi to efi and Add ia64-efi. All users updated.
15866 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15867 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15868 Remove kern/generic/rtc_get_time_ms.c on EFI.
15869 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15870 kern/ia64/dl_helper.c on ia64-efi.
15871 Add kern/emu/cache.c on emu.
15872 (linux): Use on loader/ia64/efi/linux.c on ia64.
15873 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15874 whether symbol is a function.
15875 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15876 (grub_symbol): New field 'isfunc'.
15877 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15878 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15879 (grub_dl_load_segments): Place all sections into the same region.
15880 [__ia64__]: Create trampolines and got.
15881 [GRUB_MACHINE_EMU]: Call mprotect.
15882 (grub_dl_resolve_symbols): Resolve symbol type as well.
15883 [__ia64__]: Create function descriptors.
15884 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15885 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15886 (grub_get_rtc): New function.
15887 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15888 * grub-core/kern/emu/cache.S: Renamed to ...
15889 * grub-core/kern/emu/cache_s.S: ... this.
15890 [__ia64__]: Add a nop.
15891 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15892 [__ia64__]: New function.
15893 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15894 * grub-core/kern/ia64/dl.c: New file.
15895 * grub-core/kern/ia64/dl_helper.c: Likewise.
15896 * grub-core/kern/ia64/efi/init.c: New file.
15897 * grub-core/kern/ia64/efi/startup.S: Likewise.
15898 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15899 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15900 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15901 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15902 * grub-core/loader/ia64/efi/linux.c: New file.
15903 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15904 (GRUB_MOD_DEP): Likewise.
15905 (grub_dl) [__ia64__]: New fields got and tramp.
15906 (grub_dl): New field 'base'.
15907 (grub_dl_register_symbol): New argument isfunc. All users updated.
15908 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15909 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15910 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15911 (grub_ia64_dl_get_tramp_got_size): New proto.
15912 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15913 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15914 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15915 * include/grub/efi/api.h: Skip call wrappers on ia64.
15916 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15917 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15918 * include/grub/elf.h (ELF_ST_INFO): New definition.
15919 * include/grub/ia64/efi/kernel.h: New file.
15920 * include/grub/ia64/efi/memory.h: Likewise.
15921 * include/grub/ia64/efi/time.h: Likewise.
15922 * include/grub/ia64/kernel.h: Likewise.
15923 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15924 * include/grub/ia64/time.h: New file.
15925 * include/grub/ia64/types.h: Likewise.
15926 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15927 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15928 New protos.
15929 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15930 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15931 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15932 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15933 All users updated.
15934 (EFI64_HEADER_SIZE): New definition. All users updated.
15935 (image_targets): Add ia64-efi.
15936 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15937 jumpers_addr. All users updated.
15938 Create function descriptors.
15939 (count_funcs): New function.
15940 (unaligned_uint32): New struct.
15941 (MASK20): New definition.
15942 (MASK19): Likewise.
15943 (MASKF21): Likewise.
15944 (add_value_to_slot_20b): New function.
15945 (add_value_to_slot_21_real): Likewise.
15946 (add_value_to_slot_21): Likewise.
15947 (ia64_kernel_trampoline): New struct.
15948 (nopm): New variable.
15949 (jump): Likewise.
15950 (make_trampoline): New function.
15951 (relocate_addresses): Handle ia64.
15952 (make_reloc_section): Likewise.
15953 (load_image): Likewise.
15954
983b414d
VS
159552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15958 warning. Move variables before code while on it.
15959
5d063cdc
VS
159602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 Fuloong support.
15963
15964 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15965 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15966 * grub-core/boot/mips/loongson/fuloong.S: New file.
15967 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15968 Explicitly init CS5536.
15969 [FULOONG]: Don't use serial until CS5536 is available.
15970 Set GPIO based on dumps.
15971 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15972 [FULOONG]: Handle GPIO and memory controller differences.
15973 Parse machine type in $a2.
15974 * grub-core/boot/mips/startup_raw.S: Determine and save the
15975 architecture.
15976 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15977 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15978 init on architecture type.
15979 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15980 SIS315E. Don't init at_keyboard on fuloong.
15981 (grub_halt): Support Fuloong.
15982 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15983 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15984 (loongson_machtypes): New array.
15985 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15986 type.
15987 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15988 config. All users updated. Handle CS5536 serial.
15989 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15990 default port on machine type. Register serial as inactive.
15991 * grub-core/video/sis315pro.c: New file.
15992 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15993 definition.
15994 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15995 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15996 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15997 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15998 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15999 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16000 to ...
16001 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16002 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16003 definition.
16004 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16005 (grub_arch_machine): New extern var.
16006 * include/grub/mips/loongson/serial.h
16007 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16008 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16009 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16010 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16011 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16012 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16013 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16014 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16015 * include/grub/term.h (grub_term_register_input_inactive): New inline
16016 function.
16017 (grub_term_register_output_inactive): Likewise.
16018 * include/grub/video.h (grub_video_driver_id): New value
16019 GRUB_VIDEO_DRIVER_SIS315PRO.
16020 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16021 New field "names". All users updated.
16022 New field value IMAGE_FULOONG_FLASH.
16023 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16024
6ada82d1
JU
160252011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16026
16027 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16028 and add some clarification.
16029
90c571a4
VS
160302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16033 platforms if kernel is compressed.
16034
de04eecf
VS
160352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16038 unused modules since currently referrence counter isn't reliable and
16039 there isn't much memory to recover there anyway.
16040
57688121
VS
160412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16044 rather than resetting it to allow modules to reference themselves
16045 in init.
16046
3d2c7e35
VS
160472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16050 counter on dependencies since grub_dl_unref already handles this.
16051
b25db218
VS
160522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16055 on error if not already done.
16056
25a45338
VS
160572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 Fix few potential memory misusage.
16060
16061 * grub-core/font/font.c (load_font_index): Don't free char_index to
16062 avoid double free.
b25db218
VS
16063 (grub_font_load): Zero-fill font at alloc for safety.
16064 Close file on error.
16065 (free_font): Free bmp_idx.
25a45338 16066
0cac83df
VS
160672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 * docs/grub.texi (Installation): Fix several outdated claims.
16070
2217a143
VS
160712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 Handle module_license on windows.
16074
16075 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16076 sections shifted.
16077 (insert_string): Make argument const char * instead of char *.
16078 (write_section_data): Handle long section names.
16079 Handle module_license.
16080
d4de6b01
VS
160812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16084 handle class-free menuentries.
16085 (grub_normal_add_menu_entry): Add a check to be sure.
16086
4c2a3b43
VS
160872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16090 PgUp and PgDown.
16091
85c6210f
VS
160922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * configure.ac: Bump version to 1.99.
16095
36084912
VS
160962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 Give ATA device a bit more time on first try in order to allow disks
16099 to spin up.
16100
16101 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16102 if dev->present is 1. Reset dev->present on failure.
16103 (grub_ata_device_initialize): Set dev->present to 1.
16104 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16105 (grub_ata_device): New member 'present'.
16106
bda0e219
VS
161072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * util/grub-mkimage.c (generate_image): Update hash.
16110
19e1c41b
VS
161112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 Flush caches on DMA memory.
16114
16115 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16116 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16117 (grub_dma_free): Likewise.
16118 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16119
91bbcc0c
VS
161202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16123 to avoid asm treating ld and sd as macros.
16124
60ddfad3
VS
161252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16128 decompressor.
16129
a298aa04
VS
161302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16133 grub_decompress_core since later would fail if grub_decompress_core
16134 is too far.
16135
9b44feca
VS
161362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16139 R_MIPS_JALR since it's used by newer compiler.
16140
56dbe7b4
VS
161412011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16144
52856af2
VS
161452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16148 file_path to 0 for surety.
16149 (grub_chainloader_boot): Set exit_data to NULL.
16150 Unset the loader once done.
16151 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16152
9c9bfc6d
VS
161532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16156 unknown key into a dprintf.
16157
dd94a3df
VS
161582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16161 on first non-existant partition.
16162
fa68d99c
VS
161632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16166 openning fails.
16167 Reported by: Mark Korenberg.
16168
157effb7
VS
161692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16172 overflow.
16173
ea75312f
VS
161742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16177 before closing to ensure that it will be readable by grub-setup.
16178
072b5d31
VS
161792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16182 (devpath_1): Use MAKE_PIWG_PATH.
16183 (devpath_2): Likewise.
16184 (devpath_3): Likewise.
16185 (devpath_4): Likewise.
16186 (devpath_5): Likewise.
16187 (devpath_6): Likewise.
16188
16189 The appleldr.mod was checked that to be binary identical to previous
16190 version.
16191
7fae0051
Z
161922011-05-05 Zach <mikezackles>
16193
16194 Support 2010 Macbooks.
16195
16196 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16197 (devs): Add devpath_6.
16198
7c515bee
VS
161992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16202 /dev/random. /dev/urandom is good enough for our purposes (salting).
16203
ed660bd8
VS
162042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16207
ee5614b7
VS
162082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16211 hexadecimal.
16212
664889a6
VS
162132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16216 and not 0 on failure.
16217
bd405bbc
CW
162182011-05-03 Colin Watson <cjwatson@ubuntu.com>
16219
16220 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16221 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16222 disk; otherwise grub_fs_probe will not fall back to the next
16223 filesystem.
16224 (grub_pxefs_open): Likewise, for consistency.
16225 Reported and tested by: Ezekiel Grave.
16226
4ebff753
CW
162272011-05-03 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * tests/partmap_test.in: Don't hardcode path to parted.
16230 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16231
8f942553
CW
162322011-05-01 Colin Watson <cjwatson@ubuntu.com>
16233
16234 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16235 of `ls' to find out which devices are available.
16236
3c62402d
VS
162372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16240 than source address for efi mmap buffer.
16241
723f63f2
VS
162422011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16245 wrong action on non-detecting the magic.
16246
68797f92
VS
162472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16250 already supplied by another part of the module (fixes compilation on
16251 FreeBSD).
16252
6be8715d
VS
162532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16256 match the one used by mdadm.
16257
e91dba5b
CW
162582011-04-21 Colin Watson <cjwatson@ubuntu.com>
16259
16260 * po/README: Add instructions for creating po/LINGUAS.
16261
c85140b3
CW
162622011-04-21 Colin Watson <cjwatson@ubuntu.com>
16263
16264 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16265 #551428.
16266
16267 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16268 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16269 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16270 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16271 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16272 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16273 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16274 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16275 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16276 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16277 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16278 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16279 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16280 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16281 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16282 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16283 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16284 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16285 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16286 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16287 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16288 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16289
92051871
CW
162902011-04-21 Colin Watson <cjwatson@ubuntu.com>
16291
16292 * grub-core/kern/emu/getroot.c
16293 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16294 test that was incorrectly reintroduced in r3214.
16295 Reported by: Ian Dall. Fixes Savannah bug #33133.
16296
b13f79a4
CW
162972011-04-21 Colin Watson <cjwatson@ubuntu.com>
16298
16299 Fix stack pointer handling in 16-bit relocator.
16300
16301 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16302 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16303 Fixes Ubuntu bug #683904.
16304
9b710a88
VS
163052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * configure.ac: Bump version to 1.99~rc2.
16308
d97e7b59
VS
163092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16312 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16313 * grub-core/lib/x86_64/setjmp.S: Likewise.
16314 * grub-core/lib/mips/setjmp.S: Likewise.
16315 * grub-core/lib/powerpc/setjmp.S: Likewise.
16316 * grub-core/lib/sparc64/setjmp.S: Likewise.
16317
0624551c
VS
163182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16321 * grub-core/lib/efi/datetime.c: Likewise.
16322
e8f28d4c
VS
163232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16326 New function.
16327 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16328 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16329 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16330
bba79a15
VS
163312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16334 bitmap.
16335 (grub_gfxterm_term_init): Likewise.
16336
abc474ef
VS
163372011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 Take into account the decorations the computing menu entry width.
16340
16341 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16342 (grub_gfxmenu_create_box): Register get_border_width.
16343 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16344 if available.
16345 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16346 get_border_width.
16347
e74b3947
EP
163482011-04-18 Endres Puschner <code@e7p.de>
16349
16350 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16351 Don't skip first class.
16352
34faa595
VS
163532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16356 chunks.
16357 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16358
93a777e3
VS
163592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 Complete 64-bit division support.
16362
16363 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16364 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16365 * include/grub/misc.h (grub_divmod64): Rename to ...
16366 (grub_divmod64_full): ... this.
16367 (grub_divmod64): New inline function.
16368
a5102d94
VS
163692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16372
f3fb7b36
VS
163732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16376 performing the necessary test.
16377
9ac718b0
VS
163782011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16381 (kfreebsd.elf): Likewise.
16382 (pc-chainloader.elf): Likewise.
16383 (ntldr.elf): Likewise.
16384
50d2cc5a
VS
163852011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16386
16387 Identify RAID by its UUID rather than (guessed) name.
16388
16389 * grub-core/disk/raid.c (ascii2hex): New function.
16390 (grub_raid_open): Accept mduuid/%s specification.
16391 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16392 (get_mdadm_uuid): ... this.
16393 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16394
e03f7bea
VS
163952011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16398 to negative size.
16399
e74c3112
CW
164002011-04-13 Colin Watson <cjwatson@ubuntu.com>
16401
16402 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16403 btrfs subvolume.
16404 * util/grub.d/20_linux_xen.in: Likewise.
16405
78fa584f
CW
164062011-04-13 Colin Watson <cjwatson@ubuntu.com>
16407
16408 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16409 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16410
16411 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16412 Build a list of relevant visible mounts using the mnt_id and
16413 parent_mnt_id fields, and then scan that list at the end.
16414
9d5f8162
CW
164152011-04-12 Colin Watson <cjwatson@ubuntu.com>
16416
16417 * docs/grub.texi (normal): New section.
16418 (normal_exit): New section.
16419 (Embedded configuration): Add reference to normal.
16420 (GRUB only offers a rescue shell): Likewise.
16421 * docs/grub-dev.texi (Error Handling): Fix typo.
16422
09a9d66f
CW
164232011-04-12 Colin Watson <cjwatson@ubuntu.com>
16424
16425 * NEWS: Drop obsolete entry about probe-only btrfs support.
16426
0c676933
CW
164272011-04-12 Colin Watson <cjwatson@ubuntu.com>
16428
16429 * util/import_gcry.py: Fix typo.
16430
ec9f5e0d
VS
164312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * NEWS: Add btrfs support.
16434
fe6b2cba
VS
164352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
164362011-04-11 Colin Watson <cjwatson@ubuntu.com>
16437
16438 BtrFS support. Written by me (Vladimir) with important bugfixes and
16439 even more important testing by Colin.
16440
16441 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16442 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16443 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16444 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16445 mem_input_off and mem_input. All users updated to accept in-RAM input.
16446 (gzio_seek): New function.
16447 (test_zlib_header): Likewise.
16448 (grub_gzio_read): Likewise.
16449 (grub_zlib_decompress): Likewise.
16450 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16451 Accept partial and non-virtual mounts.
16452 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16453 avoid receiving /dev/dm-X as device.
16454 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16455 Handle bind and partial mounts.
16456 * grub-core/lib/crc.c: New file.
16457 * include/grub/deflate.h: Likewise.
16458 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16459 proto.
16460 * include/grub/lib/crc.h: New file.
16461
e745cf0c
VS
164622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Implement automatic module license checking according to new GNU
16465 guidelines.
16466
16467 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16468 (grub_dl_load_core): Use grub_dl_check_license.
16469 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16470 (GRUB_MOD_LICENSE): Likewise.
16471 (GRUB_MOD_DUAL_LICENSE): Likewise.
16472 All modules updated.
16473
2a9bc016
CW
164742011-04-11 Colin Watson <cjwatson@ubuntu.com>
16475
16476 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16477 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16478 loaders.
16479 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16480
8a3bc88e
VS
164812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16484
af869a4a
VS
164852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16488 failed.
16489
9ee8d94f
VS
164902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16493 parenthesis in the middle of the filename.
16494
b01abe3e
VS
164952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16498 rather than trying to put initrd way too high.
16499 Reported by: Ryan Lortie <desrt@desrt.ca>
16500
335bda1e
VS
165012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16504 improperly removed string.
16505
5ca1a64d
VS
165062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16509 is_disk.
16510 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16511 (open_device) Likewise.
16512 (grub_util_biosdisk_close): Likewise.
d8ce9995 16513 Reported by: Mark Korenberg.
5ca1a64d 16514
cbac5b1e
AK
165152011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16516
16517 * util/grub-mkconfig_lib.in: Add missing quotes.
16518
088cdb65
CW
165192011-04-10 Colin Watson <cjwatson@ubuntu.com>
16520
16521 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16522 is NULL.
16523
8b8a81fa
VS
165242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 Dynamically count the number of lines for the lower banner.
16527
16528 * grub-core/normal/menu_entry.c (per_term_screen): New member
16529 num_entries.
16530 (print_down): Use num_entries.
16531 (update_screen): Likewise.
16532 (grub_menu_entry_run): Set num_entries.
16533 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16534 num_entries.
16535 (grub_print_message_indented): Move real part to ...
16536 (grub_print_message_indented_real): ... here. Additional argument
16537 dry_run.
16538 (draw_border): Additional argument num_entries.
16539 (print_message): Additional argument dry_run.
16540 (print_entries): Receive menu viewer data.
16541 (grub_menu_init_page): New argment num_entries.
16542 (menu_text_set_chosen_entry): Use num_entries.
16543 (grub_menu_try_text): Likewise.
16544 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16545 All users updated.
16546 (grub_ucs4_count_lines): New function.
16547 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16548 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16549 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16550 (grub_term_border_height): Likewise.
16551 (grub_term_num_entries): Likewise.
16552
277f955b
VS
165532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16556 Remove now unused string.
16557
536ce85a
CW
165582011-04-09 Colin Watson <cjwatson@ubuntu.com>
16559
16560 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16561 build system.
16562 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16563
16564 (Comment): Fix typo.
16565 (Getting started): General copy-editing.
16566 (Typical Development Experience): Likewise.
16567 (Error Handling): Likewise.
16568 (Video API): Likewise.
16569
2cf09e32
CW
165702011-04-09 Colin Watson <cjwatson@ubuntu.com>
16571
16572 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16573 throughout.
16574
1ec652f4
VS
165752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16576
16577 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16578 directory.
16579
2c583728
CW
165802011-04-08 Colin Watson <cjwatson@ubuntu.com>
16581
16582 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16583 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16584 "development".
16585
d7a565e9
VS
165862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16589 grub_strcpy since the lines aren't necessarily 0-terminated.
16590
7c2e4909
VS
165912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16594 root on legacy.
16595
34c09785
VS
165962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16599 (GRUB_MOD_INIT): DEVICE isn't optional.
16600
6a6f8058
VS
166012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16604 word on new line if it's too long anyway. Fixes a hang.
16605
2e335e90
VS
166062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16609 const.
16610 * util/grub-setup.c (main): Reuse md device name if available.
16611 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16612 not GRUB name as argument.
16613 Based on patch by: Florian Wagner <fwagner>.
16614
10a7a867
VS
166152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16618 Place mbi on low memory for better compatibility.
16619
7a3d6cd9
VS
166202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16623
18dd6b47
VS
166242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
166252011-04-08 Colin Watson <cjwatson@ubuntu.com>
16626
16627 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16628 * conf/Makefile.common: Likewise.
18dd6b47 16629
3c0e3f14
VS
166302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16631
f7148863
VS
16632 * grub-core/normal/menu.c: Add missing include.
16633
166342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16637
6d1fa41f
MZ
166382011-04-08 Martin Zuther <mzuther@mzuther.de>
16639
16640 * util/grub-mkconfig.in: Ignore emacsen backup.
16641
478182a8
VS
166422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16645 on open.
16646 (grub_util_biosdisk_close): Likewise.
16647
72a89a54
VS
166482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16651 const attribute and use grub_isdigit.
16652
b5ebecfa
A
166532011-04-06 Andrey <dev_null@ukr.net>
16654
16655 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16656 gcc warning.
16657
7755f66e
VS
166582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16661 useful grub_dprintf's.
16662
461121ff
VS
166632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16666
2a961775
VS
166672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16670
adf594cc
VS
166712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 Output errors if theme loading failed.
16674
16675 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16676 grub_gfxterm_fullscreen on error paths to ...
16677 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16678 theme loading error.
16679
665900a3
VS
166802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16683 space for older compilers.
16684 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16685
a562b479
VS
166862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16689 and report them as not RAID members since they are useless for GRUB.
16690 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16691
850e9373
VS
166922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 Increase LVM implementation robustness in order not to crash on
16695 configurations like pvmove. Previously code assumed that in some places
16696 only lvs or only pvs are used whereas it seems that they are used
16697 interchangeably.
16698
16699 * grub-core/disk/lvm.c (read_node): New function.
16700 (read_lv): Use read_node.
16701 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16702 Match volumes only at the end when all lvs are found. Take both
16703 pvs (first) and lvs (second) into account.
16704 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16705 mirror_* into node_*. All users updated.
16706 (grub_lvm_stripe): Merge this ...
16707 (grub_lvm_mirror): ... and this ...
16708 (grub_lvm_node): ... into this. All users updated.
16709
6f332153
VS
167102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16713 of function to allow further scanning for LVMs.
16714
829ea451
VS
167152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16718 on failed seek as it breaks open fd reusage.
16719
09ceb9a5
VS
167202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * util/grub-install.in: Add a recommendation to use --recheck before
16723 reporting bugs.
16724
67e11623
VS
167252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16728 are obtained.
16729
caee5efd
VS
167302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16731
16732 GRUB developper manual based on existing Internals section and
16733 contributions by the various authors with active copyright assignment.
16734
16735 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16736 * docs/font_char_metrics.png: New file.
16737 * docs/font_char_metrics.txt: Likewise.
16738 * docs/grub-dev.texi: Likewise.
16739 * docs/grub.texi (Internals): Move from here ...
16740 * docs/grub-dev.texi: ... here.
16741
2cccc747
CW
167422011-04-01 Colin Watson <cjwatson@ubuntu.com>
16743
16744 Store the loopback device as data on loopback grub_disk structures,
16745 rather than the file it points to. This fixes use of freed memory
16746 if an existing loopback device is replaced.
16747
16748 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16749 disk->data, not dev->file.
16750 (grub_loopback_read): Adjust file assignment to match.
16751 Fixes Ubuntu bug #742967.
16752
186ae367
CW
167532011-04-01 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16756 when replacing an existing device.
16757
cfed2ad0
VS
167582011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16761 memory corruptions.
16762
16763 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16764 unsigned.
16765 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16766 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16767 (grub_jfs_read_inode): Likewise.
16768 (grub_jfs_opendir): Likewise. Remove now useless casts.
16769 (grub_jfs_getent): Likewise.
16770 Make ino a grub_uint32_t rather than int.
16771 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16772 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16773 division and module with bit operations.
16774 (grub_jfs_find_file): Make ino a grub_uint32_t.
16775 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16776
05d2ed32
CW
167772011-04-01 Colin Watson <cjwatson@ubuntu.com>
16778
16779 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16780 warning. (This was in fact always initialised before use, but GCC
16781 wasn't smart enough to prove that.)
16782 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16783
91dc6073
VS
167842011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16787 stack alignment.
16788 (efi_wrap_1): Likewise.
16789 (efi_wrap_2): Likewise.
16790 (efi_wrap_3): Likewise.
16791 (efi_wrap_4): Likewise.
16792 (efi_wrap_5): Likewise.
16793 (efi_wrap_6): Likewise.
16794 (efi_wrap_10): Likewise.
16795 Based on information by: Red Hat/Peter Jones.
16796
a8afc1d1
CW
167972011-03-31 Colin Watson <cjwatson@ubuntu.com>
16798
16799 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16800 set-but-not-used variable.
16801
a826cc7d
CW
168022011-03-31 Colin Watson <cjwatson@ubuntu.com>
16803
16804 * docs/grub.texi (Simple configuration): Be more explicit about
16805 GRUB_DEFAULT, and add an example.
16806 Reported by: Leslie Rhorer.
16807
875b67ba
CW
168082011-03-30 Colin Watson <cjwatson@ubuntu.com>
16809
16810 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16811 shell".
16812
fd7cd914
AS
168132011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16814
16815 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16816 * util/grub.d/20_linux_xen.in: Likewise.
16817
090b1b6a
VS
168182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16819
16820 * util/grub.d/10_linux.in: Try alternative config filenames where
16821 we parse config file.
16822 * util/grub.d/20_linux_xen.in: Likewise.
16823
baad885c
AS
168242011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16825
16826 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16827 * util/grub.d/20_linux_xen.in: Likewise.
16828
241e41f5
VS
168292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/disk/raid.c (insert_array): Add few potentially
16832 useful grub_util_info.
16833 (grub_raid_register): Likewise.
16834
56445fb2
VS
168352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16838 Preserve partition number in mdadm code path.
16839
c871b1c6
VS
168402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16843 few potentially useful grub_util_info.
16844
5e631b4f
CW
168452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16848
2d5d0333
CW
168492011-03-30 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * docs/grub.texi (default): Use @example rather than nested
16852 itemized lists to avoid breaking gendocs.
16853
3d7ed04e
CW
168542011-03-30 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * docs/grub.texi (Future): Update.
16857
abf04200 168582011-03-30 Colin Watson <cjwatson@ubuntu.com>
16859
16860 * docs/grub.texi (Environment): New chapter.
16861 (Changes from GRUB Legacy): Link to "Environment block" section for
16862 details of limitations.
16863 (Simple configuration): Likewise. Link to documentation of gfxmode
16864 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16865 respectively.
16866 (Shell-like scripting): Note that normal variables are stored in the
16867 environment.
16868 (gettext): Link to documentation of lang and locale_dir.
16869 (list_env): New section.
16870 (load_env): New section.
16871 (save_env): New section.
16872
16873 (Reporting bugs): Fix typo.
16874
e1ad0edd
VS
168752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16876
16877 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16878 the example.
16879
5d803174
VS
168802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * grub-core/term/at_keyboard.c (set_scancodes)
16883 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16884
2a2da1d0
CW
168852011-03-30 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * docs/grub.texi (Menu-specific commands): Remove some semantics
16888 that were true in GRUB Legacy but not in GRUB 2.
16889 (submenu): New section.
16890 (false): New section.
16891 (read): New section.
16892 (true): New section.
16893
a7527639
CW
168942011-03-30 Colin Watson <cjwatson@ubuntu.com>
16895
16896 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16897
168982011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16899
16900 * docs/grub.texi (Simple configuration): Explain some of the
16901 current limitations of grub-mkconfig.
8a748df2 16902 Reported by: Leslie Rhorer.
e30af029 16903
fc858482
VS
169042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 Old macs search for boot.efi rather than for bootia32.efi.
16907
16908 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16909 * util/grub-mkrescue.in: Likewise.
16910 Suggested by: Peter Jones.
16911
e1eb511d
VS
169122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16915
70e75364
VS
169162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16919 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16920 (grub_lvm_mirror): New struct.
16921 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16922 (grub_lvm_iterate): Iterate only visible volumes.
16923 (grub_lvm_read): Factor out to ..
16924 (read_lv): ... this. Support mirrors.
16925 (grub_lvm_read): New wrapper function.
16926 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16927 stripped or mirrored.
16928
fc18f6a3
VS
169292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16930
16931 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16932
5c650f4c
CW
169332011-03-29 Colin Watson <cjwatson@ubuntu.com>
16934
16935 * docs/grub.texi (loopback): New section.
16936
61d7156b
CW
169372011-03-29 Colin Watson <cjwatson@ubuntu.com>
16938
16939 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16940 removed -p option.
16941
994b8264
CW
169422011-03-29 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * docs/grub.texi (BIOS installation): New section, partly based on
16945 previous text in other sections.
16946 (Installing GRUB using grub-install): Replace BIOS discussion with a
16947 cross-reference.
16948 (Images): Likewise.
16949
9e4d19e0
VS
169502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16953 [HAVE_DIOCGDINFO]: Add safety checks.
16954
a307c0b2
VS
169552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16958 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16959
b4db4f39
CW
169602011-03-29 Colin Watson <cjwatson@ubuntu.com>
16961
16962 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16963 real_sb->size is zero (e.g. RAID-0), get the disk size from
16964 real_sb->data_size instead.
16965 Fixes Ubuntu bug #743136.
16966
35e5f84c
VS
169672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16970 printf clauses for printing size and start.
16971
d2e29d81
VS
169722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16975 Reported and tested by: Timothy Nikkel.
16976
ed5587af
VS
169772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16980 (dirty_region_add_real): ... this.
16981 (dirty_region_add): Don't discard margin refresh when performing
16982 scheduled repaint.
16983
a1dc717c
VS
169842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 * grub-core/lib/relocator.c (allocate_regstart)
16987 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16988 terminals are capabple of malloc-free operation.
16989 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16990 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16991
9f3677d3
VS
169922011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16993
16994 * util/grub-setup.c: Copy the partition table zone if floppy support
16995 is disabled, even if no partition table is found.
16996
16997 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16998 during POST if an invalid partition table is contained in the PBR
16999 of the active partition when GRUB is installed to a partition.
17000
24148725
CW
170012011-03-28 Colin Watson <cjwatson@debian.org>
17002
17003 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17004 comment.
17005
f329eda7
CW
170062011-03-28 Colin Watson <cjwatson@debian.org>
17007
17008 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17009 to be specific about what kind of RAID device we're scanning for.
17010
c482ad98
SG
170112011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17012
17013 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17014 return freed string.
17015
5ee04984
VS
170162011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17019
f4727da9
VS
170202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Use libgeom on FreeBSD to detect partitions.
17023
17024 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17025 (grub-mkrelpath): Likewise.
17026 (grub-script-check): Likewise.
17027 (grub-editenv): Likewise.
17028 (grub-mkpasswd-pbkdf2): Likewise.
17029 (grub-fstest): Likewise.
17030 (grub-mkfont): Likewise.
17031 (grub-mkdevicemap): Likewise.
17032 (grub-probe): Likewise.
17033 (grub-setup): Likewise.
17034 (grub-ofpathname): Likewise.
17035 (grub-mklayout): Likewise.
17036 (example_unit_test): Likewise.
17037 (grub-menulst2cfg): Likewise.
17038 * grub-core/Makefile.core.def (grub-emu): Likewise.
17039 (grub-emu-lite): Likewise.
17040 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17041 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17042 define HAVE_DIOCGDINFO.
17043 (follow_geom_up) [FreeBSD]: New function.
17044 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17045 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17046 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17047 unconditionally of HAVE_DIOCGDINFO.
17048
82fe6c75
VS
170492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 Fix FreeBSD compilation problem.
17052
17053 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17054 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17055
4c6c9431
CW
170562011-03-24 Colin Watson <cjwatson@ubuntu.com>
17057
17058 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17059 Switch back to page zero before loading a kernel, since some kernel
17060 drivers expect that.
17061 Thanks to: Felix Kuehling.
17062
c7064d94
VS
170632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17066 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17067 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17068
3f71cded
VS
170692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17072 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17073
ef6de21a
VS
170742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17077 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17078 malloc is disabled.
17079
8bc66a2c
VS
170802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17083 for modules headers when counting the needed allocation size.
17084
5657722c
VS
170852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17088 if no ASCII character is found to prevent crash.
17089
41a85f55
AK
170902011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17091
17092 * grub-core/video/bitmap.c (match_extension): Ignore case.
17093
59e1e5f1
VS
170942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17097
bd4d051a
VS
170982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/script/parser.y: Declare "time" as valid argument.
17101
bae7fcc1
PJ
171022011-03-23 Peter Jones <pjones@redhat.com>
17103
17104 Fix incorrect assert failure reporting.
17105
17106 * grub-core/tests/example_functional_test.c (example_test): Add
17107 a failure comment.
17108 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17109 (failure_start): ...this. Check that malloc succeeded.
17110 Don't call xvasprintf. Return failure struct.
17111 (failure_append_vtext): New function.
17112 (failure_append_text): Likewise.
17113 (add_failure): Likewise.
17114 (grub_test_assert_helper): Likewise.
17115 * include/grub/test.h (grub_test_assert_helper): New declaration.
17116 (grub_test_assert): Macro rewritten.
17117
537dc9be
VS
171182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17121
fa3e01bf
VS
171222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17125
b1d28404
VS
171262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17129 into GRUB-style one.
17130
2e3e2e09
VS
171312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17134 error and not grub_errno.
17135 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17136
ed57e557
VS
171372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17140 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17141
d1611f01
VS
171422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/efiemu/i386/pc/cfgtables.c
17145 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17146 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17147 (grub_xnu_unlock): Likewise.
17148 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17149
7d4e39d6
VS
171502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17153 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17154 * grub-core/commands/hashsum.c (aliases): Likewise.
17155 * grub-core/commands/setpci.c (pci_registers): Likewise.
17156 * grub-core/disk/usbms.c (attach_hook): Likewise.
17157 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17158 (zio_checksum_table): Likewise.
17159 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17160 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17161 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17162 * grub-core/lib/relocator.c (leftovers): Likewise.
17163 (extra_blocks): Likewise.
17164 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17165 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17166 (modules_last): Likewise.
17167 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17168 (devices): Likewise.
17169 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17170 (modules_last): Likewise.
17171 * grub-core/normal/auth.c (users): Likewise.
17172 * grub-core/normal/context.c (initial_menu): Likewise.
17173 (current_menu): Likewise.
17174 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17175 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17176 (grub_serial_terminfo_input_template): Likewise.
17177 (grub_serial_terminfo_output_template): Likewise.
17178 (grub_serial_terminfo_input): Likewise.
17179 (grub_serial_terminfo_output): Likewise.
17180 (registered): Likewise.
17181 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17182
40fc4659
VS
171832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17186 grub_video_mode_type_t.
17187 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17188 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17189 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17190
2da48d28
VS
171912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * util/grub-install.in: Correct the x86-64 name as x86_64.
17194
9b43bf39
CW
171952011-03-11 Colin Watson <cjwatson@ubuntu.com>
17196
17197 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17198 initial chunk read from the kernel always includes GRUB's multiboot
17199 header, which is now outside the first sector.
17200
be1a7ce0
CW
172012011-03-09 Colin Watson <cjwatson@ubuntu.com>
17202
17203 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17204 cached mmap_size, so that this works correctly when called multiple
17205 times.
17206 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17207
83a3c48d
CW
172082011-03-09 Colin Watson <cjwatson@ubuntu.com>
17209
17210 * docs/grub.texi (Simple configuration): Tidy up formatting.
17211
57d75699
SJ
172122011-03-07 Szymon Janc <szymon@janc.net.pl>
17213
17214 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17215 Set-but-not-used variable removed.
17216
028501a0
VS
172172011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 Workaround yet another IEEE1275 bug.
17220
17221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17222 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17223 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17224 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17225 is set.
17226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17227 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17228
d998657d
VS
172292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17232 error.
17233
fee7cdd4
CW
172342011-02-11 Colin Watson <cjwatson@ubuntu.com>
17235
17236 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17237 empty, since in that case we can only generate either nothing or a
17238 syntactically invalid configuration file.
17239 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17240
97286eb5
CW
172412011-02-09 Colin Watson <cjwatson@ubuntu.com>
17242
17243 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17244 (Making a GRUB bootable CD-ROM): Likewise.
17245 (Invoking grub-mkrescue): New section.
17246 Reported by: Yann Dirson. Fixes Debian bug #612585.
17247
22b28eb3
CW
172482011-02-09 Colin Watson <cjwatson@ubuntu.com>
17249
17250 * util/grub-install.in: Remove unnecessary brackets from tr
17251 arguments.
17252 * util/grub.d/10_hurd.in: Likewise.
17253 * util/grub.d/10_kfreebsd.in: Likewise.
17254 * util/grub.d/10_linux.in: Likewise.
17255 * util/grub.d/20_linux_xen.in: Likewise.
17256 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17257
7e735e43
CW
172582011-02-08 Colin Watson <cjwatson@ubuntu.com>
17259
17260 * include/grub/file.h (not_easly_seekable): Rename to ...
17261 (not_easily_seekable): ... this. Update all users.
17262
800f1881
CW
172632011-01-28 Colin Watson <cjwatson@ubuntu.com>
17264
17265 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17266 grub-mkrescue.
17267
3281d3d6
VS
172682011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * util/grub-mkimage.c (generate_image): Refuse to create the images
17271 bigger than the actual flash (512K) in Loongson machines. 512K is also
17272 the biggest chip supported by them.
17273
3533413c
VS
172742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17277
73ae4f4f
VS
172782011-01-22 Anthony DeRobertis <anthony@derobert.net>
17279
17280 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17281 super_offset field.
17282
37f4f608
VS
172832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * util/grub-install.in: Ignore install device on platforms
17286 where it doesn't make sense. Always use UUIDs except on pc, efi and
17287 sparc64.
17288 Reported by: Daniel Kahn Gillmor.
17289
03a4ccb5
VS
172902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17293
ffc8f4d8
VS
172942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17297 (iterate_real): Don't rely on partition being non-NULL.
17298
80f23be7
VS
172992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17302 supported platforms. Put a compile time assert for this rather than
17303 generate a warning with 32-bit shift.
17304
5d4f4dd5
VS
173052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17308 logical expression more readable.
17309
e489601a
VS
173102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17313 even if some elements have a name.
17314 Reported by: Alexander GQ Gerasiov.
17315
96e0a6ea
CW
173162011-01-22 Colin Watson <cjwatson@ubuntu.com>
17317
17318 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17319 path unreadable if `grub-probe -t abstraction' fails, for example if
17320 memberlist fails on an LVM volume group.
17321 Reported by: Darius Jahandarie.
17322
81431e2b
CW
173232011-01-22 Colin Watson <cjwatson@ubuntu.com>
17324
17325 * docs/grub.texi (Simple configuration): Document
17326 GRUB_PRELOAD_MODULES.
17327
5e79d66a
CW
173282011-01-17 Colin Watson <cjwatson@ubuntu.com>
17329
17330 * .bzrignore: Remove nonexistent grub-pbkdf2.
17331
646ada34
VS
173322011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17333
17334 * configure.ac: Bump version to 1.99~rc1.
17335
04360337
VS
173362011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17339 for safety.
17340
46c9db88
VS
173412011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17344 module.
17345
173462011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17347
17348 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17349
4fbf1852
VS
173502011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17353 diskdevid.
17354
f1632d4d
VS
173552011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 Fix compilation on cygwin.
17358
17359 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17360 -R .drectve on cygwin.
17361 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17362 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17363 (COND_CYGWIN): New condition.
17364 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17365 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17366 not @TARGET_OBJ2ELF@.
17367 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17368 type to determine whether aux is to be used.
17369
0b5e127b
VS
173702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17371
17372 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17373 realpath'ed device string.
17374 Handle floppy (somewhat).
17375 Issue error in unknown case rather than garbage.
17376 Reported by: Axel Beckert.
17377
173b71e9
VS
173782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * util/grub.d/00_header.in (load_video): Handle the case when no video
17381 drivers available.
17382 Thanks to: Axel Beckert.
17383
f8f479db
VS
173842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17387 variable. Fixes problem on big endian platforms.
17388
8fc0a245
VS
173892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17392 It doesn't work well there.
17393
b8494fbe
VS
173942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17397 warning.
17398 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17399 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17400 counter.
17401
b44a558c
VS
174022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Use alias->path rather than buggy "canon".
17405
17406 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17407 (ofdisk_hash_add): New argument curcan. All users updated.
17408
51fa856c
CW
174092011-01-11 Colin Watson <cjwatson@ubuntu.com>
17410
17411 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17412
9da068a5
VS
174132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17416 loadmask before doing any calculations. Use correct type for offset.
17417 (grub_linux_load64): Likewise.
17418
86205c94
CW
174192011-01-11 Colin Watson <cjwatson@ubuntu.com>
17420
17421 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17422 with NULL.
17423 (console_grub_equivalences_unshift): Likewise.
17424 Reported by: Daniel Dehennin.
17425
4531a206
VS
174262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17429 (set_env_limn_ro): Likewise.
17430 (GRUB_MOD_INIT): Likewise.
17431 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17432 ARRAY_SIZE while on it.
17433 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17434 * grub-core/normal/context.c (grub_env_export): Move from here ...
17435 * grub-core/kern/env.c (grub_env_export): ... here.
17436 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17437 prefix.
17438 * grub-core/kern/main.c (grub_main): Export root and prefix.
17439 * include/grub/env.h (grub_env_export): Export.
17440 Reported by: Seth Goldberg.
17441
45146057
VS
174422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17445 Take into account space used by ELF sections and multiboot palette.
17446 Reported by: Grégoire Sutre.
17447
f093110b
VS
174482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 * BUGS: New file.
17451
3395fe52
VS
174522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 Pass more appropriate video id to Linux.
17455
17456 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17457 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17458 fill have_vga.
17459 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17460 shift params->lfb_size.
17461 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17462
c2fa6cbb
VS
174632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17466
b3ff6ff0
VS
174672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17470 separator and pass bootpath/devid even if only one of them is available.
17471 Reported by: Seth Goldberg.
17472
ae67942e
VS
174732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17476 implementations bug on them.
17477
17478 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17479 memory.
17480 (filter_memory_map): Likewise.
17481
d570097a
VS
174822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17485 Reported by: nebuchadnezzar.
17486
a508e776
VS
174872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17490 Reported by: nebuchadnezzar.
17491
dcb883b1
VS
174922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 Submenu default support.
17495
17496 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17497 auto_boot. All users updated.
17498 Declared static.
17499 Handle chosen and default with submenus.
17500 (grub_menu_execute_with_fallback): Declared static.
17501 Don't notify failure if autobooted. Upper level does it.
17502 (menuentry_eq): New function.
17503 (get_entry_number): Use menuentry_eq.
17504 (show_menu): New parameter "autobooted". All users updated.
17505 (grub_show_menu): Likewise.
17506 * include/grub/normal.h (grub_show_menu): Likewise.
17507 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17508 (grub_menu_execute_with_fallback): Likewise.
17509
6fef99b4
VS
175102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17511
17512 * util/grub-mklayout.c (usage): Update help text.
17513
47a77af5
VS
175142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17517
ce6bb3ee
VS
175182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * util/grub-menulst2cfg.c (main): Trim the line.
17521
db87be2a
VS
175222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17525 (grub_machine_init): Don't check amount of low memory as reportedly
17526 INT 12h can be broken and if low memory is too low we wouldn't have
17527 gotten into grub_machine_init anyway.
17528
c49849cc
VS
175292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17532 (grub_machine_mmap_iterate): Take low memory into account
17533
b1969b30
VS
175342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17537 badfs.
17538 Reported by: TiCPU.
17539
cf0eaf13
VS
175402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17543 members errors.
17544
1f060f39
GS
175452011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17546
17547 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17548 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17549
a21e5672
GS
175502011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17551
17552 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17553 openbsd and netbsd types being in part_bsd module.
17554
c88172fa
VS
175552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17558 (_FILE_OFFSET_BITS): Likewise.
17559 Reported by: Seth Goldberg.
17560
53798c4b
GS
175612011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17562
17563 * configure.ac: Check for libdevmapper header.
17564
e7121b69
VS
175652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17568 avoid aliasing.
17569 (fzap_lookup): Likewise.
17570 (dnode_get): Likewise.
17571 (make_mdn): Likewise.
17572 (zfs_mount): Likewise.
17573 (fzap_iterate): Use temporary pointer to avoid aliasing.
17574 (grub_zfs_read): Likewise.
17575 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17576 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17577 pointers to avoid aliasing.
17578 (grub_cmd_xnu_kernel64): Likewise.
17579 (grub_xnu_load_driver): Likewise.
17580
fc836af9
VS
175812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17582
17583 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17584 aliasing warning.
17585 (grub_cmd_terminal_output): Likewise.
17586 Reported and tested by: Grégoire Sutre.
17587
f9f37648
VS
175882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17591 warning.
17592 Reported and tested by: Grégoire Sutre.
17593
ec1dfd63
VS
175942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * configure.ac: Do CPU substitution even if it's specified explicitly.
17597 Reported and tested by: Alain Greppin.
17598
9462775a
VS
175992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17602 Reported and tested by: Alain Greppin.
17603
0fd48e35
VS
176042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 Satisfy some bison versions need for inttypes.h.
17607
17608 * grub-core/lib/posix_wrap/inttypes.h: New file.
17609 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17610 (int16_t): Likewise.
17611 (int32_t): Likewise.
17612 (int64_t): Likewise.
17613 Reported and tested by: Alain Greppin.
17614
43f1bc83
VS
176152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17618 Silence spurious warning.
17619 Reported and tested by: Alain Greppin.
17620
64d1f041
SJ
176212011-01-07 Szymon Janc <szymon@janc.net.pl>
17622
17623 * docs/grub.texi (Support automatic decompression): Update with xz
17624 decompression support.
17625
25953e10
SJ
176262011-01-07 Szymon Janc <szymon@janc.net.pl>
17627
17628 Improve loaders' kernel command line handling.
17629
17630 * grub-core/lib/cmdline.c: New file.
17631 * include/grub/lib/cmdline.h: Likewise.
17632 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17633 grub_create_loader_cmdline to create kernel command line.
17634 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17635 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17636 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17637 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17638 (linux): Add lib/cmdline.c on common.
17639
e72d259f
VS
176402011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17643 inopos might be unaligned.
17644
c0cf26da
VS
176452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17648 endian transformations.
17649 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17650 Based on report by: Doug Nazar.
17651
0ca09e6c
DN
176522011-01-07 Doug Nazar <nazard.michi@gmail.com>
17653
17654 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17655 array->members[i].start_sector.
17656 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17657
014b6806
VS
176582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17661 Reported and tested by: Grégoire Sutre.
17662
415502c2
CW
176632011-01-06 Colin Watson <cjwatson@ubuntu.com>
17664
17665 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17666 avoid causing test failures by clearing the screen.
17667
71b6a2b7
CW
176682011-01-06 Colin Watson <cjwatson@ubuntu.com>
17669
17670 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17671 Fix prefix check to handle the case where dir ends with a slash
17672 (most significantly, "/" itself).
17673 Reported by: Michael Vogt.
17674
b3f8d28a
VS
176752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 Run terminfo_cls on initing terminfo output to clear the screen and
17678 move the cursor to (0,0).
17679
17680 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17681 Call grub_terminfo_output_init.
17682 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17683 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17684 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17685
4c3e4f37
VS
176862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17689 only when needed.
17690
488f71f1
VS
176912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17694 CTRL.
17695
18a38098
VS
176962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 The E820 type 5 is BADRAM, not EXEC_CODE.
17699
17700 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17701 (GRUB_E820_BADRAM): New define.
17702 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17703 into reserved. Propagate BADRAM.
17704 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17705 (GRUB_E820_BADRAM): New define.
17706
9eae2084
VS
177072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17710 Ignore the memory post-4G.
17711 (grub_relocator_firmware_alloc_region): Additional debug statement.
17712
ebc71d28
VS
177132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17716 names.
17717 Reported by: David Pravec.
17718
446fa400
VS
177192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17722 BIOSes.
17723
a0159f37
VS
177242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17727 Prevent overflow.
17728 (grub_reed_solomon_recover): Likewise.
17729
e5146ca1
VS
177302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17733
177342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17735
17736 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17737 variable.
17738
5b1bdf12
CW
177392011-01-04 Colin Watson <cjwatson@ubuntu.com>
17740
17741 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17742 descriptions of extract_legacy_entries_source and
17743 extract_legacy_entries_configfile.
17744 Reported by: Seung Soo, Ha.
17745
99d925aa
CW
177462011-01-03 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17749 on devices that do not implement function 0.
17750
4af0504b
DV
177512011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17752
17753 * grub-core/fs/hfsplus.c: Make parent unsigned.
17754 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17755 overflows.
17756 (grub_hfsplus_cmp_extkey): Likewise
17757
469ee10a
VS
177582011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17759
17760 * util/grub-install.in: Correctly use bootloader_id and not
17761 GRUB_DISTRIBUTOR on efibootmgr line.
17762
323a8e9c
VS
177632011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17766
1b394975
IC
177672010-12-31 Ian Campbell <ijc@hellion.org.uk>
17768
17769 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17770 Xen and reorder menu item wording to make it clearer that this entry
17771 will launch Xen. Print separate messages when loading Xen and
17772 Linux.
17773
275bff5f
VS
177742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17777 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17778 loop in case of incorrect amiga partmap.
17779
307806cb
VS
177802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17781
17782 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17783 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17784 Reported by:EHeM.
17785
b12b923e
VS
177862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17789 spurious warning.
17790 Reported by: crocket
17791
14b48a19
VS
177922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17795 Preload EFIemu.
17796 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17797
693db2df
VS
177982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17801 is loaded
17802 (grub_cmd_xnu_kextdir): Likewise.
17803 (grub_cmd_xnu_splash): Likewise.
17804
c7638645
VS
178052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 Avoid using Reed-Solomon with 0 redundancy.
17808
17809 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17810 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17811 or 0 redundancy.
17812 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17813 (grub_reed_solomon_recover): Likewise.
17814
25dd4780
VS
178152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 Don't use disk subsystem in freebsd_boot.
17818
17819 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17820 (freebsd_biosdev): Likewise.
17821 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17822 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17823
0b2db943
VS
178242010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 Handling of files of unknown size is currently limited. They can't be
17827 used e.g. for initrd or modules. Moreover gzip handling of not
17828 easily seekable files is buggy. Disable unknown file size for now. May
17829 be inefficient but works.
17830
17831 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17832 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17833
5c408d0f
MP
178342010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17835
17836 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17837 floppy probe.
17838
190a011a
JD
178392010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17840
17841 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17842
022d01b8
SL
178432010-12-25 Shea Levy <shlevy>
17844
17845 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17846
c4855fdc
VS
178472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17850 Windows Server 2008.
17851 Reported by: Devin Giddings.
17852
0354b867
VS
178532010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17856 writing an error message because of async power management.
17857 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17858 (grub_reboot): Likewise.
17859
ab66c69f
JU
178602010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17861
17862 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17863 keep unit tests from failing when they shouldn't.
17864
1426ef35
CW
178652010-12-21 Colin Watson <cjwatson@ubuntu.com>
17866
17867 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17868 previous patch increased the size of the RS code by 20 bytes (at
17869 least with gcc-4.4), so increase this by 20 bytes to match.
17870 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17871
20641b6b
CW
178722010-12-21 Colin Watson <cjwatson@ubuntu.com>
17873
17874 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17875 scratch area. Make sure to initialise chosen in standalone mode as
17876 well as non-standalone.
17877 Reported by: Robert Hooker and Andy Whitcroft.
17878 Tested by: Andy Whitcroft.
17879
d060ad60
CW
178802010-12-21 Colin Watson <cjwatson@ubuntu.com>
17881
17882 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17883 constructing a new unescaped string and passing it to grub_xputs in
17884 one go, rather than passing characters to grub_printf one at a time.
17885
b889cfad
CW
178862010-12-21 Colin Watson <cjwatson@ubuntu.com>
17887
17888 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17889 initialising utf16.
17890
4e01b6c8
CW
178912010-12-21 Colin Watson <cjwatson@ubuntu.com>
17892
17893 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17894 comment. Add an extra layer of quotation, requiring the output of
17895 this function to be used in a printf format string.
17896 (gettext_printf): New function.
17897 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17898 Extract translatable strings from here-documents and use a temporary
17899 variable instead, so that xgettext can find them.
17900 * util/grub.d/10_kfreebsd.in: Likewise.
17901 * util/grub.d/10_linux.in: Likewise.
17902 * util/grub.d/20_linux_xen.in: Likewise.
17903
17904 * po/grub.d.sed: New file.
17905 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17906 arguments. Set c-format flags on all strings extracted from
17907 util/grub.d/ (xgettext refuses to include these itself for strings
17908 it extracted from a shell file, but these really are c-format).
17909
5318fe98
VS
179102010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17913 Avoid next pointing to nowhere.
17914
6c85b743
VS
179152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17918 rather than assuming than rootblock is exactly in the middle.
17919 (grub_affs_label): Likewise.
17920
a2a08a35
VS
179212010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17924 reserved_first_sector to 0.
17925 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17926 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17927 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17928
7059d1ec
VS
179292010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 Fix handling of UTF-16 UDF labels.
17932
17933 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17934 (read_string): .. here.
17935 (grub_udf_label): Use read_string.
17936
30aff4cb
BC
179372010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17938
17939 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17940 editor under argument scope.
17941 Reported by: Jordan Uggla
17942
5cf86f4b
VS
179432010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17946
32570200
CW
179472010-12-18 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17950 line, and other keys scroll an entire page (previous handling was
17951 for \r and \n to scroll a page and other keys to scroll two lines).
17952
e1dffcf2
VS
179532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17956 Set ptrdest to correct get_physical_target_address rather than
17957 incorrect get_virtual_current_address.
17958
b04298cf 179592010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17960
17961 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17962 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17963
5367ecd3
CW
179642010-12-10 Colin Watson <cjwatson@ubuntu.com>
17965
17966 * .bzrignore: Ignore grub-core/rs_decoder.S.
17967
1fb430f8
CW
179682010-12-10 Colin Watson <cjwatson@ubuntu.com>
17969
17970 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17971 .mo/.mo.gz opening sequence to ...
17972 (grub_mofile_open_lang): ... here.
17973 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17974 * util/grub.d/00_header.in (grub_lang): Include country part of
17975 locale.
17976 Reported by: Mario Limonciello.
17977
a94a6671
RM
179782010-12-09 Robert Millan <rmh@gnu.org>
17979
17980 * NEWS: Document addition of ZFS support.
17981
24b7938b
CW
179822010-12-04 Colin Watson <cjwatson@ubuntu.com>
17983
17984 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17985 rather than `/ 2', as the latter requires -Wa,--divide which would
17986 require bumping our minimum binutils version.
17987
bddc3ef6
BC
179882010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17989
17990 * util/grub-script-check.c (main): Print script line number on
17991 error.
17992
bf78d5b2
RM
179932010-12-01 Robert Millan <rmh@gnu.org>
17994
17995 * grub-core/fs/zfs/zfs.c: New file.
17996 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17997 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17998 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17999 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18000
18001 * include/grub/zfs/dmu.h: Likewise.
18002 * include/grub/zfs/dmu_objset.h: Likewise.
18003 * include/grub/zfs/dnode.h: Likewise.
18004 * include/grub/zfs/dsl_dataset.h: Likewise.
18005 * include/grub/zfs/dsl_dir.h: Likewise.
18006 * include/grub/zfs/sa_impl.h: Likewise.
18007 * include/grub/zfs/spa.h: Likewise.
18008 * include/grub/zfs/uberblock_impl.h: Likewise.
18009 * include/grub/zfs/vdev_impl.h: Likewise.
18010 * include/grub/zfs/zap_impl.h: Likewise.
18011 * include/grub/zfs/zap_leaf.h: Likewise.
18012 * include/grub/zfs/zfs.h: Likewise.
18013 * include/grub/zfs/zfs_acl.h: Likewise.
18014 * include/grub/zfs/zfs_znode.h: Likewise.
18015 * include/grub/zfs/zil.h: Likewise.
18016 * include/grub/zfs/zio.h: Likewise.
18017 * include/grub/zfs/zio_checksum.h: Likewise.
18018
18019 * Makefile.util.def: Build ZFS into libgrubmods.
18020 * grub-core/Makefile.core.def: Build zfs.mod.
18021
3f0f3831
SJ
180222010-11-30 Szymon Janc <szymon@janc.net.pl>
18023
18024 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18025 variable.
18026 * grub-core/commands/wildcard.c (match_files): Likewise.
18027
3a4253b2
RM
180282010-11-30 Robert Millan <rmh@gnu.org>
18029
18030 * grub-core/loader/i386/bsd.c
18031 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18032 whether kernel is loaded using grub_loader_is_loaded(), rather
18033 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18034 certain error conditions.
18035
8c317b27
RM
180362010-11-30 Robert Millan <rmh@gnu.org>
18037
c5c9cd3e
RM
18038 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18039 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18040
49d3ab46
VS
180412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Avoid using tricks for initialising endian variables.
18044
18045 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18046 Make const.
18047 (GRUB_MOD_INIT): Don't byte-swap.
18048 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18049 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18050 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18051 (grub_swap_bytes32_compile_time): Likewise.
18052 (grub_cpu_to_le32_compile_time): Likewise.
18053 (grub_cpu_to_le16_compile_time): Likewise.
18054
f420a804
VS
180552010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * util/grub-setup.c (setup): Stop recommending --force. People who
18058 understand the dangers of blocklists are able to find this option
18059 anyway and the ones who don't shouldn't use it anyway.
18060
4e7db17b
RM
180612010-11-26 Robert Millan <rmh@gnu.org>
18062
18063 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18064 Update all users.
18065
9be57a0d
CW
180662010-11-26 Colin Watson <cjwatson@ubuntu.com>
18067
18068 Fix LVM-on-RAID probing.
18069
18070 * util/grub-probe.c (probe): Remember which disk was detected as
18071 RAID (perhaps an LVM physical volume). Use that disk's raidname
18072 rather than that of the top-level disk.
18073
2c7859b3 180742010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18075
d7647bb6
BC
18076 Fix cmdline argument quotes for setparams command of menuentry
18077 definitions.
7e623b0d
BC
18078
18079 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18080 quotes for arguments.
f866fe80 18081 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18082 grub_strchrsub function instead.
f866fe80 18083
7955bea0 18084 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18085
74f72a64
CW
180862010-11-24 Colin Watson <cjwatson@ubuntu.com>
18087
18088 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18089 effort by skipping "." and ".." entries up-front.
18090 Suggested by: Michael Lazarev.
18091
5a407278
CW
180922010-11-24 Colin Watson <cjwatson@ubuntu.com>
18093
18094 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18095 ldflags to ldadd, to fix link line ordering.
18096 (none_decompress): Likewise.
18097
3030d8ec
CW
180982010-11-24 Colin Watson <cjwatson@ubuntu.com>
18099
18100 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18101 platforms.
18102 (grub-emu-lite): Remove kern/emu/cache.S.
18103
b7fbac12
CW
181042010-11-23 Colin Watson <cjwatson@ubuntu.com>
18105
18106 * util/deviceiter.c (compare_devices): If the by-id link for a
18107 device couldn't be resolved, fall back to sorting by the by-id link
18108 rather than segfaulting.
18109 Reported and tested by: Daniel Mierswa.
18110
5225f328
CW
181112010-11-23 Colin Watson <cjwatson@ubuntu.com>
18112
18113 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18114 ldflags, to fix link line ordering.
18115
038b3ce8
CW
181162010-11-23 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18119 linkers are picky about this.
18120
bf16e98e
CW
181212010-11-23 Colin Watson <cjwatson@ubuntu.com>
18122
18123 * grub-core/Makefile.am (command.lst): Adjust sed expression
18124 ordering so that extended and priority commands aren't treated as
18125 ordinary commands.
18126
7242bab6
CW
181272010-11-23 Colin Watson <cjwatson@ubuntu.com>
18128
18129 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18130 Remove byte-swapping function calls, which are not valid in
18131 structure initialisers.
18132 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18133 non-const.
18134 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18135 grub_gpt_partition_type_bios_boot.
18136
14e8b279
CW
181372010-11-22 Colin Watson <cjwatson@ubuntu.com>
18138
18139 Fix test program build on GNU/kFreeBSD.
18140
18141 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18142 $(LIBNVPAIR)' library dependencies.
18143
e6f63338 181442010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18145
18146 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18147
cf8ffc38
CW
181482010-11-22 Colin Watson <cjwatson@ubuntu.com>
18149
18150 * util/grub-install.in: Remove excessive quoting that broke
18151 installations to RAID devices.
18152
7f8b0fd7
VS
181532010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18156 bootloader version instead of 0.
18157
dfd240b1
VS
181582010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18161 warning.
18162
7b61e609
VS
181632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18166 retrieve the metadat sector if size isn't known.
18167 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18168
9dfe92d0
RM
181692010-11-18 Robert Millan <rmh@gnu.org>
18170
18171 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18172 with grub_memcmp().
18173
41cc919e
VS
181742010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18177 arrow.
18178 Reported by: Jordan Uggla.
18179
1afcc914
VS
181802010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 Make better UTF compliant.
18183
18184 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18185 sequences as incorrect.
18186 (grub_is_valid_utf8): Likewise.
18187 (grub_utf8_to_ucs4): Likewise.
18188 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18189 (grub_ucs4_to_utf8_alloc): Likewise.
18190 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18191
f1808884
VS
181922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 Make legacy_source behave like source.
18195
18196 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18197 grub_show_menu.
18198 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18199
24ec575b
CW
182002010-11-16 Colin Watson <cjwatson@debian.org>
18201
18202 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18203 (-Wunused implies -Wunused-parameter, but not vice versa).
18204
72b7c7aa
CW
182052010-11-16 Colin Watson <cjwatson@ubuntu.com>
18206
18207 * configure.ac: Make error messages less confusing by testing for
18208 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18209 accepted, but produces a diagnostic if something else is wrong).
18210
e98937aa
VS
182112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18214 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18215 (now unused).
18216 (grub_keyboard_controller_init)
18217 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18218 read the initial state since controller isn't inited yet.
18219
f6bbabc3
VS
182202010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18223 allocate_regbeg may need to create new chunk header.
18224
22e7dbb2
VS
182252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 Fix quoting in legacy parser.
18228
18229 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18230 single quotes.
18231 (grub_legacy_parse): Likewise.
18232 Reported by: Jordan Uggla.
18233 Tested by: Jordan Uggla.
18234
03f80960
VS
182352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 Don't add -lgcc on i386 and x86_64.
18238
18239 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18240 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18241 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18242
779dc15b
VS
182432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * configure.ac: Add -Wno-trampolines when supported.
18246
d20a3b37
MV
182472010-11-14 Modestas Vainius <modax@debian.org>
18248
18249 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18250 fakeraid.
18251
e5360933
GC
182522010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18253
18254 Add generic logical block size support for UDF.
18255
18256 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18257 (GRUB_UDF_BLKSZ): Removed.
18258 (struct grub_udf_data): New field "lbshift" to hold the logical block
18259 size of the file system in log2 format. All users updated.
18260 (sblocklist): Change type to unsigned.
18261 (grub_udf_mount): Change type of "sblklist" to unsigned.
18262 Move AVDP search before VRS recognition, because the latter requires
18263 knowledge of the logical block size, which is detected during the
18264 former.
18265 Detect and validate logical block size during AVDP search, adding
18266 support for block sizes 512, 1024 and 4096.
18267 Make VRS recognition independent of block size.
18268
cb0229c5
GC
182692010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18270
18271 Properly handle deleted files on UDF.
18272
18273 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18274 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18275 set.
18276
406858a8
GC
182772010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18278
18279 Support reading files larger than 2 GiB.
18280
18281 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18282 "offset" to grub_off_t.
18283 (grub_udf_read_file): Likewise for parameter "pos".
18284
130da6a7
VS
182852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18288 unavailable.
18289 (Simple configuration): Refer to Changes from GRUB Legacy about
18290 save_env availability.
18291
65e93f6b
VS
182922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * util/grub-install.in: Ignore empty partition table detection
18295 instead of trying to include part_ module.
18296
1fd08bf1
VS
182972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18300 LVM on RAID support.
18301
de1a024f
VS
183022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 Properly define WORDS_BIGENDIAN in wrapped environments.
18305
18306 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18307 definition.
18308 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18309
18310 Reported by: Manoel Rebelo Abranches.
18311 Tested by: Manoel Rebelo Abranches.
18312
bc5dd0b9
VS
183132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * util/grub-mkconfig.in: Fix quoting.
18316
58c184be
VS
183172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 Support big ext2 files.
18320
18321 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18322 (grub_ext2_read_block): Support triple indirect blocks.
18323 (grub_ext2_read_file): Use 64-bit types and read size_high.
18324 (grub_ext2_open): Read size_high.
18325 Reported by: Ximin Luo.
18326 Tested by: Manoel Rebelo Abranches.
18327
5f0c02b3
VS
183282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 * util/grub-install.in: Handle filenames containing spaces.
18331 Reported by: Jordan Uggla.
18332 Tested by: Jordan Uggla.
18333
4417aae6
VS
183342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * util/grub-mkconfig.in (grub_script_check): New variable.
18337 Use grub_script_check instead of grub-script-check.
18338 Reported by: Barry Jackson.
18339
7625a68e
VS
183402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * docs/grub.texi (menu): Correct the order.
18343 Reported by: D. Hugh Redelmeier.
18344
10001ac5
VS
183452010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18348 jump.
18349
9c4cf53b
MRA
183502010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18351
10001ac5
VS
18352 * include/grub/elfload.h (grub_elf32_size): New parameter.
18353 All users updated.
9c4cf53b
MRA
18354 Return maximum segments alignment.
18355 (grub_elf64_size): Likewise.
18356 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18357 Return maximum segments alignment.
18358 (grub_elf64_size): Likewise.
18359 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18360 (grub_linux_claimmap_iterate): New function. Uses the
18361 "available" property in the "memory" node for memory allocation
18362 for kernel in the PowerPC loader.
9c4cf53b
MRA
18363 (grub_linux_load32): Correctly find linux entry point offset.
18364 (grub_linux_load64): Likewise.
18365
d2bf06bf
RM
183662010-11-07 Robert Millan <rmh@gnu.org>
18367
18368 On mips-yeeloong, build with -march=loongson2f when this flag is
18369 available (GCC >= 4.4).
18370 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18371 `-march=mips3'.
18372 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18373 or otherwise add -march=mips3.
18374
898c99a2
BC
183752010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18376
87220a68
BC
18377 Suppress shell expansion on echo '*' and echo "*" like cases.
18378 Reported by: Jordan Uggla.
898c99a2
BC
18379
18380 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18381 string arguments before shell expansion.
18382 * tests/grub_cmd_echo.in: New testcases.
18383
4f9b406a
RM
183842010-11-07 Robert Millan <rmh@gnu.org>
18385
18386 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18387 transition.
18388
80c6d25e
VS
183892010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * grub-core/kern/emu/hostdisk.c
18392 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18393
4a1a0153
VS
183942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18397 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18398 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18399
34706ddc
VS
184002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18403
6972dea9
VS
184042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * util/grub-install.in: Replace useless recomendation to pass
18407 --modules with a recomendation to report a bug.
18408
9c693bd6
VS
184092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 Properly register serial terminfo.
18412 Reported by: Jordan Uggla
18413
18414 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18415 const.
18416 (grub_serial_terminfo_output_template): Likewise.
18417 (grub_cmd_serial): Register "serial" with terminfo.
18418 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18419 grub_serial_terminfo_output.
18420
6c9e4c0c
RM
184212010-11-05 Robert Millan <rmh@gnu.org>
18422
18423 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18424 needed).
18425
b9b3839f
RM
184262010-11-05 Robert Millan <rmh@gnu.org>
18427
18428 On Yeeloong, pass machine type information to Linux.
18429
18430 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18431 (LOONGSON_MACHTYPE): New macro, set to
18432 "machtype=lemote-yeeloong-2f-8.9inches".
18433 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18434 additional argument to Linux.
18435
1a3aaff4
RM
184362010-11-04 Robert Millan <rmh@gnu.org>
18437
18438 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18439 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18440 (its SATA disks are detected as slaveless IDE master drives on
18441 kFreeBSD).
18442 Reported by Carsten Aulbert.
18443
a75f4f62
CW
184442010-11-02 Colin Watson <cjwatson@ubuntu.com>
18445
18446 * util/bin2h.c (main): Fix spelling error in generated output.
18447
33b4b0c6
GS
184482010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18449
18450 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18451
2b36fbf4
VS
184522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18455 vga= option is supplied.
18456
74aaf558
VS
184572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18460 * util/grub.d/10_kfreebsd.in: Likewise.
18461 * util/grub.d/10_linux.in: Likewise.
18462 * util/grub.d/20_linux_xen.in: Likewise.
18463
6428dec3
VS
184642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18467 argument as an argument to no-argument option.
18468
f8729d98
VS
184692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18470
18471 * util/grub.d/10_linux.in: Add missing load_video with explicit
18472 GRUB_GFXPAYLOAD_LINUX.
18473
89d68fa6
VS
184742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18477
3a1197cd
VS
184782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18481 elements with invlid index.
18482 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18483 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18484 members.
18485 * include/grub/raid.h (grub_raid_member): New struct.
18486 (grub_raid_array): Transform devices and start_sector into usage of
18487 grub_raid_member. All users updated
18488 (allocated_devs): New member.
18489
71574288
VS
184902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18493 is modified
18494
8d40ec65
BC
184952010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18496
18497 NetBSD build fix for getline function conflict from gnulib.
18498
18499 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18500 components that depend on gnulib headers.
18501 (libgrubmods.a): Renamed from earlier libgrub.a.
18502 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18503
95b9257e
VS
185042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18507 install rather than creating a broken install.
18508
26c53dc6
VS
185092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * util/grub-setup.c (argp): Remove misleading example of installing to
18512 a partition.
18513
4171b3c5
VS
185142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * util/grub-setup.c (setup): Clarify the error message.
18517
18568d18
VS
185182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18521
4f6a2e21
VS
185222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 * grub-core/kern/emu/misc.c
18525 (grub_make_system_path_relative_to_its_root)
18526 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18527
185282010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18529
18530 * grub-core/kern/emu/misc.c
18531 (grub_make_system_path_relative_to_its_root): Revert r2882.
18532
e138c458
VS
185332010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18536 useless field head. All users updated.
18537 (free_subchunk): Correct handling of IN_REGION subchunk.
18538
0cbcdf0e
CW
185392010-10-22 Colin Watson <cjwatson@ubuntu.com>
18540
18541 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18542 (Supported kernels): Likewise.
18543
b65ea155
GS
185442010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18545
18546 Make mktemp invocations portable.
18547
18548 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18549 exit if mktemp fails.
18550 * tests/grub_script_blockarg.in: Likewise.
18551 * tests/partmap_test.in: Likewise.
18552 * tests/util/grub-shell-tester.in: Likewise.
18553 * tests/util/grub-shell.in: Likewise.
18554 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18555 * Makefile.am: Likewise, and chain shell commands with `&&'
18556 instead of ';'.
18557 * util/grub-mkrescue.in: Use the same explicit template as above, and
18558 exit if mktemp fails.
18559
05f43cdd
BC
185602010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18561
18562 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18563 Linux kernel, reported by Dennis Schridde.
18564
800e6a9b
SJ
185652010-10-17 Szymon Janc <szymon@janc.net.pl>
18566
18567 * grub-core/normal/auth.c (grub_auth_check_authentication):
18568 Set-but-not-used variable removed.
18569
d82df574
VS
185702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18573 32-bit linux protocol.
18574
7bced458
VS
185752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18578 cursor shape for sanity.
18579
5b027690
VS
185802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * docs/grub.texi (Installation): Document buggy BIOS install.
18583
ba5f65cf
VS
185842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * docs/grub.texi (Installation): Indent.
18587
fdf2ec9c
VS
185882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 * util/grub-setup.c (setup): New parameter allow_floppy.
18591 (arguments): New member allow_floppy.
18592 (argp_parser): Handle --allow-floppy.
18593 (main): Pass allow_floppy.
18594 * util/grub-install.in: New option --allow-floppy passed though to
18595 grub-setup.
18596
861dfd4c
VS
185972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * util/grub-install.in: Handle partitionless disks.
18600
f77a8c24
VS
186012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * util/grub-setup.c (setup): Don't clean blocklists before readability
18604 verfification.
18605
27d9ee32
VS
186062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * docs/grub.texi (Installation): Document embedding zone. Remove
18609 obsolete grub-install example.
18610
6bdda8f8
SJ
186112010-10-16 Szymon Janc <szymon@janc.net.pl>
18612
18613 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18614 Set-but-not-used variable ifdef'ed.
18615 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18616 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18617 variable removed.
18618 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18619 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18620 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18621 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18622 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18623 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18624 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18625 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18626 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18627 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18628 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18629 Likewise.
18630
e19b016b
VS
186312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18634 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18635 enum value.
18636
6c8d3002
VS
186372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18640 synonym to _S5_. Needed for some DSDTs.
18641
c32b51c9
VS
186422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 Userspace ACPI parser debugging.
18645
18646 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18647 headers and add relevant defines. Don't include standard headers.
18648 (main) [GRUB_DSDT_TEST]: New function.
18649 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18650 Don't declare functions.
18651
fbfbeb39
VS
186522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 Remove dead grub_efi_mm_fini.
18655
18656 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18657 (ALLOCATED_PAGES_SIZE): Likewise.
18658 (MAX_ALLOCATED_PAGES): Likewise.
18659 (allocated_pages): Likewise.
18660 (grub_efi_allocate_pages): Don't record allocated pages.
18661 (grub_efi_free_pages): Likewise.
18662 (grub_efi_mm_init): Likewise.
18663 (grub_efi_mm_fini): Removed.
18664
65f7ed7c
VS
186652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18668 (grub_efi_mm_init): Take into account the memory map size increase.
18669
24977b44
VS
186702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18673 (serial_hw_put): Wait based on real time rather than port reads. Don't
18674 roken ports.
18675 * include/grub/serial.h (grub_serial_port): New field broken.
18676
1eb01cd2
RM
186772010-10-16 Robert Millan <rmh@gnu.org>
18678
18679 * grub-core/kern/emu/misc.c
18680 (grub_make_system_path_relative_to_its_root): Fix premature return
18681 when processing non-root ZFS filesystems.
5f8b440b 18682 Reported by Sergio Talens-Oliag.
1eb01cd2 18683
2d5fed60
RM
186842010-10-15 Robert Millan <rmh@gnu.org>
18685
18686 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18687 guarantee compressed ones are processed first.
18688
d0f4c1ea
VS
186892010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18692 grub_efiemu_autocore.
18693
d87c681f
VS
186942010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18697 rather than 0x1b.
18698 (grub_console_getkey): Use correct jae opcode rather than ja.
18699
219b3564
RM
187002010-10-12 Robert Millan <rmh@gnu.org>
18701
18702 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18703 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18704 variable. All references updated.
18705
18706 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18707
20c6bb7e
VS
187082010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 Correctly distinguish mdraid flavours.
18711
18712 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18713 (insert_array): New argument raid.
18714 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18715 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18716 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18717
74baff84
VS
187182010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18721 handling of special keys.
18722
3ef068df 187232010-10-02 Aleš Nesrsta <starous@volny.cz>
18724
c7980ad9
VS
18725 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18726 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18727
a9455194 187282010-10-02 Aleš Nesrsta <starous@volny.cz>
18729
c7980ad9
VS
18730 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18731 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18732 users updated.
a9455194 18733 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18734 Use right endpoint when querying descriptor.
a9455194 18735
441cfe65
VS
187362010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 Clear out 0x80 color bit on EFI.
18739 Tested by: decoder
18740 Reported by: decoder and meta tech.
18741
18742 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18743 (grub_console_setcolorstate): Clear out 0x80 bit.
18744 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18745 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18746 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18747
bf26bcc4
VS
187482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18751 Set to "auto".
18752
6e3c515d
VS
187532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18756 mo_file after freeing.
18757
e6d983ba
VS
187582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18761
74ccb5b5
VS
187622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18765 flags.
18766
17821956
VS
187672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18770 usage.
18771
ee74fa48
VS
187722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18775
18776 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18777 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18778 and terminfo.h when needed.
18779 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18780 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18781 (terminfo): Enable only on terminfokernel.
18782 (extcmd): Likewise.
18783 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18784 * include/grub/lib/arg.h: Likewise.
18785 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18786 incorrect usage of ->.
18787
aa438e68
VS
187882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18791 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18792
57994012
VS
187932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 Fix coreboot compilation.
18796
18797 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18798 Take VBE info into account even if only text is supported.
18799 (fill_vbe_info): Take into account the case when only VGA text
18800 is supported.
18801 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18802 on coreboot, multiboot and qemu.
18803
2a406611
VS
188042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18807 debug messages.
18808 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18809
d33613fc
VS
188102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18813 parameters.
18814
44a1b432
VS
188152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18818 if they were BSD-style.
18819
edde54e6
VS
188202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/boot/i386/pc/lnxboot.S: Replace
18823 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18824 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18825
b65830fa
VS
188262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 Write embedding zone using Reed-Solomon.
18829
18830 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18831 * grub-core/Makefile.am (rs_decoder.S): New target.
18832 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18833 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18834 (multiboot): Move to RS part.
18835 (post_reed_solomon): New label.
18836 (grub_boot_drive): Move to non-RS part since it's modified in memory
18837 on boot.
18838 Include rs_decoder.S.
18839 * grub-core/lib/reed_solomon.c: New file.
18840 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18841 New definition.
18842 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18843 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18844 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18845 * include/grub/partition.h (grub_partition_map): Change prototype of
18846 embed to allow returning additional sectors.
18847 * include/grub/reed_solomon.h: New file.
18848 * util/grub-setup.c (setup): Handle Reed-Solomon.
18849
0b4b227f
CW
188502010-09-28 Colin Watson <cjwatson@ubuntu.com>
18851
18852 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18853 i386 and x86-64 definedness tests.
18854
f772623b
YB
188552010-09-27 Yves Blusseau <blusseau@zetam.org>
18856
18857 Fix generation of kernel_syms.lst
18858
18859 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18860 ASM_PREFIX
18861
8e57a6ca
RM
188622010-09-26 Robert Millan <rmh@gnu.org>
18863
18864 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18865
18866 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18867 the pool is an array of devices, iterate through it and return the
18868 first device that passes a stat() test (instead of blindly returning
18869 the first one).
18870
f9130836
RM
188712010-09-26 Robert Millan <rmh@gnu.org>
18872
18873 Build fixes for GNU/kFreeBSD.
18874
18875 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18876 to programs that require ZFS conversion.
18877 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18878 kernels that don't have FLOPPY_MAJOR.
18879
96510faf
BC
188802010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18881
18882 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18883
449333eb
BC
188842010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18885
18886 Fix grub-emu build.
18887
18888 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18889 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18890 mdraid09 and mdraid1x.
18891
e1fd1939
CW
188922010-09-24 Colin Watson <cjwatson@ubuntu.com>
18893
18894 Re-enable grub-extras.
18895
18896 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18897 avoid confusing Automake. Run autogen only twice, once for the top
18898 level and once for grub-core. Add Makefile.util.def and
18899 Makefile.core.def from extra modules to the appropriate autogen
18900 invocations. If Makefile.common exists in an extra module, include
18901 it in both Makefile.util.am and grub-core/Makefile.core.am;
18902 similarly, include any Makefile.util.common file in Makefile.util.am
18903 and any Makefile.core.common file in grub-core/Makefile.core.am.
18904 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18905 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18906 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18907 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18908
18909 * gentpl.py (gvar_add): Turn GVARS into a set.
18910 (global_variable_initializers): Sort global variables on output.
18911 (vars_init): New function.
18912 (first_time): Likewise.
18913 (library): Ensure that non-global variable initialisations are
18914 emitted before the first time we emit code for a library block.
18915 Append to variables rather than setting them. Only emit
18916 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18917 each conditional path.
18918 (program): installdir() emits an Autogen macro, so must be passed to
18919 var_add rather than gvar_add.
18920 (data): Likewise.
18921 (script): Likewise.
18922 (rules): New function, centralising handling for different target
18923 types. Set up Guile association lists for first_time and vars_init,
18924 and send most output to a diversion so that variable initialisations
18925 can be emitted first.
18926 (module_rules): Use new rules function.
18927 (kernel_rules): Likewise.
18928 (image_rules): Likewise.
18929 (library_rules): Likewise.
18930 (program_rules): Likewise.
18931 (script_rules): Likewise.
18932 (data_rules): Likewise.
18933
18934 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18935
18936 * .bzrignore: Add contrib and grub-core/contrib. Remove
18937 grub-core/Makefile.gcry.am.
18938
1d12cf29
YB
189392010-09-24 Yves Blusseau <blusseau@zetam.org>
18940
18941 * grub-core/lib/LzFind.c: Add missing include.
18942 * grub-core/lib/LzmaEnc.c: Likewise.
18943 * grub-core/script/lexer.c: Likewise.
18944 * grub-core/script/yylex.l: Likewise.
18945 * util/grub-macho2img.c: Likewise.
18946 * util/grub-menulst2cfg.c: Likewise.
18947 * util/grub-mklayout.c: Likewise.
18948 * util/grub-mkpasswd-pbkdf2.c
18949 * util/grub-mkrelpath.c: Likewise.
18950 * util/resolve.c: Likewise.
18951
dd363028
BC
189522010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18953
18954 * Makefile.util.def (example_unit_test): Add
18955 grub-core/gnulib/libgnu.a.
18956
f5a109e2
GS
189572010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18958
18959 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18960
6d0fa83c
VS
189612010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 Support xz compression on yeeloong.
18964
18965 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18966 * configure.ac: Check for LZMA.
18967 * grub-core/Makefile.core.def (xz_decompress): New target.
18968 (none_decompress): Likewise.
18969 * grub-core/boot/decompressor/minilib.c: New file.
18970 * grub-core/boot/decompressor/none.c: Likewise.
18971 * grub-core/boot/decompressor/xz.c: Likewise.
18972 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18973 * grub-core/kern/mips/cache_flush.S: Likewise.
18974 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18975 * grub-core/kern/mips/startup.S: Move first stage to ...
18976 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18977 nomacro.
18978 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18979 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18980 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18981 Allocate statically.
18982 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18983 Allocate statically or use scratch. Don't check CRC32.
18984 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18985 Allocate statically. Don't check CRC32.
18986 * include/grub/decompressor.h: New file.
18987 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18988 Removed.
18989 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18990 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18991 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18992 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18993 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18994 * util/grub-mkimage.c (grub_compression_t): New type.
18995 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18996 (image_target_desc): New field default_compression.
18997 (image_targets): Adjust yeeloong targets.
18998 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18999 (compress_kernel): New parameter comp.
19000 (generate_image): Likewise. Handle new compression case.
19001 (options): New option --compression
19002 (help): Likewise.
19003 (main): Handle new option.
19004
1b655af6
GS
190052010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19006
19007 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19008
8f03f0b5
CW
190092010-09-22 Colin Watson <cjwatson@ubuntu.com>
19010
19011 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19012 typo in __i386__ conditional.
19013
7835dfd3
VS
190142010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19017 include.
19018
e255597e
VS
190192010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19020
6d0fa83c 19021 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19022
19023 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19024 new tags as supported.
19025 (acpiv2_size): New function.
19026 (grub_multiboot_get_mbi_size): Take new tags into account.
19027 (grub_multiboot_make_mbi): Add new tags.
19028 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19029
6cc14051 190302010-09-21 Aleš Nesrsta <starous@volny.cz>
19031
19032 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19033 Added missing configuration of USB device.
19034
df7769d8
CW
190352010-09-21 Colin Watson <cjwatson@ubuntu.com>
19036
19037 * grub-core/normal/menu_entry.c (run): Make sure we always return
19038 a value.
19039
b031012d
CW
190402010-09-21 Colin Watson <cjwatson@ubuntu.com>
19041
19042 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19043 NumberOfPages is UINT64 according to the UEFI specification, not
19044 UINTN. Fix printf format.
19045
174de8f3
CW
190462010-09-21 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19049 `err' to grub_usb_err_t.
19050 Reported and tested by: KESHAV P.R.
19051
d7dbe923
CW
190522010-09-21 Colin Watson <cjwatson@ubuntu.com>
19053
19054 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19055 tpart non-const, so that we can assign to it. (Since this is a
19056 typedef, the constness refers to the pointer rather than what it
19057 points to.)
19058
8d5e2af3
CW
190592010-09-21 Colin Watson <cjwatson@ubuntu.com>
19060
19061 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19062 $(top_srcdir)/grub-core/gnulib as well as
19063 $(top_builddir)/grub-core/gnulib.
19064 Reported by: KESHAV P.R.
19065
5c527783
CW
190662010-09-21 Colin Watson <cjwatson@ubuntu.com>
19067
19068 * util/grub-install.in: Fix the bootloader ID option to be
19069 consistently --bootloader-id, not --bootloader_id.
19070 Reported by: KESHAV P.R.
19071
d309a16e
CW
190722010-09-21 Colin Watson <cjwatson@ubuntu.com>
19073
19074 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19075 check hash checksum." consistently translatable.
19076
b830cd16
YB
190772010-09-21 Yves Blusseau <blusseau@zetam.org>
19078
19079 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19080 $(top_builddir).
19081
c4fe27a8
CW
190822010-09-21 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19085 (GRUB_MOD_INIT): Register sha1sum command.
19086 (GRUB_MOD_FINI): Unregister sha1sum command.
19087
a4c1d277
YB
190882010-09-21 Yves Blusseau <blusseau@zetam.org>
19089
19090 Keep boot and grub directory names in sync with utils scripts
19091
19092 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19093 * config.h.in: Add previous macros.
19094 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19095 * util/grub-install.in: Use $bootdir and $grubdir variables.
19096
4eff79d2
CW
190972010-09-21 Colin Watson <cjwatson@ubuntu.com>
19098
19099 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19100 convert partition names to disk names if the new `convert' parameter
19101 is set.
19102 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19103 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19104 disk in its own right. This can happen with Xen disk images.
19105
934d7e44
YB
191062010-09-21 Yves Blusseau <blusseau@zetam.org>
19107
19108 * util/grub-editenv.c: Update strings to avoid warnings when generating
19109 grub.pot file.
19110 * util/grub-setup.c: Likewise.
934d7e44 19111
df3367cc
VS
191122010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 * configure.ac: Change version to 1.99~beta0.
19115
77a94e98
VS
191162010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19119 Add BADRAM.
19120 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19121 Likewise.
19122 * include/multiboot.h: Resynced with specification.
19123 * include/multiboot2.h: Likewise.
19124
269004c1
CW
191252010-09-21 Colin Watson <cjwatson@ubuntu.com>
19126
19127 Fix po directory handling.
19128
19129 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19130 * grub-core/gnulib/Makefile.am: Import gettext module.
19131 * m4/gnulib-cache.m4: Likewise.
19132 * m4/gnulib-comp.m4: Likewise.
19133 * m4/gettext.m4: New file, from gnulib.
19134 * m4/glibc2.m4: Likewise.
19135 * m4/iconv.m4: Likewise.
19136 * m4/intdiv0.m4: Likewise.
19137 * m4/intl.m4: Likewise.
19138 * m4/intldir.m4: Likewise.
19139 * m4/intlmacosx.m4: Likewise.
19140 * m4/intmax.m4: Likewise.
19141 * m4/inttypes-pri.m4: Likewise.
19142 * m4/lcmessage.m4: Likewise.
19143 * m4/lib-ld.m4: Likewise.
19144 * m4/lib-link.m4: Likewise.
19145 * m4/lib-prefix.m4: Likewise.
19146 * m4/lock.m4: Likewise.
19147 * m4/nls.m4: Likewise.
19148 * m4/po.m4: Likewise.
19149 * m4/printf-posix.m4: Likewise.
19150 * m4/progtest.m4: Likewise.
19151 * m4/threadlib.m4: Likewise.
19152 * m4/uintmax_t.m4: Likewise.
19153 * m4/visibility.m4: Likewise.
19154 * po/Makefile.am: Remove.
19155 * po/Makefile.in.in: New file, from gettext.
19156 ($(DOMAIN).pot-update): Support POTFILES-shell.
19157 * po/Makevars: New file.
19158 * po/POTFILES-shell: Rename to ...
19159 * po/POTFILES-shell.in: ... this. Update.
19160 * po/POTFILES: Rename to ...
19161 * po/POTFILES.in: ... this. Update.
19162 * po/Rules-quot: New file, from gettext.
19163 * po/boldquot.sed: Likewise.
19164 * po/en@boldquot.header: Likewise.
19165 * po/en@quot.header: Likewise.
19166 * po/insert-header.sin: Likewise.
19167 * po/quot.sed: Likewise.
19168 * po/remove-potcdate.sin: Likewise.
19169
3e0fa5d0
VS
191702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19173
ade9bd66
VS
191742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 * util/grub.d/20_linux_xen.in: Use submenus.
19177
fc55cc4c
VS
191782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 Support submenus.
19181
19182 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19183 parameter submenu. All users updated.
19184 * grub-core/normal/main.c (free_menu): Rename to ...
19185 (grub_normal_free_menu): ... this. Made global.
19186 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19187 if requested.
19188 * grub-core/normal/menu_entry.c (screen): New field submenu.
19189 (make_screen): Set submenu.
19190 (run): Open new context if requested.
19191 * include/grub/menu.h (grub_menu_entry): New field submenu.
19192 * include/grub/normal.h (grub_normal_free_menu): New proto.
19193
600cedf7
VS
191942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 Menu entries extractor.
19197
19198 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19199 variants.
19200 (GRUB_MOD_INIT): Register new variants.
19201 (GRUB_MOD_FINI): Unregister new variants.
19202 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19203 into grub_cmd_legacy_source.
19204 (grub_cmd_legacy_source): Implement extractor variants.
19205 (GRUB_MOD_INIT): Register new variants.
19206 (GRUB_MOD_FINI): Unregister new variants.
19207 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19208 as an extractor.
19209 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19210 search as an extractor.
19211 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19212 test as an extractor.
19213 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19214 as an extractor.
19215 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19216 (grub_env_new_context): New function.
19217 (grub_env_context_open): Likewise.
19218 (grub_env_extractor_open): Likewise.
19219 (grub_env_extractor_close): Likewise.
19220 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19221 grub_extractor_level.
19222 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19223 * include/grub/env.h (grub_env_extractor_open): New proto.
19224 (grub_env_extractor_close): Likewise.
19225 * include/grub/normal.h (grub_extractor_level): New external variable.
19226
7bda3a87
VS
192272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 Make cutmem accept a region specification.
19230 Suggested by: Samuel Thibault
19231
19232 * grub-core/mmap/mmap.c (parsemem): New function.
19233 (grub_cmd_cutmem): Handle new arguments.
19234
2ea57f88
VS
192352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 New command cutmem.
19238
19239 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19240 (GRUB_MOD_INIT): Register new command.
19241 (GRUB_MOD_FINI): Unregister new command.
19242
74342e31
VS
192432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 Support some annoying BSD and Minix subpartitions.
19246
19247 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19248 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19249 Properly handle concatenation.
19250 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19251 * grub-core/normal/completion.c (iterate_partition): Likewise.
19252 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19253 contain partition. All users updated.
19254 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19255 struct.
19256 (grub_openbsdlabel_partition_map): Likewise.
19257 (bsdlabel_partition_map_iterate): Rename to ..
19258 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19259 (bsdlabel_partition_map_iterate): New function.
19260 (netopenbsdlabel_partition_map_iterate): Likewise.
19261 (netbsdlabel_partition_map_iterate): Likewise.
19262 (openbsdlabel_partition_map_iterate): Likewise.
19263 (GRUB_MOD_INIT): Register new partmaps.
19264 (GRUB_MOD_FINI): Unregister new partmaps.
19265 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19266 (grub_partition_msdos_iterate): ... this. All users updated.
19267 Don't support embedding other than in a minix partition.
19268 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19269 proto.
19270 * include/grub/partition.h (grub_partition): New field msdostype.
19271 * util/grub-install.in: Handle openbsd and netbsd types being in
19272 part_bsd module.
19273
1e8d555b
VS
192742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19277
19278 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19279 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19280 (mdraid09): ... this.
19281 (mdraid1x): New module.
19282 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19283 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19284
899d8af4
VS
192852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19288 vsprintf.
19289
40901acd
CW
192902010-09-20 Colin Watson <cjwatson@ubuntu.com>
19291
19292 * grub-core/commands/efi/lsefimmap.c: Correct header.
19293 * NEWS: Update.
19294
dfe3b247
CW
192952010-09-20 Colin Watson <cjwatson@ubuntu.com>
19296
19297 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19298 as printf format strings; the translations might contain '%' which
19299 could cause a crash.
19300 (main): Likewise.
19301 * util/grub-fstest.c (argp_parser): Likewise.
19302 * util/grub-setup.c (argp_parser): Likewise.
19303 (main): Likewise.
19304
3286a4b4
VS
193052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 Use argp in grub-fstest.
19308
19309 * util/grub-fstest.c: Don't include getopt.h.
19310 Include argp.h.
19311 (root): New variable.
19312 (args_count): Likewise.
19313 (nparm): Likewise.
19314 (num_disks): Likewise.
19315 (images): Likewise.
19316 (cmd): Likewise.
19317 (debug_str): Likewise.
19318 (args): Likewise.
19319 (options): Transformed to argp.
19320 (usage): Removed.
19321 (main): Split argument parsing into ...
19322 (argp_parser): ... this. Changed to argp format.
19323 (argp): New variable.
19324 (main): Use argp_parse.
19325
3dccbe4b
TG
193262010-09-20 Tristan Gingold <gingold@free.fr>
193272010-09-20 Robert Millan <rmh.grub@aybabtu.com>
193282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/commands/efi/lsefimmap.c: New file.
19331 * grub-core/Makefile.core.def (lsefimmap): New module.
19332 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19333
38c259a7
VS
193342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 Pause the execution (10s max) if any errors are displayed so the user
19337 has a chance to see them.
19338
19339 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19340 (grub_print_error): Increment grub_err_printed_errors.
19341 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19342 execution if any errors were displayed.
19343 (show_menu): Remove old code for pause.
19344 * grub-core/normal/menu_entry.c (run): Likewise.
19345 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19346 users updated.
19347 (grub_normal_get_char_counter): Likewise.
19348 * include/grub/err.h (grub_err_printed_errors): New external variable.
19349 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19350
f218b09c
VS
193512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 Support multiboot VBE info.
19354
19355 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19356 Take VBE info into account.
19357 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19358 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19359 Call fill_vbe_info when appropriate.
19360 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19361 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19362 as supported.
19363 (grub_multiboot_get_mbi_size): Take new tags into account.
19364 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19365 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19366 Call fill_vbe_tag when appropriate.
19367 (grub_multiboot_make_mbi): Properly align tags.
19368 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19369 function.
19370 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19371 proto.
19372 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19373
a9cc5438
VS
193742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 Suport manual terminal geometry specification.
19377
19378 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19379 Save state in grub_ofconsole_terminfo_output.
19380 (grub_ofconsole_term): Use grub_terminfo_getwh.
19381 (grub_ofconsole_getwh): Removed.
19382 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19383 (grub_serial_term): Use grub_terminfo_getwh.
19384 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19385 (options): New struct.
19386 (OPTION_*): New enum.
19387 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19388 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19389 width and height.
19390 (grub_terminfo_getwh): New proto.
19391 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19392
1a8fed20
VS
193932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 Handle legacy "terminal" command.
19396
19397 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19398 and FLAG_TERMINAL.
19399 (legacy_commands): Add terminal and title.
19400 (grub_legacy_parse): Handle terminal. Simplify title handling.
19401
41e9c57d
VS
194022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19405 parameters overflow.
19406
61c874c5
CW
194072010-09-20 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19410 widthspec.h.
19411
19412 * docs/grub.texi (Shell-like scripting): Document `!'.
19413 (Network): Simplify using new i386-pc-pxe format. Mention
19414 grub-mknetdir.
19415
19416 * NEWS: Update.
19417
943682b4
CW
194182010-09-20 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19421 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19422 when needed.
19423
6d3d698d
CW
194242010-09-20 Colin Watson <cjwatson@ubuntu.com>
19425
19426 * grub-core/commands/efi/lsefisystab.c: Correct header.
19427 * grub-core/commands/efi/lssal.c: Likewise.
19428 * grub-core/commands/testload.c: Likewise.
19429
c982589f
CW
194302010-09-20 Colin Watson <cjwatson@ubuntu.com>
19431
19432 * util/grub-mkrescue.in: Add explicit root argument to --set to
19433 prevent the UUID being interpreted as an argument to --set (matches
19434 previous change to prepare_grub_to_access_device).
19435
a63c31b6
CW
194362010-09-20 Colin Watson <cjwatson@ubuntu.com>
19437
19438 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19439 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19440 the verbosity of later #ifs.
19441 (find_partition_start): Define this function on FreeBSD too.
19442 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19443 function.
19444 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19445 on FreeBSD.
19446
6439b8ee
YB
194472010-09-20 Yves Blusseau <blusseau@zetam.org>
19448
19449 * util/grub-editenv.c: Use argp instead of getopt.
19450
c5930ec8
YB
194512010-09-20 Yves Blusseau <blusseau@zetam.org>
19452
19453 * util/grub-setup.c: Use argp instead of getopt.
19454
15c69261
YB
194552010-09-20 Yves Blusseau <blusseau@zetam.org>
19456
19457 Use gnulib-tool to create gnulib source files.
19458
19459 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19460 grub-core/gnulib directories
19461 * .bzignore: Add **/.deps and autogenerated gnulib files
19462 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19463 of gnulib macros, add grub-core/gnulib/Makefile
19464 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19465 include m4 directory to aclocal.
19466 * Makefile.util.def: Remove direct compilation of gnulib source files
19467 and use the new grub-core/gnulib/libgnu.a.
19468 * build-aux/config.rpath: move config.rpath from top directory to
19469 build-aux
19470 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19471 in gnulib headers
19472 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19473 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19474 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19475 header.
19476 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19477 string.
19478
e511c9f5
YB
194792010-09-20 Yves Blusseau <blusseau@zetam.org>
19480
19481 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19482 grub-core/genmod.sh and grub-core/gensyminfo.sh
19483
c2dede05
BC
194842010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19485
19486 Add a test for echo command options.
19487
19488 * tests/grub_cmd_echo.in: New test.
19489 * Makefile.util.def: Rules for new test.
19490
c55f5018
SJ
194912010-09-20 Szymon Janc <szymon@janc.net.pl>
19492
19493 Remove crc.mod and move crc command to hashsum.mod.
19494 Remove lib/crc.c - users updated to use gcrypt implementation.
19495
19496 * grub-core/commands/crc.c: Removed.
19497 * grub-core/Makefile.core.def (crc): Module removed.
19498 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19499 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19500 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19501 * grub-core/lib/crc.c: Removed.
19502 * include/grub/lib/crc.h: Removed.
19503 * Makefile.util.def (crc): Remove lib/crc.c
19504 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19505 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19506 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19507 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19508 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19509 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19510
e0337366
VS
195112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19514
742f9232
VS
195152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 Split config.h for util and core.
19518
19519 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19520 (ADDR32): Likewise.
19521 (DATA32): Likewise.
19522 (BSS_START_SYMBOL): Likewise.
19523 (END_SYMBOL): Likewise.
19524 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19525 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19526 * config.h.in: New file.
19527 * configure.ac: Use config-util.h as config define file.
19528 Rename MACHINE into GRUB_MACHINE. All users updated.
19529 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19530 updated.
19531 (NESTED_FUNC_ATTR): Likewise.
19532 Substitue new variables.
19533 (COND_HAVE_ASM_USCORE): New conditional.
19534 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19535 (kernel_syms.lst): Use ASM_PREFIX.
19536 * grub-core/kern/emu/console.c: Include config-util.h.
19537 * grub-core/kern/emu/misc.c: Likewise.
19538 * grub-core/kern/emu/mm.c: Likewise.
19539 * include/grub/emu/misc.h: Likewise.
19540 * include/grub/libgcc.h: Likewise.
19541
39feb0e8
VS
195422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19545 constants usage.
19546 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19547 Fix GRUB_TERM_KEY_* constants usage.
19548 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19549
9af6dac3
VS
195502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19553 print pointer.
19554 * grub-core/bus/usb/uhci.c: Remove empty define.
19555 (grub_uhci_check_transfer): Add missing cast.
19556 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19557 print pointer.
19558 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19559 PRIuGRUB_SIZE.
19560 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19561
d6d94820
VS
195622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * grub-core/Makefile.core.def (legacycfg): Add
19565 lib/i386/pc/vesa_modes_table.c on emu.
19566
3572f2b6
BC
195672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19568
19569 Reduce number of temporary files generated by build system.
19570
19571 * grub-core/gencmdlist.sh: Removed.
19572 * grub-core/genfslist.sh: Removed.
19573 * grub-core/genhandlerlist.sh: Removed.
19574 * grub-core/genmodsrc.sh: Removed.
19575 * grub-core/genpartmaplist.sh: Removed.
19576 * grub-core/genparttoollist.sh: Removed.
19577 * grub-core/gentermiinallist.sh: Removed.
19578 * grub-core/genvideolist.sh: Removed.
19579
19580 * grub-core/genmod.sh.in: New file.
19581 * grub-core/gensyminfo.sh.in: New file.
19582
19583 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19584 * conf/Makefile.extra-dist: Update with new files.
19585 * gentpl.py: Remove rules related to unnecessary temporary files.
19586 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19587 and und-* files.
19588 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19589 genmod.sh scripts.
19590 * grub-core/bus/usb/uhci.c: Remove empty #define.
19591 * grub-core/genmoddep.awk: Updated with new syminfo format.
19592 * util/bash-completion.d/Makefile.am: Add config.log to
19593 CLEANFILES.
19594
c836b030
YB
195952010-09-19 Yves Blusseau <blusseau@zetam.org>
19596
19597 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19598
2f4e8053
BC
195992010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19600
19601 * util/grub-mkconfig.in: Check the config script for syntax errors
19602 before saving.
19603
75831c34
CW
196042010-09-19 Colin Watson <cjwatson@ubuntu.com>
196052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19608 platforms.
19609 * util/grub-install.in: Add EFI and IEEE1275 support.
19610 * util/i386/efi/grub-install.in: Removed.
19611 * util/ieee1275/grub-install.in: Likewise.
19612
eaf41b25
VS
196132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19616 (grub_cmd_cmosclean): Likewise.
19617 (GRUB_MOD_INIT): Register command cmosclean.
19618 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19619 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19620
1a9130dd
CPE
196212010-09-18 Carles Pina i Estany <carles@pina.cat>
196222010-09-18 Aleš Nesrsta <starous@volny.cz>
196232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 Add keyboard layouts support.
19626
19627 * Makefile.util.def (grub-mklayout): New file.
19628 (grub-kbdcomp): New script.
19629 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19630 Add keyboard_layouts.h.
19631 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19632 commands/boot.c on yeeloong.
19633 (keylayouts): New module.
19634 * grub-core/bus/usb/ohci.c
19635 * grub-core/bus/usb/uhci.c
19636 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19637 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19638 (attach_root_port): Likewise.
19639 (poll_nonroot_hub): Likewise.
19640 (grub_usb_poll_devices): Likewise.
19641 (detach_device): Close transfer.
19642 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19643 function.
19644 (grub_usb_bulk_setup_readwrite): Likewise.
19645 (grub_usb_bulk_finish_readwrite): Likewise.
19646 * grub-core/commands/keylayouts.c: New file.
19647 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19648 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19649 aliases.
19650 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19651 support scancode 2.
19652 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19653 * include/grub/keyboard_layouts.h: New file.
19654 * util/grub-mklayout.c: New file.
19655 * util/grub-kbdcomp.in: Likewise.
19656
a1d84a5e
VS
196572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 Unify memory types.
19660
19661 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19662 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19663 types.
19664 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19665 (grub_upper_mem): Likewise.
19666 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19667 * include/grub/memory.h (grub_memory_type_t): New enum.
19668 All users updated.
19669
9696382e
VS
196702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * grub-core/Makefile.core.def (lsapm): New module.
19673 * grub-core/commands/i386/pc/lsapm.c: New file.
19674 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19675 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19676 Likewise.
19677 * include/grub/i386/pc/apm.h: New file.
19678 * include/multiboot.h (multiboot_apm_info): New struct.
19679
196802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 GRUB-legacy configuration file support.
19683
19684 * Makefile.util.def (grub-menulst2cfg): New util.
19685 * docs/man/grub-menulst2cfg.h2m: New file.
19686 * grub-core/Makefile.core.def (legacycfg): New module.
19687 * grub-core/commands/legacycfg.c: New file.
19688 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19689 (grub_normal_add_menu_entry): ... this.
19690 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19691 (grub_normal_set_password): ...this.
19692 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19693 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19694 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19695 * grub-core/lib/legacy_parse.c: New file.
19696 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19697 * include/grub/i386/pc/vesa_modes_table.h: New file.
19698 * include/grub/legacy_parse.h: Likewise.
19699 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19700 * util/grub-menulst2cfg.c: New file.
19701
bf8d1338
CW
197022010-09-17 Colin Watson <cjwatson@ubuntu.com>
19703
19704 * grub-core/kern/emu/hostdisk.c
19705 (convert_system_partition_to_system_disk): Initialise node.
19706
9c0bad2e
CW
197072010-09-17 Colin Watson <cjwatson@ubuntu.com>
19708
19709 * grub-core/kern/emu/hostdisk.c
19710 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19711 leak.
19712 Reported and based on patch by: Modestas Vainius.
19713
a939d135
CW
197142010-09-17 Colin Watson <cjwatson@ubuntu.com>
19715
19716 Fix DM-RAID probing with recent versions of device-mapper udev
19717 rules.
19718
19719 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19720 canonicalise device paths under /dev/mapper/.
19721 (convert_system_partition_to_system_disk): Compare the
19722 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19723 path, since device nodes under /dev/mapper/ are often symlinks.
19724
0f7ee3c9
YB
197252010-09-17 Yves Blusseau <blusseau@zetam.org>
19726
19727 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19728
10854d0d
YB
197292010-09-16 Yves Blusseau <blusseau@zetam.org>
19730
19731 * configure.ac: Avoid some annoying error messages if freetype-config
19732 program is not found.
19733
108538d8
CW
197342010-09-16 Colin Watson <cjwatson@ubuntu.com>
19735
19736 Support RAID on virtio devices, and others.
19737
19738 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19739 Rename to ...
19740 [__MINGW32__] (grub_find_device): ... this.
19741 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19742 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19743 reasonable default if dir is NULL.
19744 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19745 ...
19746 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19747 (grub_guess_root_device): Update callers.
19748 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19749
19750 * util/raid.c (grub_util_getdiskname): Remove.
19751 (grub_util_raid_getmembers): Use grub_find_device rather than
19752 grub_util_getdiskname.
19753
e5bfc130
CW
197542010-09-16 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19757 needing to be compiled with serial support.
19758 (ls): Indicate that multiple files are accepted.
19759 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19760 indicate that multiple files are accepted.
19761
be458ae2
CW
197622010-09-16 Colin Watson <cjwatson@ubuntu.com>
19763
19764 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19765 libgrub_a_init.c, and util/bash-completion.d/grub.
19766
cb731b5e
VS
197672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 * util/grub-setup.c (setup): Fix incorrect container semantics.
19770
35139e8a
VS
197712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19774 misusage.
19775 Reported by: J. Nick Terry
19776
e50fca4a
VS
197772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 Move embedding routines to partmap sources files.
19780
19781 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19782 [GRUB_UTIL]: New variable.
19783 (gpt_partition_map_iterate): Set part.parent.
19784 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19785 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19786 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19787 New function.
19788 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19789 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19790 (grub_partition_map) [GRUB_UTIL]: New field embed.
19791 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19792 (setup): Use ->embed.
19793
f00478b7
VS
197942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19797 function.
19798 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19799 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19800
2b94e3ff
YB
198012010-09-15 Yves Blusseau <blusseau@zetam.org>
19802
19803 Add function to get completions from usage.
19804
19805 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19806 completions from usage. Use LC_ALL=C to get options properly.
19807
2e04a006
VS
198082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 * grub-core/gnulib/basename-lgpl.c: Imported.
19811 * grub-core/gnulib/basename.c: Likewise.
19812 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19813 * grub-core/gnulib/dirname.c: Likewise.
19814 * grub-core/gnulib/dirname.h: Likewise.
19815 * grub-core/gnulib/stripslash.c: Likewise.
19816
5dcdf93a
VS
198172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19818
19819 * grub-core/gnulib/error.c: Resynced.
19820 * grub-core/gnulib/getopt.c: Likewise.
19821 * grub-core/gnulib/getopt_int.h: Likewise.
19822 * grub-core/gnulib/regex.h: Likewise.
19823 * grub-core/gnulib/regex_internal.c: Likewise.
19824 * grub-core/gnulib/regex_internal.h: Likewise.
19825
014f47b7
SJ
198262010-09-15 Szymon Janc <szymon@janc.net.pl>
19827
19828 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19829 CRC calculations and validity checks.
19830 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19831 calculations.
19832
dd521a4a
SJ
198332010-09-15 Szymon Janc <szymon@janc.net.pl>
19834
19835 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19836
79c4eeb9
VS
198372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 Fix incorrect echo options handling.
19840 Reported by: Yves Blusseau.
19841
19842 * include/grub/command.h (grub_command_flags_t): New flags
19843 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19844 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19845 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19846
ed80f7d5
VS
198472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19850 users updated.
19851 (GRUB_COMMAND_FLAG_MENU): Likewise.
19852 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19853 (GRUB_COMMAND_FLAG_TITLE): Removed.
19854 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19855 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19856 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19857 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19858 (grub_command_flags_t): New enum. All users updated.
19859
5fe7620a
SG
198602010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19861
19862 Fix solaris compilation.
19863
19864 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19865 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19866 (grub-emu-list): Likewise.
19867
545b752f
VS
198682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 Remove deprecated root command.
19871
19872 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19873 updated.
19874
6c1a338c
VS
198752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * util/i386/pc/grub-setup.c: Merge this ...
19878 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19879 * util/grub-setup.c: ... into this.
19880 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19881 New struct.
19882
198832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19886 possible.
19887
d2ea4551
VS
198882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19891 allocate p.
19892
3c3b5040
VS
198932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19896 explicit root argument to set to prevent UUID to be interpreted as
19897 argument to set.
19898
b71c3fae
VS
198992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19902
275433e6
VS
199032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 Don't export grub_gate_a20.
19906
19907 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19908 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19909 to ...
19910 (grub_gate_a20): ... this. All users updated.
19911 * include/grub/i386/pc/init.h: Removed. All users updated.
19912
a5dbb1f1
VS
199132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 Create euro.pf2 which supports most European languages.
19916
19917 * Makefile.am (grubdata_DATA): Add euro.pf2.
19918 (euro.pf2): New target.
19919 (CLEANFILES): Add euro.pf2.
19920
62a747cb
VS
199212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * configure.ac: Disable emu-usb by default to prevent inadvertent
19924 device takeover.
19925
608e43b1
VS
199262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 Disable usbserial on grub-emu since our libusb code isn't good enough
19929 yet.
19930
19931 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19932 (usbserial_pl2303): Likewise.
19933 (usbserial_ftdi): Likewise.
19934
94564f81
VS
199352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * include/grub/disk.h (grub_disk): Remove has_partitions.
19938 All users updated.
19939 * disk/loopback.c (grub_loopback): Remove has_partitions.
19940 All users updated.
19941 (options): Remove partitions. All users updated.
19942 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19943 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19944 actual partition table is found.
19945
3352800b
VS
199462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 Remove readability checks (too many false negatives).
19949
19950 * util/grub-install.in: Remove readability checks.
19951 * util/grub-mkconfig.in: Likewise.
19952 * util/grub.d/10_hurd.in: Likewise.
19953 * util/grub.d/10_kfreebsd.in: Likewise.
19954 * util/grub.d/10_linux.in: Likewise.
19955 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19956 way.
19957
2419f17a
VS
199582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 Enable acpi shutdown on all ACPI platforms.
19961
19962 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19963 on coreboo, multiboot and EFI.
19964 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19965 (grub_acpi_halt): Likewise.
19966 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19967 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19968 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19969 * grub-core/lib/i386/halt.c (grub_halt)
19970 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19971
0575c7c3
VS
199722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19975 context.
19976
54ac3cd1
VS
199772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19980 * grub-core/video/efi_uga.c: Likewise.
19981
b2a30ac5
VS
199822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 Filter devaliases and never open same device twice.
19985
19986 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19987 (last_ihandle): Likewise.
19988 (ofdisk_hash_ent): New member shortest.
19989 (ofdisk_hash_add): Add canonical path too.
19990 (scan): New function.
19991 (grub_ofdisk_iterate): Iterate over hashed entries.
19992 (compute_dev_path): Don't add :0.
19993 (grub_ofdisk_open): Don't really open the disk.
19994 (grub_ofdisk_close): Avoid closing unrelated disk.
19995 (grub_ofdisk_read): Implement reopen logic.
19996 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19997 New function.
19998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19999 New proto.
20000
fb53b340
VS
200012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 Fix sparc64.
20004
20005 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20006 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20007 right address. Add sparc64_ieee1275_ldflags.
20008 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20009 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20010 to grub_host_to_target_addr
20011 (load_image): Likewise.
20012
f452b040
VS
200132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/normal/completion.c (complete_file): Handle device
20016 containing slash.
20017 Fix based on patch by Doug Nazar.
20018
9b5b2541
VS
200192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 grub-mknetdir script.
20022
20023 * Makefile.util.def (grub-mknetdir): New module.
20024 * tests/util/grub-shell.in: Support boot=net
20025 * util/grub-mknetdir.in: New file.
20026
9d2be652
VS
200272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 videoinfo on non-vbe.
20030
20031 * grub-core/Makefile.core.def (vbeinfo): Removed.
20032 (vbetest): Removed.
20033 (videoinfo): New module.
20034 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20035 * grub-core/commands/i386/pc/vbetest.c: Removed.
20036 * grub-core/commands/videoinfo.c: New file.
20037 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20038 specification.
20039 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20040 as vbetest.
20041 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20042 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20043 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20044 mode_number. New parameter mode. All users updated.
20045 (grub_video_gop_iterate): New function.
20046 (grub_video_efi_gop): New member iterate.
20047 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20048 (grub_vbe_set_video_mode): Remove setting useless fields.
20049 (vbe2videoinfo): New function.
20050 (grub_video_vbe_iterate): Likewise.
20051 (grub_video_vbe_setup): Use vbe2videoinfo.
20052 (grub_video_vbe_print_adapter_specific_info): New function.
20053 (grub_video_vbe_adapter): New fields iterate and
20054 print_adapter_specific_info.
20055 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20056 All users updated.
20057 (grub_video_mode_info): New field mode_number.
20058 (grub_video_adapter): New fields iterate and
20059 print_adapter_specific_info.
20060
179503f5
TG
200612010-09-13 Tristan Gingold <gingold@free.fr>
200622010-09-13 Robert Millan <rmh.grub@aybabtu.com>
200632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/commands/efi/lsefisystab.c: New file.
20066 * grub-core/commands/efi/lssal.c: Likewise.
20067 * grub-core/Makefile.core.def (lsacpi): New module.
20068 (lsefisystab): Likewise.
20069 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20070 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20071 (grub_efi_sal_system_table): New struct.
20072 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20073 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20074 (grub_efi_sal_system_table_platform_features): Likewise.
20075 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20076 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20077 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20078 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20079
cf9827de
VS
200802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20081
20082 Support explicit user claim that a device is BIOS-visible.
20083
20084 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20085 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20086 * grub-core/kern/emu/hostdisk.c
20087 (convert_system_partition_to_system_disk): Support mdX.
20088 (find_system_device): New parameter add. All users updated.
20089 (grub_util_biosdisk_is_present): New function.
20090 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20091 proto.
20092
53f0eb1f
VS
200932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 Search hints support.
20096
20097 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20098 All users updated.
20099
b23ffd70
YB
201002010-09-13 Yves Blusseau <blusseau@zetam.org>
20101
20102 Bash completion script for util commands
20103
20104 * Makefile.am: Add util/bash-completion.d directory
20105 * configure.ac: Likewise.
20106 * util/bash-completion.d/Makefile.am: New file.
20107 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20108
d547dc28
VS
201092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20112 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20113 Reported by: Yves Blusseau.
20114
2fc8ccb9
VS
201152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20118 partition size and offset.
20119
d8a84076
VS
201202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20123
84fb3b3d
VS
201242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20127
768ec2e2
VS
201282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20131 (grub_xvasprintf): Likewise.
20132
4870900f
VS
201332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20136
faca6bec
VS
201372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20140 args ending with NULL.
20141
201422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20143
20144 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20145 pointer.
20146
3c70f225
SJ
201472010-09-11 Szymon Janc <szymon@janc.net.pl>
20148
20149 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20150
4df7996d
VS
201512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 Shutdown using ACPI.
20154
20155 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20156 * grub-core/commands/acpihalt.c: New file.
20157 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20158 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20159 (grub_acpi_halt): New proto.
20160 (GRUB_ACPI_SLP_EN): New const.
20161 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20162 (GRUB_ACPI_OPCODE_*): New enum.
20163 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20164
126b4c32
TG
201652010-09-11 Tristan Gingold <gingold@free.fr>
201662010-09-11 Robert Millan <rmh.grub@aybabtu.com>
201672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * commands/lsacpi.c: New file.
20170 * grub-core/Makefile.core.def (lsacpi): New module.
20171 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20172 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20173 (grub_acpi_madt_entry_header): New struct.
20174 (grub_acpi_madt): Likewise.
20175 (grub_acpi_madt_entry_interrupt_override): Likewise.
20176 (grub_acpi_madt_entry_sapic): Likewise.
20177 (grub_acpi_madt_entry_lsapic): Likewise.
20178 (grub_acpi_madt_entry_platform_int_source): Likewise.
20179 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20180 (PRIuGRUB_UINT32_T): Likewise.
20181 (PRIxGRUB_UINT64_T): Likewise.
20182
1aa4fe88
VS
201832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 Implement loading palette on ieee1275_fb.
20186
20187 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20188 (have_setcolors): Likewise.
20189 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20190 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20191 (grub_video_ieee1275_set_palette): Implement.
20192
25761e13
VS
201932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
201942010-09-11 Colin Watson <cjwatson@ubuntu.com>
20195
20196 * util/grub-install.in (grub_partition): New variable.
20197 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20198 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20199 Fixes a bug reported by Yves Blusseau.
20200
050abaea
VS
202012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20202
20203 Fix emu on mipsel.
20204
20205 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20206 =grub_cpu_flush_cache on all mips and not only yeeloong.
20207 * configure.ac (COND_mips): New conditional.
20208 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20209 platforms.
20210 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20211 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20212 [GRUB_LINKER_HAVE_INIT]: New function.
20213 (grub_emu_post_init): Likewise.
20214 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20215 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20216 * include/grub/cache.h (_mips): Include mips/cache.h.
20217 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20218 LVM and RAID prototypes.
20219 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20220 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20221 function.
20222
5ed7d816
CW
202232010-09-10 Colin Watson <cjwatson@ubuntu.com>
20224
20225 * util/grub-install.in: Don't try to verify core.img until after
20226 running grub-mkimage to create it.
20227
90367e04
RM
202282010-09-10 Robert Millan <rmh@gnu.org>
20229
20230 * util/grub.d/10_hurd.in: Add misc readability checks.
20231 * util/grub.d/10_kfreebsd.in: Likewise.
20232 * util/grub.d/10_linux.in: Likewise.
20233
c452fa66
CW
202342010-09-10 Colin Watson <cjwatson@ubuntu.com>
20235
20236 * util/grub-install.in: ${imgext} won't be defined here until the
20237 install branch is merged. For the meantime, only verify core.img on
20238 i386-pc and sparc64-ieee1275 platforms.
20239
c38fe9f4
RM
202402010-09-10 Robert Millan <rmh@gnu.org>
20241
20242 Solaris support in grub_find_zpool_from_dir(). Thanks
20243 Seth Goldberg for referring to getextmntent() facility.
20244
20245 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20246 `sys/mkdev.h'.
20247 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20248 `<sys/mnttab.h>'.
20249 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20250 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20251 method for finding zpool name.
20252
905f7773
CW
202532010-09-10 Colin Watson <cjwatson@ubuntu.com>
20254
20255 grub-fstest needs the host and hostfs modules while other utilities
20256 actively require those modules to be absent, so grub-fstest needs
20257 its own initialisation and finalisation code.
20258
20259 * Makefile.am (grub_fstest.pp): New target.
20260 (grub_fstest_init.lst): Likewise.
20261 (grub_fstest_init.c): Likewise.
20262 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20263
fb90b546
RM
202642010-09-10 Robert Millan <rmh@gnu.org>
20265
20266 * configure.ac: Check for `struct statfs.f_fstypename' and
20267 `struct statfs.f_mntfromname'.
20268
20269 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20270 kFreeBSD-specific code.
20271
66d4bea5
RM
202722010-09-10 Robert Millan <rmh@gnu.org>
20273
20274 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20275 on ZFS. Now non-main filesystems are supported as / too.
20276
b6a690ee
CW
202772010-09-09 Colin Watson <cjwatson@ubuntu.com>
20278
20279 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20280 and grub-core/disk/host.c to ...
20281 (grub-fstest): ... here. Having the host disk implementation
20282 present confuses grub-probe and other utility programs.
20283
20284 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20285 when writing to a file, not when writing to stdout.
20286
8901b00c 202872010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20288
20289 * tests/partmap_test.in: New test for partitions.
20290 * Makefile.util.def: Rules for new test.
20291
7bf45fdd
RM
202922010-09-09 Robert Millan <rmh@gnu.org>
20293
20294 * util/grub-probe.c (probe): Fix a pair of unhandled error
20295 conditions.
20296
4dfbc574
RM
202972010-09-09 Robert Millan <rmh@gnu.org>
20298
20299 Basic Btrfs support (detection and UUID).
20300
20301 * grub-core/fs/btrfs.c: New file.
20302 * Makefile.util.def (library): Register btrfs.c.
20303 * grub-core/Makefile.core.def: Likewise.
20304
6b8e78ae
RM
203052010-09-08 Robert Millan <rmh@gnu.org>
20306
20307 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20308 with (optional) parameters to specify device and relative path.
20309 * util/grub-install.in: Use is_path_readable_by_grub() to
20310 verify readability of a few critical files.
20311 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20312 verify readability of grub.cfg.new.
20313
27f21a8b
VS
203142010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Split minix.mod into minix.mod and minix2.mod.
20317
20318 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20319 * grub-core/Makefile.core.def (minix2): New module.
20320 * grub-core/fs/minix.c: Use definitions instead of runtime version
20321 checking.
20322 * grub-core/fs/minix2.c: New file.
20323
c0e53ea5
YB
203242010-09-08 Yves Blusseau <blusseau@zetam.org>
20325
20326 Add new --boot-directory option to replace --root-directory
20327
20328 * util/grub-install.in: Add new --boot-directory option
20329 * util/grub-reboot.in: Likewise.
20330 * util/grub-set-default.in: Likewise.
20331
b9fe6ea2
YB
203322010-09-08 Yves Blusseau <blusseau@zetam.org>
20333
20334 * util/grub-mkconfig.in: Use new variable.
20335
d87aedff
YB
203362010-09-08 Yves Blusseau <blusseau@zetam.org>
20337
20338 * configure.ac: Define some useful variables.
20339
e55e8495
VS
203402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20343 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20344 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20345 Use terminfo and don't use cursor-on/cursor-off unless it's known
20346 to work.
20347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20348 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20349
6fa6d675
CW
203502010-09-08 Colin Watson <cjwatson@ubuntu.com>
20351
20352 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20353 starts with "(,", fill the drive containing the loaded image in
20354 between those two characters, but expect that a full partition
20355 specification including partition map names will follow.
20356
92f2aef0
RM
203572010-09-08 Robert Millan <rmh@gnu.org>
20358
20359 * configure.ac: Remove `--enable-grub-fstest' option.
20360 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20361
20362 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20363 `grub-fstest' instead of `grub-probe' for readability verification.
20364 * util/grub-probe.c (probe): Remove readability verification kludge.
20365
99fd620d
RM
203662010-09-08 Robert Millan <rmh@gnu.org>
20367
20368 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20369 initializing `GRUB_FS'.
20370
058e30ac 203712010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20372
20373 Not command (!) support to GRUB script.
20374
20375 * tests/grub_script_not.in: New test.
20376 * Makefile.util.def: Rules for new test.
20377
20378 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20379 ! command as a special case.
20380 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20381
b61d05ed 203822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20383
058e30ac 20384 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20385 grub_free.
b61d05ed 20386
4d69c786 203872010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20388
20389 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20390
aa3119c4 203912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20392
20393 * docs/grub.texi (Shell-like scripting): Documentation for break,
20394 continue, shift and return commands.
20395
db0f7e3d
VS
203962010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 Rename CD-ROM to cd on BIOS.
20399
20400 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20401 "cd".
20402 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20403
88b87c93
VS
204042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20407 * util/grub-probe.c (main): Likewise.
20408 * util/i386/pc/grub-setup.c (main): Likewise.
20409 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20410 Reported and debugged by: alexxy
20411
294f324d
VS
204122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20415 diagnostic info.
20416
d7ee3441
JS
204172010-09-05 Jo Shields <directhex@apebox.org>
20418
20419 * util/grub.d/30_os-prober.in: Add missing classes.
20420
d7e06c1f
VS
204212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * docs/grub.texi (Theme file format): Document new position format.
20424
fc157e53
VS
204252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20428 a table. Use @code instead of @verbatim.
20429
506e9a1c
CB
204302010-09-05 Colin D Bennett <colin@gibibit.com>
20431
20432 Gfxmenu documentation.
20433
20434 * docs/grub.texi (Theme file format): New chapter.
20435
f0aff67c
SJ
204362010-09-05 Szymon Janc <szymon@janc.net.pl>
20437
20438 * grub-core/Makefile.core.def (xzio): New module.
20439 * grub-core/io/xzio.c: New file.
20440 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20441 * grub-core/lib/xzembed/xz_config.h: Likewise.
20442 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20443 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20444 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20445 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20446 * grub-core/lib/xzembed/xz_private.h: Likewise.
20447 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20448 * include/grub/file.h (grub_file_filter_id): New compression filter
20449 GRUB_FILE_FILTER_XZIO.
20450
82a85062
VS
204512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20454 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20455 size.
20456
3579415d
VS
204572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20460 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20461
5124ae6d
VS
204622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 Uncompressed checksum support.
20465
20466 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20467 (check_list): New parameter uncompress.
20468 (grub_cmd_hashsum): Handle --uncompress.
20469
9aadb3d1
VS
204702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 Reintroduce testload.
20473
20474 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20475 from here ...
20476 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20477 (GRUB_MOD_INIT): New function.
20478 (GRUB_MOD_FINI): Likewise.
20479 * grub-core/Makefile.core.def (testload): New module.
20480
a17792c3
SJ
204812010-09-05 Szymon Janc <szymon@janc.net.pl>
20482
20483 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20484 (uint8_t): New type.
20485 (uint16_t): Likewise.
20486 (uint32_t): Likewise.
20487 (uint64_t): Likewise.
20488
b81e40a3
SJ
204892010-09-05 Szymon Janc <szymon@janc.net.pl>
20490
20491 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20492
fc2ef117
VS
204932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20496 Made static.
20497 (grub_gzfile_open): Removed. All users updated.
20498 (GRUB_MOD_INIT): New function.
20499 (GRUB_MOD_FINI): Likewise.
20500 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20501 (grub_file_filters_enabled): Likewise.
20502 (grub_file_open): Handle filters.
20503 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20504 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20505 * include/grub/file.h (grub_file_filter_id_t): New type.
20506 (grub_file_filter_t): Likewise.
20507 (grub_file_filters_all): New extern variable.
20508 (grub_file_filters_enabled): Likewise.
20509 (grub_file_filter_register): New inline function.
20510 (grub_file_filter_unregister): Likewise.
20511 (grub_file_filter_disable): Likewise.
20512 (grub_file_filter_disable_compression): Likewise.
20513 * include/grub/gzio.h: Removed.
20514
35ee15e0
BC
205152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20516
20517 Filename expansion support for wildcards in GRUB script.
20518
20519 * tests/grub_script_expansion.in: New test.
20520 * Makefile.util.def: Rule for new test.
20521
20522 * grub-core/commands/wildcard.c: New file, implements filename
20523 expansion support for GRUB script.
20524 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20525 * grub-core/script/argv.c: Cosmetic changes.
20526 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20527 Refactored to perform wildcard expansion on arguments.
20528 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20529 struct.
20530
20531 * tests/util/grub-shell.in: Fix quoting for read input.
20532
5f0c4aca
BC
205332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20534
20535 Support for updating environment variables with matched substrings
20536 of regexp.
20537
20538 * tests/grub_cmd_regexp.in: New test.
20539 * Makefile.util.def: Rule for new test.
20540
20541 * grub-core/commands/regexp.c: New option -s to update environment
20542 variables with regexp matches.
20543
3759a35f
SJ
205442010-09-04 Szymon Janc <szymon@janc.net.pl>
20545
20546 * include/grub/file.h (grub_file): New member not_easly_seekable.
20547 (grub_file_seekable): New inline function.
20548 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20549 easily seekable.
20550 (grub_gzio_open): Set not_easly_seekable.
20551 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20552 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20553
ed8c6dec
BC
205542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20555
20556 Support for options to appear multiple times on cmdline.
20557
20558 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20559 * grub-core/commands/extcmd.c: Support for repeatable option.
20560 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20561 repeatable option support.
20562
20563 Refactor menuentry into a regular command.
20564
20565 * grub-core/commands/menuentry.c: New file, menuentry command
20566 implementation.
20567 * grub-core/Makefile.core.def: Rule update for normal.mod.
20568 * grub-core/normal/main.c: Moved menuentry creation to
20569 grub-core/commands/menuentry.c.
20570 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20571 (grub_menu_execute_entry_real): Removed.
20572 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20573 function.
20574 (grub_script_execute_menuentry): Removed.
20575 * grub-core/script/parser.y (menuentry): Removed.
20576 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20577 * grub-core/script/yylex.l (menuentry): Removed.
20578 * include/grub/menu.h (grub_menu_init): New prototype.
20579 (grub_menu_fini): New prototype.
20580 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20581 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20582 (grub_script_execute_sourcecode): New prototype.
20583
dacd0cf0
BC
205842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20585
20586 "return" command for GRUB script functions.
20587
20588 * tests/grub_script_return.in: New test.
20589 * Makefile.util.def: Rules for new test.
20590
20591 * grub-core/script/execute.c (grub_script_return): New function.
20592 * grub-core/script/main.c: Register/unregister return commaond.
20593 * include/grub/script_sh.h (grub_script_return): New prototype.
20594
52e72f9d
BC
205952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20596
20597 "setparams" command to update positional parameters.
20598
20599 * tests/grub_script_setparams.in: New test.
20600 * Makefile.util.def: Rules for new test.
20601
20602 * grub-core/script/argv.c (grub_script_argv_make): New function.
20603 * grub-core/script/execute.c (replace_scope): New function.
20604 (grub_script_setparams): New function.
20605 * grub-core/script/lexer.c: Remove unused variables.
20606 * grub-core/script/main.c: Register/unregister setparams command.
20607 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20608 (grub_script_setparams): New prototype.
20609
25b60c91
BC
206102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20611
20612 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20613 grub_free order.
20614
37e7bf68
BC
206152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20616
20617 Support for passing block of commands as an argument to extcmds.
20618
20619 * Makefile.util.def: Rules for new test.
20620 * tests/grub_script_blockarg.in: New test.
20621 * grub-core/tests/test_blockarg.c: New file, block argument
20622 command used in the test.
20623
20624 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20625 (grub_register_extcmd_prio): New function prototype.
20626 (grub_extcmd_dispatcher): New function prototype.
20627 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20628 type.
20629 * include/grub/script_sh.h (struct grub_script): New members
20630 `children', `next_siblings' and `refcnt' for block arguments and
20631 reference counting.
20632 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20633 (grub_script_arg): New member `script' for block argument.
20634 (grub_script_argv): New member `script' for block argument.
20635 (grub_parser_param): New member `scripts' for block argument.
20636 (grub_script_mem_free): New extern function prototype.
20637 (grub_script_ref): New function prototype.
20638 (grub_script_unref): New function prototype.
20639
20640 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20641 extcmd form to support block arguments.
20642 * grub-core/script/argv.c: Block arguments support.
20643 * grub-core/script/execute.c: Likewise.
20644 * grub-core/script/lexer.c: Likewise.
20645 * grub-core/script/main.c: Likewise.
20646 * grub-core/script/script.c: Likewise.
20647 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20648 non-terminals.
20649
20650 * grub-core/commands/acpi.c: Update extcmd implementations with
20651 grub_extcmd_context_t.
20652 * grub-core/commands/cat.c: Likewise.
20653 * grub-core/commands/echo.c: Likewise.
20654 * grub-core/commands/extcmd.c: Likewise.
20655 * grub-core/commands/hashsum.c: Likewise.
20656 * grub-core/commands/hdparm.c: Likewise.
20657 * grub-core/commands/help.c: Likewise.
20658 * grub-core/commands/hexdump.c: Likewise.
20659 * grub-core/commands/i386/cpuid.c: Likewise.
20660 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20661 * grub-core/commands/i386/pc/halt.c: Likewise.
20662 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20663 * grub-core/commands/iorw.c: Likewise.
20664 * grub-core/commands/keystatus.c: Likewise.
20665 * grub-core/commands/loadenv.c: Likewise.
20666 * grub-core/commands/ls.c: Likewise.
20667 * grub-core/commands/lspci.c: Likewise.
20668 * grub-core/commands/memrw.c: Likewise.
20669 * grub-core/commands/probe.c: Likewise.
20670 * grub-core/commands/search_wrap.c: Likewise.
20671 * grub-core/commands/setpci.c: Likewise.
20672 * grub-core/commands/sleep.c: Likewise.
20673 * grub-core/disk/loopback.c: Likewise.
20674 * grub-core/hello/hello.c: Likewise.
20675 * grub-core/loader/i386/bsd.c: Likewise.
20676 * grub-core/loader/xnu.c: Likewise.
20677 * grub-core/term/gfxterm.c: Likewise.
20678 * grub-core/term/serial.c: Likewise.
20679 * grub-core/tests/lib/functional_test.c: Likewise.
20680
888d1500
BC
206812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20682
20683 Multi-line quoted strings support.
20684
20685 * grub-core/script/lexer.c (append_newline): Removed.
20686 (grub_script_lexer_yywrap): Refactored.
20687 (grub_script_lexer_init): Refactored.
20688 * grub-core/script/yylex.l (yywrap): New function.
20689 (grub_lexer_resplit): New function.
20690 (grub_lexer_unput): New function.
20691 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20692 and resplit.
20693 * tests/grub_script_echo1.in: Added few more testcases.
20694
dda060dd
VS
206952010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 * grub-core/kern/misc.c: Don't add abort alias in utils.
20698 Reported by: echoline.
20699
6556eba9
BC
207002010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20701
20702 Add missing files into "make dist" tarball for other platforms.
20703
20704 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20705 * conf/Makefile.common (dist_noinst_DATA): New variable.
20706 * conf/Makefile.extra-dist: Added missing make dist files.
20707 * grub-core/Makefile.core.def: Likewise.
20708
c8e7bf5f
VS
207092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 Compress grub_prefix.
20712
20713 * grub-core/boot/i386/pc/lnxboot.S: Use
20714 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20715 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20716 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20717 GRUB_MACHINE_PREFIX_END. All users updated.
20718 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20719 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20720 + 0x40.
20721 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20722 * util/grub-mkimage.c (image_target_desc): Change data_end to
20723 prefix_end. All users updated.
20724
a7c00cdb
VS
207252010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20728 value.
20729 (grub_openbsd_boot): Likewise.
20730 (grub_netbsd_boot): Likewise.
20731 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20732 (grub_xnu_boot): Likewise.
20733
9f915872
VS
207342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 * configure.ac: Clean LIBS variable after tests.
20737
efa1bee7
CW
207382010-09-02 Colin Watson <cjwatson@ubuntu.com>
20739
20740 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20741
61d720e5
VS
207422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20745 echo if libdevmapper will be used.
20746
ef8e0ec8
IT
207472010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20748
20749 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20750 constant for the same file.
20751
03e261d8
VS
207522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20755
c2a4eba6
CW
207562010-09-02 Colin Watson <cjwatson@ubuntu.com>
20757
20758 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20759 grub-core/*.pp.
20760
9056cbf3
CW
207612010-09-02 Colin Watson <cjwatson@ubuntu.com>
20762
20763 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20764 required by the boot protocol.
20765
20766 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20767 ebp and edi members.
20768 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20769 state.ebp and state.edi.
20770 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20771 %ebp and %edi according to grub_relocator32_ebp and
20772 grub_relocator32_edi respectively.
20773 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20774 and state.edi.
20775
529cc99a
VS
207762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 Add i386-pc-pxe image target.
20779
20780 * util/grub-mkimage.c (image_target_desc): New enum value
20781 IMAGE_I386_PC_PXE.
20782 (image_targets): New target i386-pc-pxe.
20783 (generate_image): Handle i386-pc-pxe image.
20784
9a093920
VS
207852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 Fix grub_pxe_scan.
20788
20789 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20790 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20791 All users updated.
20792 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20793 (grub_pxe_pxenv): Correct type.
20794
f9cefc4e
CW
207952010-09-01 Colin Watson <cjwatson@ubuntu.com>
20796
20797 * NEWS: Document most of the important changes since 1.98.
20798
4066f57f
CW
207992010-09-01 Colin Watson <cjwatson@ubuntu.com>
20800
20801 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20802 generated manual page) a little.
20803
da2891f9
CW
208042010-09-01 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * docs/grub.texi: Add myself as an author.
20807
ad717fae
VS
208082010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20809
20810 * Makefile.util.def (libgrub.a): Add missing sunpc.
20811 Reported by: Seth Goldberg.
20812
eefe8abd
VS
208132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 Interrupt wrapping and code simplifications.
20816
9494ef9a
VS
20817 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20818 x86_noieee1275 which are functionaly equivalent in this case.
20819 (grub-install): Make source on each platform explicit. Enable on
20820 all noemu.
20821 * gentpl.py (x86_efi_pc): Removed group.
20822 (x86_noefi): Likewise.
20823 (i386_noefi): Likewise.
20824 (x86_noieee1275): Likewise.
20825 (i386_noieee1275): Likewise.
20826 (i386_noefi_noieee1275): Likewise.
20827 (i386_pc_qemu_coreboot): Likewise.
20828 (i386_coreboot_multiboot): Likewise.
20829 (i386_pc_coreboot_multiboot_qemu): Likewise.
20830 (x86_noefi_mips): Likewise.
20831 (noieee1275): Likewise.
20832 (ieee1275_mips): Likewise.
20833 (noemu_noieee1275): Likewise.
20834 (cmos): New group.
20835 (usb): Likewise.
20836 (videoinkernel): Likewise.
20837 (videomodules): Likewise.
eefe8abd 20838 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20839 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20840 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20841 include/grub/loader.h, include/grub/msdos_partition.h,
20842 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20843 include/grub/machine/console.h, include/grub/machine/vga.h,
20844 include/grub/machine/vbe.h, include/grub/machine/init.h,
20845 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20846 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20847 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20848 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20849 * grub-core/Makefile.core.def (kernel): Explicit the source for
20850 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20851 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20852 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20853 Use videoinkernel tag.
20854 (usb): Enable on all usb.
20855 (usbserial_common): Likewise.
20856 (usbserial_pl2303): Likewise.
20857 (usbserial_ftdi): Likewise.
20858 (uhci): Enable on all x86.
20859 (ohci): Enable on all pci.
20860 (cmostest): Enable on all CMOS.
20861 (acpi): Include commands/acpi.c on all platforms.
20862 (halt): Add relevant lib/*/halt.c.
20863 (hdparm): Enable on all pci.
20864 (lspci): Likewise.
20865 (usbtest): Enable on all usb.
20866 (ata): Enable on all pci.
20867 (ata_pthru): Likewise.
20868 (usbms): Enable on all usb.
20869 (usb_keyboard): Likewise.
20870 (font): Use tag videomodules.
20871 (bufio): Likewise.
20872 (datetime): Use tag cmos. Enable on all noemu.
20873 (mmap): Use tags common and x86.
20874 (gfxterm): Use tag videomodules.
20875 (bitmap): Likewise.
20876 (bitmap_scale): Likewise.
20877 (video_fb): Likewise.
20878 (video): Likewise.
20879 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20880 adjust padding accordingly. All users updated.
20881 (grub_ohci_transaction): Fix bad format specification.
20882 (GRUB_MOD_INIT): Add asserts for struct size.
20883 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20884 (grub_alloc_td): Likewise.
20885 (grub_free_queue): Likewise.
20886 (grub_uhci_transfer): Likewise.
20887 (grub_uhci_transaction): Fix bad format specification.
20888 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20889 (grub_usb_bulk_readwrite): Likewise.
20890 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20891 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20892 Made static.
20893 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20894 Made static.
20895 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20896 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20897 Transformed into C.
20898 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20899 Moved from here ...
20900 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20901 ... here. Transformed into C. Made static.
20902 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20903 Moved from here ...
20904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20905 ... here. Transformed into C. Made static.
20906 * grub-core/kern/i386/pc/startup.S
20907 (grub_biosdisk_check_int13_extensions): Moved from here ...
20908 * grub-core/disk/i386/pc/biosdisk.c
20909 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20910 Made static.
20911 * grub-core/kern/i386/pc/startup.S
20912 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20913 * grub-core/disk/i386/pc/biosdisk.c
20914 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20915 Transformed into C. Made static.
20916 * grub-core/kern/i386/pc/startup.S
20917 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20918 * grub-core/disk/i386/pc/biosdisk.c
20919 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20920 Transformed into C. Made static.
20921 * grub-core/kern/i386/pc/startup.S
20922 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20923 * grub-core/disk/i386/pc/biosdisk.c
20924 (grub_biosdisk_get_diskinfo_standard): ... here.
20925 Transformed into C. Made static.
20926 * grub-core/kern/i386/pc/startup.S
20927 (grub_biosdisk_get_num_floppies): Moved from here ...
20928 * grub-core/disk/i386/pc/biosdisk.c
20929 (grub_biosdisk_get_num_floppies): ... here.
20930 Transformed into C. Made static.
20931 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20932 New function.
20933 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20934 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20935 Transformed into C. Made static.
20936 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20937 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20938 Transformed into C. Made static.
20939 * grub-core/kern/i386/ieee1275/init.c: Removed.
20940 * grub-core/kern/i386/misc.S: Likewise.
20941 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20942 Splitted from here ...
20943 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20944 Transformed into C. Made static. All users updated.
20945 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20946 Transformed into C. Made static. All users updated.
20947 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20948 Moved from here...
20949 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20950 Transformed into C. Made static. All users updated.
20951 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20952 Moved from here...
20953 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20954 Transformed into C. Made static. All users updated.
20955 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20956 Removed (replaced by C version).
20957 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20958 Moved from here...
20959 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20960 Transformed into C. Made static.
20961 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20962 Moved from here...
20963 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20964 ... here. Transformed into C.
20965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20966 Moved from here...
20967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20968 ... here. Transformed into C.
20969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20970 Moved from here...
20971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20972 ... here. Transformed into C. Made static.
20973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20974 Moved from here...
20975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20976 ... here. Transformed into C.
21ed554b
VS
20977 * grub-core/kern/i386/pc/startup.S
20978 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20979 * grub-core/video/i386/pc/vbe.c
20980 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20981 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20982 Moved from here...
20983 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20984 ... here. Transformed into C.
20985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20986 Moved from here...
20987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20988 ... here. Transformed into C.
20989 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20990 Moved from here...
20991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20992 ... here. Transformed into C.
20993 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20994 Moved from here...
20995 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20996 ... here. Transformed into C.
20997 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20998 Moved from here...
20999 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21000 ... here. Transformed into C. Made static.
21001 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21002 Moved from here...
21003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21004 ... here. Transformed into C. Made static.
21005 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21006 Moved from here...
21007 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21008 ... here. Transformed into C. Made static.
21009 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21010 pxe_rm_entry as third argument.
21011 (grub_bios_interrupt): New function.
21012 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21013 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21014 of calling grub_stop.
21015 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21016 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21017 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21018 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21019 * grub-core/lib/i386/halt.c: Moved from here ...
21020 * grub-core/lib/i386/halt.c: ... here.
21021 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21022 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21023 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21024 grub_stop_floppy.
21025 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21026 * include/grub/i386/coreboot/init.h: Removed.
21027 * include/grub/i386/multiboot/init.h: Likewise.
21028 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21029 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21030 * include/grub/i386/pc/int.h: New file.
21031 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21032 (grub_pxe_scan): Removed.
21033 (grub_pxe_call): Update prototype.
21034 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21035 prototypes.
21036 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21037 * include/grub/i386/qemu/init.h: Removed.
21038 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21039 noreturn.
21040 (grub_halt): Likewise.
21041 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21042 (grub_reboot): Likewise.
21043 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21044 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21045 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21046
215dd471
RM
210472010-08-30 Robert Millan <rmh@gnu.org>
21048
21049 * NEWS: Document addition of ZFS support in `grub-install' and
21050 `grub-mkconfig'.
21051
ebd65b82
BC
210522010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21053
21054 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21055 dprintf output.
21056
11721d19
VS
210572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21058
21059 Remove leftover embedding of font objects.
21060
21061 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21062 * util/grub-install.in (font): Removed.
21063 * util/grub-mkimage.c (generate_image): Remove font support. All users
21064 updated.
21065
37837d4e
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
b4c1aae0
VS
210752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21078 Reported by: Ian Turner
b4c1aae0 21079
8920a08d
VS
210802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21083 timeout to avoid indefinite boot stalling.
21084
f21db033
VS
210852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21086
21087 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21088 (grub_env_write_color_highlight): Likewise.
21089
9a9de209
VS
210902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * grub-core/normal/term.c (print_more): Return to normal and not
21093 to standard state after printing "---MORE---".
21094
3dca01d7
VS
210952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21098 Mask out the bit 0x80 since it has other meaning that specifiing color.
21099
0b986c40
VS
211002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 New relocator. Allows for more kernel support and more straightforward
21103 loader writing.
21104
21105 * Makefile.am (BOOTTARGET): New variable.
21106 (QEMU32): Likewise.
21107 (linux.init.x86_64): New target.
21108 (linux.init.i386): Likewise.
21109 (multiboot.elf): Likewise.
21110 (kfreebsd.elf): Likewise.
21111 (kfreebsd.aout): Likewise.
21112 (pc-chainloader.elf): Likewise.
21113 (pc-chainloader.bin): Likewise.
21114 (ntldr.elf): Likewise.
21115 (ntldr.bin): Likewise.
21116 (multiboot2.elf): Likewise.
21117 (kfreebsd.init.x86_64): Likewise.
21118 (kfreebsd.init.i386): Likewise.
21119 (knetbsd.init.i386): Likewise.
21120 (kopenbsd.init.i386): Likewise.
21121 (knetbsd.init.x86_64): Likewise.
21122 (kopenbsd.init.x86_64): Likewise.
21123 (linux-initramfs.i386): Likewise.
21124 (linux-initramfs.x86_64): Likewise.
21125 (kfreebsd-mfsroot.i386.img): Likewise.
21126 (knetbsd.image.i386): Likewise.
21127 (kopenbsd.image.i386): Likewise.
21128 (kopenbsd.image.x86_64): Likewise.
21129 (knetbsd.miniroot-image.i386.img): Likewise.
21130 (kfreebsd-mfsroot.x86_64.img): Likewise.
21131 (knetbsd.image.x86_64): Likewise.
21132 (knetbsd.miniroot-image.x86_64.img): Likewise.
21133 (kfreebsd-mfsroot.i386.gz): Likewise.
21134 (bootcheck-kfreebsd-i386): Likewise.
21135 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21136 (bootcheck-kfreebsd-x86_64): Likewise.
21137 (knetbsd.miniroot-image.i386.gz): Likewise.
21138 (bootcheck-knetbsd-i386): Likewise.
21139 (bootcheck-kopenbsd-i386): Likewise.
21140 (bootcheck-kopenbsd-x86_64): Likewise.
21141 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21142 (bootcheck-knetbsd-x86_64): Likewise.
21143 (bootcheck-linux-i386): Likewise.
21144 (bootcheck-linux-x86_64): Likewise.
21145 (bootcheck-linux16-i386): Likewise.
21146 (bootcheck-linux16-x86_64): Likewise.
21147 (bootcheck-multiboot): Likewise.
21148 (bootcheck-multiboot2): Likewise.
21149 (bootcheck-kfreebsd-aout): Likewise.
21150 (bootcheck-pc-chainloader): Likewise.
21151 (bootcheck-ntldr): Likewise.
21152 (CLEANFILES): Add new targets.
21153 (BOOTCHECKS): New variable.
21154 (.PHONY): Add bootchecks.
21155 (SUCCESSFUL_BOOT_STRING): New variable.
21156 (BOOTCHECK_TIMEOUT): Likewise.
21157 (bootcheck): New target
21158 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21159 * configure.ac: Correct efiemu excuse.
21160 * docs/grub.texi (Supported kernels): New chapter.
21161 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21162 include/grub/mm_private.h. Simplify inclusion of
21163 include/grub/boot.h, include/grub/loader.h
21164 and include/grub/msdos_partition.h
21165 (KERNEL_HEADER_FILES) [i386_coreboot]:
21166 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21167 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21168 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21169 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21170 include/grub/machine/loader.h.
21171 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21172 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21173 extra_dist.
21174 (pci.mod): Enable on i386-multiboot.
21175 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21176 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21177 i386-qemu.
21178 (relocator.mod): Rewritten.
21179 (aout.mod): Enable on all x86.
21180 (bsd.mod): Likewise.
21181 (ntldr.mod): New module.
21182 (linux.mod): Use loader/i386/linux.c on all x86.
21183 (xnu.mod): Enable on all x86.
21184 (vga_text.mod): disable on EFI and QEMU.
21185 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21186 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21187 * grub-core/efiemu/loadcore.c: Likewise.
21188 * grub-core/efiemu/main.c: Likewise.
21189 (grub_efiemu_exit_boot_services): Removed.
21190 (grub_efiemu_finish_boot_services): Likewise.
21191 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21192 function.
21193 * grub-core/efiemu/i386/nocfgtables.c: New file.
21194 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21195 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21196 (grub_efi_finish_boot_services): Moved from here ...
21197 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21198 Fille finish memory map and related data.
21199 (finish_mmap_buf): New variable.
21200 (grub_efi_uintn_t finish_mmap_size): Likewise.
21201 (grub_efi_uintn_t finish_key): Likewise.
21202 (grub_efi_uintn_t finish_desc_size): Likewise.
21203 (grub_efi_uint32_t finish_desc_version): Likewise.
21204 (grub_efi_is_finished): Likewise.
21205 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21206 finished.
21207 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21208 (grub_elf64_phdr_iterate): Likewise.
21209 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21210 (grub_os_area_size): Likewise.
21211 (grub_machine_init): Don't reserve os area.
21212 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21213 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21214 * grub-core/kern/i386/loader.S: Removed.
21215 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21216 (grub_os_area_size): Likewise.
21217 (grub_machine_init): Don't reserve os area.
21218 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21219 Don't call grub_dl_unload_all.
21220 Don't include loader.S.
21221 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21222 Declare the memory after _end as available.
21223 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21224 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21225 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21226 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21227 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21228 * include/grub/mm_private.h (grub_mm_header): ... here.
21229 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21230 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21231 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21232 (grub_mm_region): ..here. Removed addr. Added pre_size.
21233 All users updated.
21234 * grub-core/kern/mm.c (base): Renamed to ...
21235 (grub_mm_base): ... this. Made global.
21236 (grub_real_malloc): Alloc from end of region.
21237 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21238 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21239 * grub-core/kern/powerpc/cache_flush.S: ... here.
21240 * grub-core/lib/efi/relocator.c: New file.
21241 * grub-core/lib/i386/relocator.c: Rewritten.
21242 * grub-core/lib/i386/relocator16.S: New file.
21243 * grub-core/lib/i386/relocator32.S: Likewise.
21244 * grub-core/lib/i386/relocator64.S: Likewise.
21245 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21246 * grub-core/lib/i386/relocator_common.S: New file.
21247 * grub-core/lib/ieee1275/relocator.c: Likewise.
21248 * grub-core/lib/mips/relocator.c: Rewritten.
21249 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21250 stylistic adjustments.
21251 * grub-core/lib/powerpc/relocator.c: New file.
21252 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21253 * grub-core/lib/relocator.c: Rewritten.
21254 * grub-core/lib/x86_64/relocator_asm.S: New file.
21255 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21256 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21257 (bsd_tag): New struct.
21258 (tags): New variable.
21259 (tags_last): Likewise.
21260 (netbsd_module): New struct.
21261 (netbsd_mods): New variable.
21262 (netbsd_mods_last): Likewise.
21263 (openbsd_opts): New parameter "serial".
21264 (OPENBSD_SERIAL_ARG): New definition.
21265 (netbsd_opts): New parameter "serial".
21266 (NETBSD_SERIAL_ARG): New definition.
21267 (grub_freebsd_add_meta): Reorganised into ...
21268 (grub_bsd_add_meta): ...this. All users updated.
21269 (grub_freebsd_add_mmap): Reorganised into ...
21270 (generate_e820_mmap): ...this...
21271 (grub_bsd_add_mmap): ...and this. All users updated.
21272 (grub_freebsd_list_modules): Use tags.
21273 (grub_netbsd_add_meta_module): New function.
21274 (grub_netbsd_list_modules): Likewise.
21275 (grub_freebsd_boot): Use relocator and finish EFI.
21276 (grub_openbsd_boot): Likewise.
21277 (grub_netbsd_setup_video): New function.
21278 (grub_netbsd_add_modules): Likewise.
21279 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21280 and finish EFI.
21281 (grub_bsd_unload): Unload tags.
21282 (grub_bsd_load_aout): Use relocator.
21283 (grub_bsd_elf32_size_hook): New function.
21284 (grub_bsd_elf32_hook): Use relocator.
21285 (grub_bsd_elf64_size_hook): New function.
21286 (grub_bsd_elf64_hook): Use relocator.
21287 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21288 (grub_bsd_load): Zero-out openbsd_ramdisk.
21289 (grub_bsd_load): Use relocator.
21290 (grub_cmd_openbsd): Support serial.
21291 (grub_cmd_netbsd): Support modules.
21292 (grub_cmd_freebsd_module): Use relocator.
21293 (grub_netbsd_module_load): New function.
21294 (grub_cmd_netbsd_module): Likewise.
21295 (grub_cmd_openbsd_ramdisk): Likewise.
21296 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21297 kopenbsd_ramdisk.
21298 (GRUB_MOD_FINI): Unregister new commands.
21299 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21300 (grub_freebsd_load_elfmodule_obj): Use relocator.
21301 (grub_freebsd_load_elfmodule): Likewise.
21302 (grub_freebsd_load_elf_meta): Likewise.
21303 (grub_netbsd_load_elf_meta): New function.
21304 (grub_openbsd_find_ramdisk): Likewise.
21305 * grub-core/loader/i386/bsd_helper.S: Removed.
21306 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21307 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21308 * grub-core/loader/i386/efi/linux.c: Likewise.
21309 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21310 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21311 (DEFAULT_VIDEO_MODE): Likewise.
21312 (real_mode_target): New variable.
21313 (prot_mode_target): Likewise.
21314 (initrd_mem_target): Likewise.
21315 (relocator): Likewise.
21316 (efi_mmap_buf): Likewise.
21317 (efi_mmap_size): Likewise.
21318 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21319 (free_pages): Use relocator.
21320 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21321 (grub_linux_setup_video): Return error.
21322 (grub_linux_trampoline_start): Removed.
21323 (grub_linux_trampoline_end): Likewise.
21324 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21325 andd video parameters depending on firmware.
21326 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21327 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21328 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21329 (grub_cmd_initrd): Use relocator.
21330 * grub-core/loader/i386/linux_trampoline.S: Removed.
21331 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21332 (elf_sec_entsize): Likewise.
21333 (elf_sec_shstrndx): Likewise.
21334 (elf_sections): Likewise.
21335 (grub_multiboot_load): Use relocator.
21336 (grub_multiboot_get_mbi_size): Account for sections.
21337 (grub_multiboot_make_mbi): Use relocator and support sections.
21338 (grub_multiboot_add_elfsyms): New function.
21339 (grub_multiboot_free_mbi): Free sections.
21340 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21341 (grub_linux_real_target): Likewise.
21342 (grub_linux_real_chunk): Likewise.
21343 (grub_linux16_prot_size): Likewise.
21344 (grub_linux16_boot): Use relocator.
21345 (grub_linux_unload): Unload relocator.
21346 (grub_cmd_linux): Use relocator.
21347 (grub_cmd_initrd): Likewise.
21348 * grub-core/loader/i386/pc/ntldr.c: New file.
21349 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21350 Don't try to guess CPU frequency.
21351 (grub_xnu_set_video): Stretch bitmap.
21352 (grub_xnu_boot): Use relocator.
21353 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21354 (grub_linux_unload): Free relocator.
21355 (grub_linux_load32): Use relocator.
21356 (grub_linux_load64): Likewise.
21357 (grub_cmd_initrd): Likewise.
21358 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21359 (grub_multiboot_unload): Unload relocator.
21360 (grub_cmd_multiboot): Use relocator.
21361 (grub_cmd_module): Likewise.
21362 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21363 Use relocator and support sections.
21364 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21365 (elf_sec_entsize): Likewise.
21366 (elf_sec_shstrndx): Likewise.
21367 (elf_sections): Likewise.
21368 (grub_multiboot_load): Use relocator.
21369 (grub_multiboot_get_mbi_size): Account for sections.
21370 (grub_multiboot_make_mbi): Use relocator and support sections.
21371 (grub_multiboot_add_elfsyms): New function.
21372 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21373 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21374 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21375 Prototype changed. All users updated.
21376 (grub_xnu_align_heap): Simplified.
21377 (grub_xnu_writetree_toheap): Likewise.
21378 (grub_xnu_unload): Unload relocator.
21379 (grub_cmd_xnu_kernel): Use relocator.
21380 (grub_cmd_xnu_kernel64): Likewise.
21381 (grub_xnu_register_memory): Simplified.
21382 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21383 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21384 EFI is finished.
21385 (grub_console_checkkey): Likewise.
21386 (grub_console_getkey): Likewise.
21387 (grub_console_getwh): Likewise.
21388 (grub_console_getxy): Likewise.
21389 (grub_console_gotoxy): Likewise.
21390 (grub_console_cls): Likewise.
21391 (grub_console_setcolorstate): Likewise.
21392 (grub_console_setcursor): Likewise.
21393 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21394 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21395 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21396 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21397 * grub-core/tests/boot/kernel-8086.S: Likewise.
21398 * grub-core/tests/boot/kernel-i386.S: Likewise.
21399 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21400 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21401 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21402 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21403 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21404 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21405 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21406 * grub-core/tests/boot/linux.cfg: Likewise.
21407 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21408 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21409 * grub-core/tests/boot/linux16.cfg: Likewise.
21410 * grub-core/tests/boot/multiboot.cfg: Likewise.
21411 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21412 * grub-core/tests/boot/ntldr.cfg: Likewise.
21413 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21414 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21415 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21416 New definition.
21417 * include/grub/dl.h (grub_dl_unload_all): Removed.
21418 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21419 (grub_efi_finish_boot_services): Change prototype.
21420 (grub_efi_is_finished): New variable.
21421 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21422 Changed prototype.
21423 (grub_efiemu_finish_boot_services): Removed.
21424 (grub_machine_efiemu_init_tables): New prototype.
21425 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21426 (grub_elf64_phdr_iterate): Likewise.
21427 * include/grub/i386/bsd.h: Include relocator.h.
21428 (freebsd_tag_header): New struct.
21429 (grub_openbsd_bios_mmap): Removed.
21430 (grub_unix_real_boot): Removed.
21431 (grub_freebsd_load_elfmodule32): Changed prototype.
21432 (grub_freebsd_load_elfmodule_obj64): Likewise.
21433 (grub_freebsd_load_elf_meta32): Likewise.
21434 (grub_freebsd_load_elf_meta64): Likewise.
21435 (grub_freebsd_add_meta): Removed.
21436 (grub_netbsd_load_elf_meta32): New prototype.
21437 (grub_netbsd_load_elf_meta64): Likewise.
21438 (grub_bsd_add_meta): Likewise.
21439 (grub_openbsd_ramdisk_descriptor): New struct.
21440 (grub_openbsd_find_ramdisk32): New prototype.
21441 (grub_openbsd_find_ramdisk64): Likewise.
21442 * include/grub/i386/coreboot/loader.h: Removed.
21443 * include/grub/i386/efi/loader.h: Likewise.
21444 * include/grub/i386/ieee1275/loader.h: Likewise.
21445 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21446 to grub_uint32_t.
21447 * include/grub/i386/loader.h: Removed.
21448 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21449 value.
21450 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21451 (grub_phys_addr_t): New type.
21452 (grub_vtop): New inline function.
21453 (grub_map_memory): Likewise.
21454 (grub_unmap_memory): Likewise.
21455 * include/grub/i386/multiboot/loader.h: Removed.
21456 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21457 (NETBSD_BTINFO_CONSOLE): New definition.
21458 (NETBSD_BTINFO_SYMTAB): Likewise.
21459 (NETBSD_BTINFO_MODULES): Likewise.
21460 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21461 (grub_netbsd_bootinfo): New struct.
21462 (grub_netbsd_btinfo_common): Use explicit bitsize.
21463 (grub_netbsd_btinfo_mmap_entry): Removed.
21464 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21465 (grub_netbsd_btinfo_bootdisk): New struct.
21466 (grub_netbsd_btinfo_symtab): Likewise.
21467 (grub_netbsd_btinfo_serial): Likewise.
21468 (grub_netbsd_btinfo_modules): Likewise.
21469 (grub_netbsd_btinfo_framebuf): Likewise.
21470 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21471 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21472 Likewise.
21473 (grub_openbsd_bootargs): Use explicit bitsize.
21474 (grub_openbsd_bootarg_console): New struct.
21475 (GRUB_OPENBSD_COM_MAJOR): New definition.
21476 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21477 * include/grub/i386/pc/efiemu.h: Removed.
21478 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21479 * include/grub/i386/qemu/loader.h: Removed.
21480 * include/grub/i386/relocator.h: Rewritten.
21481 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21482 * include/grub/mips/memory.h: New file.
21483 * include/grub/mips/multiboot.h: Rewritten.
21484 * include/grub/mips/relocator.h: Rewritten.
21485 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21486 (grub_vtop): New function.
21487 (grub_map_memory): Likewise.
21488 (grub_unmap_memory): Likewise.
21489 * include/grub/misc.h (ALIGN_DOWN): New definition.
21490 * include/grub/mm.h (grub_mm_check_real): New proto.
21491 (GRUB_MM_CHECK): New definition.
21492 * include/grub/mm_private.h: New file.
21493 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21494 (grub_multiboot_get_mbi_size): Removed.
21495 (grub_multiboot_make_mbi): Change prottype.
21496 (grub_multiboot_set_accepts_video): New proto.
21497 (grub_multiboot_add_elfsyms): Likewise.
21498 (grub_multiboot_payload_eip): New variable.
21499 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21500 New prototype.
21501 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21502 New definition.
21503 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21504 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21505 * include/grub/powerpc/ieee1275/loader.h: Removed.
21506 * include/grub/powerpc/memory.h: New file.
21507 * include/grub/powerpc/relocator.h: Likewise.
21508 * include/grub/relocator.h: Likewise.
21509 * include/grub/relocator_private.h: Likewise.
21510 * include/grub/sparc64/ieee1275/loader.h: Removed.
21511 * include/grub/x86_64/memory.h: New file.
21512 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21513 (grub_xnu_heap_malloc): Likewise.
21514 (grub_xnu_heap_real_start): Removed.
21515 (grub_xnu_heap_start): Likewise.
21516 (grub_xnu_relocator): New variable.
21517 (grub_xnu_heap_target_start): Likewise.
21518 * tests/util/grub-shell.in: Support non-pc.
21519 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21520
5303b85d
VS
215212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21524 on malloc error.
21525 (grub_bidi_logical_to_visual): Check that malloc succeded.
21526 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21527 puts.
21528 (grub_xputs_normal): Likewise.
21529
d768d159
VS
215302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21533 extra_dist.
21534
215352010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21538
5bf84df4
VS
215392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21542
3626810e
VS
215432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21546 dprintf.
21547
a7363f53
BC
215482010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21549
21550 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21551
902f75f6
VS
215522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * grub-core/normal/term.c (print_more): Fix a memory leak.
21555 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21556 (grub_xputs_normal): Likewise.
21557
3c707967
VS
215582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21561 the begining of the string
21562
2053cc07
VS
215632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * grub-core/script/script.c (grub_script_parse): Free parsed on
21566 failure.
21567
46422ebf
VS
215682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21571 on failure.
21572
9e0fa3f6
VS
215732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21576 return.
21577
3393cf16
VS
215782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21581 (scroll_up): Fix a memory leak.
21582
b17540cb
VS
215832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21586 errors.
21587
67140446
VS
215882010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 Handle USB pendrives exposed as floppies.
21591
21592 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21593 floppy.
21594 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21595 Check for partitions on all devices.
21596
e35e46fc
VS
215972010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21600 (readkey): Likewise.
21601
d24c6190
BC
216022010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21603
21604 Multiple variable names support to "export" command.
21605
21606 * normal/context.c (grub_cmd_export): "export" command supports
21607 multiple variable names.
21608
04ddcc6a
ST
216092010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21610
21611 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21612 --target=drive output to Mach device name.
21613
0c8b61d8
BC
216142010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21615
21616 New Automake based build system for GRUB.
21617
21618 * ABOUT-NLS: New file.
21619 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21620 in Makefile.util.def file.
21621 * Makefile.util.def: New file. Autogen build definitions file for
21622 GRUB host utils.
21623 * conf/Makefile.common: New file. Common variables for GRUB host
21624 utils and target modules.
21625 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21626 * docs/Makefile.am: New file. Automake file for docs.
21627 * gentpl.py: New file. Python script to generate Autogen
21628 template.
21629 * grub-core/Makefile.am: New file. GRUB target modules' rules
21630 that doesn't fit in Makefile.core.def file.
21631 * grub-core/Makefile.core.def: New file. Autogen build
21632 definitions file for GRUB target modules.
21633 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21634 specific setjmp.S file.
21635 * po/Makefile.am: New file.
21636
21637 * .bzrignore: New ignores.
21638 * INSTALL: New requirements, without Ruby.
21639 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21640 * autogen.sh: Updated to invoke autogen as necessary.
21641 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21642 and defines for Automake conditionals.
21643 * geninit.sh: Refactoring.
21644
21645 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21646 necessary.
21647 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21648 New prototype.
21649
21650 * include/grub/test.h: Fix functional test modules' naming.
21651 * grub-core/tests/example_functional_test.c: Fix test module name.
21652
21653 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21654 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21655 * util/grub-editenv.c: Likewise.
21656 * util/grub-fstest.c: Likewise.
21657 * util/grub-mkdevicemap.c: Likewise.
21658 * util/grub-mkfont.c: Likewise.
21659 * util/grub-mkimage.c: Likewise.
21660 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21661 * util/grub-probe.c: Likewise.
21662 * util/grub-script-check.c: Likewise.
21663 * util/i386/pc/grub-setup.c: Likewise.
21664 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21665
21666 * tests/util/grub-shell.in: Fix override directory path.
21667 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21668 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21669
21670 * util/lvm.c: Update #includes.
21671 * util/raid.c: Likewise.
21672 * util/resolve.c: Likewise.
21673 * grub-core/bus/emu/pci.c: Likewise.
21674 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21675 * grub-core/lib/posix_wrap/string.h: Likewise.
21676 * grub-core/kern/emu/main.c: Likewise.
21677
21678 * grub-core/gensymlist.sh: New file. Script for generating kernel
21679 symbols file.
21680 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21681
21682 * grub-core/gentrigtables.c: Fix unused variable warnings.
21683
21684 * Makefile.in: Removed.
21685 * conf/any-emu.rmk: Removed.
21686 * conf/common.rmk: Removed.
21687 * conf/i386-coreboot.rmk: Removed.
21688 * conf/i386-efi.rmk: Removed.
21689 * conf/i386-ieee1275.rmk: Removed.
21690 * conf/i386-multiboot.rmk: Removed.
21691 * conf/i386-pc.rmk: Removed.
21692 * conf/i386-qemu.rmk: Removed.
21693 * conf/i386.rmk: Removed.
21694 * conf/mips-yeeloong.rmk: Removed.
21695 * conf/mips.rmk: Removed.
21696 * conf/powerpc-ieee1275.rmk: Removed.
21697 * conf/sparc64-ieee1275.rmk: Removed.
21698 * conf/tests.rmk: Removed.
21699 * conf/x86-efi.rmk: Removed.
21700 * conf/x86_64-efi.rmk: Removed.
21701 * gendistlist.sh: Removed.
21702 * geninitheader.sh: Removed.
21703 * genkernsyms.sh.in: Removed.
21704 * genmk.rb: Removed.
21705 * gensymlist.sh.in: Removed.
21706 * mkinstalldirs: Removed.
21707 * boot: Moved ...
21708 * grub-core/boot: ... to here.
21709 * bus: Moved ...
21710 * grub-core/bus: ... to here.
21711 * commands: Moved ...
21712 * grub-core/commands: ... to here.
21713 * disk: Moved ...
21714 * grub-core/disk: ... to here.
21715 * efiemu: Moved ...
21716 * grub-core/efiemu: ... to here.
21717 * font: Moved ...
21718 * grub-core/font: ... to here.
21719 * fs: Moved ...
21720 * grub-core/fs: ... to here.
21721 * gencmdlist.sh: Moved ...
21722 * grub-core/gencmdlist.sh: ... to here.
21723 * genemuinit.sh: Moved ...
21724 * grub-core/genemuinit.sh: ... to here.
21725 * genemuinitheader.sh: Moved ...
21726 * grub-core/genemuinitheader.sh: ... to here.
21727 * genfslist.sh: Moved ...
21728 * grub-core/genfslist.sh: ... to here.
21729 * genhandlerlist.sh: Moved ...
21730 * grub-core/genhandlerlist.sh: ... to here.
21731 * genmoddep.awk: Moved ...
21732 * grub-core/genmoddep.awk: ... to here.
21733 * genmodsrc.sh: Moved ...
21734 * grub-core/genmodsrc.sh: ... to here.
21735 * genpartmaplist.sh: Moved ...
21736 * grub-core/genpartmaplist.sh: ... to here.
21737 * genparttoollist.sh: Moved ...
21738 * grub-core/genparttoollist.sh: ... to here.
21739 * genterminallist.sh: Moved ...
21740 * grub-core/genterminallist.sh: ... to here.
21741 * gentrigtables.c: Moved ...
21742 * grub-core/gentrigtables.c: ... to here.
21743 * genvideolist.sh: Moved ...
21744 * grub-core/genvideolist.sh: ... to here.
21745 * gettext: Moved ...
21746 * grub-core/gettext: ... to here.
21747 * gfxmenu: Moved ...
21748 * grub-core/gfxmenu: ... to here.
21749 * gnulib: Moved ...
21750 * grub-core/gnulib: ... to here.
21751 * hello: Moved ...
21752 * grub-core/hello: ... to here.
21753 * hook: Moved ...
21754 * grub-core/hook: ... to here.
21755 * io: Moved ...
21756 * grub-core/io: ... to here.
21757 * kern: Moved ...
21758 * grub-core/kern: ... to here.
21759 * lib: Moved ...
21760 * grub-core/lib: ... to here.
21761 * loader: Moved ...
21762 * grub-core/loader: ... to here.
21763 * mmap: Moved ...
21764 * grub-core/mmap: ... to here.
21765 * normal: Moved ...
21766 * grub-core/normal: ... to here.
21767 * partmap: Moved ...
21768 * grub-core/partmap: ... to here.
21769 * parttool: Moved ...
21770 * grub-core/parttool: ... to here.
21771 * script: Moved ...
21772 * grub-core/script: ... to here.
21773 * term: Moved ...
21774 * grub-core/term: ... to here
21775 * tests/example_functional_test.c: Moved ...
21776 * grub-core/tests/example_functional_test.c: ... to here.
21777 * tests/lib/functional_test.c: Moved ...
21778 * grub-core/tests/lib/functional_test.c: ... to here.
21779 * tests/lib/test.c: Moved ...
21780 * grub-core/tests/lib/test.c: ... to here.
21781 * video: Moved ...
21782 * grub-core/video: ... to here.
21783
645586e6
BC
217842010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21785
21786 Replace --enable-grub-emu-modules with grub-emu-lite.
21787
21788 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21789 cache.S.
21790
21791 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21792 * kern/emu/full.c: New file. For grub-emu specific initialization.
21793 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21794 * kern/emu/main.c: Call initialization function grub_emu_init.
21795
21796 * Makefile.in: Include grub-emu-lite in install.
21797 * commands/parttool.c: Use grub_no_autoload to differentiate
21798 between grub-emu and grub-emu-lite.
21799 * include/grub/misc.h: New variable grub_no_autoload.
21800
21801 * conf/any-emu.rmk: New rules for grub-emu-lite.
21802 * configure.ac: Remove --enable-grub-emu-modules.
21803 * genmk.rb: Cleanup unnecessary rules.
21804 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21805
21806 * normal/main.c: Don't load list files on grub-emu-lite.
21807 * util/misc.c (grub_arch_sync_caches): Removed.
21808
f86a4030
CW
218092010-08-23 Colin Watson <cjwatson@ubuntu.com>
21810
21811 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21812 grub-mkimage rather than grub-mkelfimage.
21813 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21814
06776944
VS
218152010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21818 a key after CapsLock or NumLock. It's just a qemu bug.
21819
df262419
VS
218202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21823 needed by libusb wrapper.
21824
b40ea81b
ST
218252010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21826
21827 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21828
dee50575
VS
218292010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21830
21831 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21832 --nounzip is passed.
21833
fb1d7b79
VS
218342010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 USB hotunplugging and USB serial support.
21837
21838 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21839 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21840 (grub_uhci_transfer): Respect timeout and set *actual.
21841 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21842 non-standard length.
21843 (grub_usb_device_attach): Autoload modules.
21844 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21845 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21846 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21847 users updated.
21848 (grub_usb_add_hub): Fill nports and children.
21849 (attach_root_port): Receive hub instead of controller.
21850 All users updated. Fill hub->devices.
21851 (grub_usb_root_hub): Allocate hub->devices.
21852 (detach_device): New function.
21853 (poll_nonroot_hub): Fill children and detach devices.
21854 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21855 actual arguments. All users updated.
21856 (grub_usb_bulk_read_extended): New function.
21857 * bus/usb/serial/common.c: New file.
21858 * bus/usb/serial/ftdi.c: Likewise.
21859 * bus/usb/serial/pl2303.c: Likewise.
21860 * commands/terminal.c (handle_command): Support wildcard.
21861 * commands/usbtest.c: Output "Unknown" instead of empty string.
21862 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21863 (usbserial_common_mod_SOURCES): New variable.
21864 (usbserial_common_mod_CFLAGS): Likewise.
21865 (usbserial_common_mod_LDFLAGS): Likewise.
21866 (pkglib_MODULES): Add usbserial_pl2303.mod.
21867 (usbserial_pl2303_mod_SOURCES): New variable.
21868 (usbserial_pl2303_mod_CFLAGS): Likewise.
21869 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21870 (pkglib_MODULES): Add usbserial_ftdi.mod.
21871 (usbserial_ftdi_mod_SOURCES): New variable.
21872 (usbserial_ftdi_mod_CFLAGS): Likewise.
21873 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21874 (pkglib_MODULES): Add serial.mod.
21875 (serial_mod_SOURCES): New variable.
21876 (serial_mod_CFLAGS): Likewise.
21877 (serial_mod_LDFLAGS): Likewise.
21878 * conf/i386-pc.rmk: Likewise.
21879 * conf/mips-yeeloong.rmk: Likewise.
21880 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21881 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21882 * disk/usbms.c (first_available_slot): New variable.
21883 (grub_usbms_attach): Don't reuse free slots due to potential cache
21884 problems.
21885 * include/grub/serial.h: Moved to ..
21886 * include/grub/ns8250.h: ...this.
21887 * include/grub/serial.h: New file.
21888 * include/grub/term.h (grub_term_poll_usb): New variable.
21889 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21890 readkey. All users updated.
21891 (grub_terminfo_output_state): Pass term to put.
21892 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21893 (grub_usb_controller_dev): Add timeout and actual arguments to
21894 transfer. All users updated.
21895 (grub_usb_interface): New field detach_data.
21896 (grub_usb_device): New fields children and nports.
21897 (grub_usb_ep_type_t): New type.
21898 (grub_usb_get_ep_type): New function.
21899 (grub_usb_bulk_read_extended): Likewise.
21900 * include/grub/usbdesc.h (grub_usb_desc): New type.
21901 * include/grub/usbserial.h: New file.
21902 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21903 * kern/term.c (grub_term_poll_usb): New variable.
21904 (grub_getkey): Call grub_term_poll_usb if set.
21905 (grub_checkkey): Likewise.
21906 (grub_getkeystatus): Likewise.
21907 * term/serial.c: Moved controller-specific parts to ...
21908 * term/ns8250.c: ... here.
21909 * term/serial.c: Mostly rewritten.
21910 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21911 according to spec.
21912
21a313de
RM
219132010-08-20 Robert Millan <rmh@gnu.org>
21914
21915 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21916 a separate module and maybe other interesting combinations.
21917
21918 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21919 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21920 (kfreebsd_entry): Add generic filesystem module load routine.
21921 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21922
63c734a6
CW
219232010-08-20 Colin Watson <cjwatson@ubuntu.com>
21924
21925 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21926 "numcenter" (I misunderstood the purpose of this entry).
21927 * docs/grub.texi (sendkey): Likewise.
21928
c4d16542
CW
219292010-08-20 Colin Watson <cjwatson@ubuntu.com>
21930
21931 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21932 status flag options; simply omitting the option is equivalent and
21933 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21934 (keysym_table): Rename "num5numlock" to "numlock".
21935 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21936 can uniformly say that only the last of multiple `sendkey'
21937 invocations has any effect.
21938 * docs/grub.texi (sendkey): New section.
21939
93541d66
CW
219402010-08-19 Colin Watson <cjwatson@ubuntu.com>
21941
21942 * commands/i386/pc/sendkey.c (options): Fix three typos.
21943
b4ece5e1
VS
219442010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 Implement sendkey support.
21947
21948 * commands/i386/pc/sendkey.c: New file.
21949 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21950 (sendkey_mod_SOURCES): New variable.
21951 (sendkey_mod_CFLAGS): Likewise.
21952 (sendkey_mod_LDFLAGS): Likewise.
21953
51f1f5af
CW
219542010-08-18 Colin Watson <cjwatson@ubuntu.com>
21955
21956 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21957 fix warnings from Autoconf.
21958
9da94e05
CW
219592010-08-18 Colin Watson <cjwatson@ubuntu.com>
21960
21961 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21962 to avoid false positives with some assemblers that output things
21963 like "someprefix_func" as part of their output.
21964
729a0f2e
RM
219652010-08-15 Robert Millan <rmh@gnu.org>
21966
21967 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21968 errors.
21969 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21970 grub_get_libzfs_handle() errors.
21971
f3710e08
RM
219722010-08-14 Robert Millan <rmh@gnu.org>
21973
21974 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21975 filesystem is not ZFS.
21976
7a3c13de
BC
219772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21978
21979 Fix for misspelled color names defaulting to black/black (bug
21980 reported by Doug Nazar)
21981
21982 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21983 status to prototype.
21984 * normal/color.c (grub_parse_color_name_pair): Return failure
21985 status.
21986 (grub_env_write_color_normal): Ignore bad color names.
21987 (grub_env_write_color_highlight): Likewise.
21988 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21989
ab8ba50d
BC
219902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21991
21992 "shift" command support to GRUB script.
21993
21994 * include/grub/script_sh.h (grub_script_shift): New prototype.
21995 * script/execute.c (grub_script_shift): New function.
21996 * script/main.c (grub_script_init): Register shift command.
21997 (grub_script_fini): Unregister shift command.
21998 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21999
22000 * tests/grub_script_shift.in: New testcase.
22001 * conf/tests.rmk: Rules for new testcase.
22002
4d61999e
BC
220032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22004
22005 "continue" command support to GRUB script.
22006
22007 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22008 (grub_script_break): Continue support.
22009 * script/main.c (grub_script_init): Register continue command.
22010 (grub_script_fini): Unregister continue command.
22011
22012 * tests/grub_script_continue.in: New testcase.
22013 * conf/tests.rmk: Rules for new testcase.
22014
4df51e00
BC
220152010-08-12 BVK Chaitanya <bvk@dbook>
22016
22017 "break" command support to GRUB script.
22018
22019 * conf/common.rmk: Rule updates to grub-script-check.
22020 * include/grub/misc.h (grub_min): New function.
22021 * include/grub/script_sh.h (grub_script_init): New prototype.
22022 (grub_script_fini): New prototype.
22023 (grub_script_break): New prototype.
22024 * script/main.c (grub_script_init): New function.
22025 (grub_script_fini): New function.
22026 * script/execute.c (grub_script_break): New function.
22027 * normal/main.c: Calls to grub_script_{init,fini}.
22028 * util/grub-script-check.c (grub_script_break): New function.
22029
22030 * tests/grub_script_break.in: New testcase.
22031 * conf/tests.rmk: Rules for new test case.
22032
f12c8420
BC
220332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22034
22035 Function parameters support to GRUB script.
22036
22037 * script/yylex.l (VARIABLE): Regular expression update.
22038 * script/function.c (grub_script_function_call): Moved ...
22039 * script/execute.c (grub_script_function_call): ... to here.
22040 (grub_script_execute_arglist_to_argv): Removed.
22041 (grub_script_arglist_to_argv): New function.
22042 * script/argv.c: New file.
22043 (grub_script_argv_free): New function.
22044 (grub_script_argv_next): Likewise.
22045 (grub_script_argv_append): Likewise.
22046 (grub_script_argv_split_append): Likewise.
22047 * include/grub/script_sh.h (grub_script_argv): New struct.
22048 (grub_script_argv_free): New function.
22049 (grub_script_argv_next): Likewise.
22050 (grub_script_argv_append): Likewise.
22051 (grub_script_argv_split_append): Likewise.
22052
22053 * conf/common.rmk (normal.mod): New source script/argv.c.
22054
22055 * tests/grub_script_echo1.in: More tests.
22056 * tests/grub_script_vars1.in: Likewise.
22057 * tests/grub_script_functions.in: New test case.
22058 * conf/tests.rmk: Rules for new testcase.
22059
8022b748
BC
220602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22061
22062 Remove grub_script_cmdblock struct.
22063
22064 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22065 * script/parser.y: Likewise.
22066 * script/execute.c: Rename cmdblock suffix to cmdlist.
22067 * script/script.c: Likewise.
22068 * util/grub-script-check.c: Likewise.
22069
79a6ba61
YB
220702010-08-11 Yves Blusseau <blusseau@zetam.org>
22071
22072 * .bzrignore: add grub-macho2img
22073
d04b9414
VS
220742010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22075
22076 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22077
f947ab49
VS
220782010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 Remove the dump of sm712 initialisation sequence.
22081
22082 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22083 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22084 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22085 (GRUB_VGA_CR_*): Added many registers.
22086 (GRUB_VGA_SR_*): Likewise.
22087 (GRUB_VGA_GR_*): Likewise.
22088 (grub_vga_write_arx): New function.
22089 (grub_video_hw_config): New struct.
22090 (grub_vga_set_geometry): New function.
22091 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22092 GRUB_PCI_CLASS_SUBCLASS_VGA.
22093 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22094 * video/sm712.c (grub_sm712_write_reg): New function
22095 (grub_sm712_read_reg): Likewise.
22096 (grub_sm712_sr_write): Likewise.
22097 (grub_sm712_gr_write): Likewise.
22098 (grub_sm712_cr_write): Likewise.
22099 (grub_sm712_write_arx): Likewise.
22100 (grub_sm712_cr_shadow_write): Likewise.
22101 (grub_sm712_write_dda_lookup): Likewise.
22102 (grub_video_sm712_setup): Initialise the video rather then
22103 blindly replay the dump.
22104 (main) [TEST]: Add a routine to be able to compile as standalone for
22105 tests.
22106 * video/sm712_init.c (sm712_init): Removed.
22107 (sm712_sr_seq1): New array.
22108 (sm712_sr_seq2): Likewise.
22109
f0206638
VS
221102010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 * include/grub/vga.h: Add missing grub/pci.h include.
22113
2764da3b
YB
221142010-08-10 Yves Blusseau <blusseau@zetam.org>
22115
22116 * util/grub-macho2img.c (main): fix typo
22117
cf0c775e
VS
221182010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22119
22120 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22121 (grub_vga_gr_read): Likewise.
22122 (grub_vga_cr_write): Likewise.
22123 (grub_vga_cr_read): Likewise.
22124 (grub_vga_sr_write): Likewise.
22125 (grub_vga_sr_read): Likewise.
22126 (grub_vga_palette_read): Likewise.
22127 (grub_vga_palette_write): Likewise.
22128 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22129 (grub_sm712_sr_read): New function.
22130 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22131 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22132
07f360e9
RM
221332010-08-09 Robert Millan <rmh@gnu.org>
22134
22135 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22136 out unused variables on non-ZFS build.
22137
346c2072
RM
221382010-08-08 Robert Millan <rmh@gnu.org>
22139
22140 Fix path generation for sub-filesystems in ZFS.
22141
22142 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22143 missing slash.
22144
71175420
RM
221452010-08-08 Robert Millan <rmh@gnu.org>
22146
22147 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22148
0d8286f3
RM
221492010-08-08 Robert Millan <rmh@gnu.org>
22150
22151 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22152 exist, issue a proper error message (rely on `ls' for translated
22153 strings).
22154
55dd2924
RM
221552010-08-08 Robert Millan <rmh@gnu.org>
22156
22157 Fix grub-probe invocation.
22158
22159 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22160
d3dd9e80
RM
221612010-08-04 Robert Millan <rmh@gnu.org>
22162
22163 * configure.ac: Remove checks for getfsstat() and getmntany().
22164 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22165 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22166 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22167 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22168 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22169 function.
22170 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22171 via find_mount_point_from_dir() and getfsstat() / getmntany().
22172
0de22aa9
RM
221732010-08-04 Robert Millan <rmh@gnu.org>
22174
22175 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22176 (grub_find_zpool_from_mount_point): Merge into ...
22177 (grub_find_zpool_from_dir): ... this.
22178 * kern/emu/misc.c: Likewise.
22179
22180 * kern/emu/misc.c
22181 (grub_make_system_path_relative_to_its_root): Replace
22182 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22183 with grub_find_zpool_from_dir().
22184 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22185
62858144
RM
221862010-08-04 Robert Millan <rmh@gnu.org>
22187
22188 Support OpenSolaris in ZFS device resolution.
22189
22190 * configure.ac: Check for getmntany().
22191 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22192 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22193 support.
22194
9dd6fd50
RM
221952010-08-03 Robert Millan <rmh@gnu.org>
22196
22197 Fix grub-emu build.
22198
22199 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22200 * include/grub/emu/misc.h: ... here.
22201
22202 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22203 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22204
22205 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22206 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22207 (grub_get_libzfs_handle): Move to ...
22208 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22209 (grub_get_libzfs_handle): ... here.
22210
c9f7ff97
BC
222112010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22212
22213 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22214 as command name case.
22215
a870a783
CW
222162010-08-02 Colin Watson <cjwatson@ubuntu.com>
22217
22218 * disk/raid.c (insert_array): Select unique numbers for named arrays
22219 as well, for use as keys in the disk cache.
22220
c7db243b
RM
222212010-08-01 Robert Millan <rmh@gnu.org>
22222
22223 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22224 kFreeBSD device name, except on ZFS where the filesystem label is
22225 used.
22226 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22227 `/boot/zfs/zpool.cache'.
22228 Set mountfrom kernel variable using ${kfreebsd_device}.
22229
f7abdefb
RM
222302010-08-01 Robert Millan <rmh@gnu.org>
22231
22232 Make it even harder to use uninitialized `libzfs_handle' (and
22233 make the interface a bit simpler).
22234
22235 * include/grub/util/misc.h (grub_util_init_libzfs)
22236 (libzfs_handle): Remove.
22237 (grub_get_libzfs_handle): New prototype.
22238
22239 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22240 attribute.
22241 (grub_util_init_libzfs): Remove.
22242 (grub_get_libzfs_handle): New function.
22243
22244 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22245 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22246 accessing `libzfs_handle' directly.
22247
c882acc0
RM
222482010-08-01 Robert Millan <rmh@gnu.org>
22249
22250 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22251 (grub_find_zpool_from_mount_point): New function prototypes.
22252
22253 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22254 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22255
22256 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22257 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22258 `static' attribute.
22259
22260 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22261 finding zpool from mount point into ...
22262 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22263
22264 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22265 requested path is part of a ZFS pool, use
22266 grub_find_zpool_from_mount_point() to detect its filesystem name,
22267 and generate a path with `/fsname@path' syntax.
22268
8bfe31d8
CW
222692010-08-01 Colin Watson <cjwatson@ubuntu.com>
22270
22271 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22272 (void) rather than () so that this is a proper prototype.
22273
553df63d
VS
222742010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22275
22276 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22277
8687cf07
VS
222782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22279
22280 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22281 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22282
ea9be8ea
CW
222832010-08-01 Colin Watson <cjwatson@ubuntu.com>
22284
22285 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22286
6eea041a
CW
222872010-08-01 Colin Watson <cjwatson@ubuntu.com>
22288
22289 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22290
2cfb45df
CW
222912010-08-01 Colin Watson <cjwatson@ubuntu.com>
22292
22293 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22294 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22295 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22296 disable gfxpayload.
22297 (Shell-like scripting): Add real content.
22298 (Serial terminal): Suggest `terminal_input serial; terminal_output
22299 serial' rather than putting the two commands on separate lines,
22300 since console input will be inoperative after the first command.
22301 (menuentry): Document --class, --users, and --hotkey options.
22302 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22303 Vladimir Serbinenko).
22304
7decd202
VS
223052010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
223062010-08-01 Colin Watson <cjwatson@ubuntu.com>
22307
22308 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22309
c882acc0
RM
223102010-08-01 Robert Millan <rmh@gnu.org>
22311
22312 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22313 (grub_find_zpool_from_mount_point): New function prototypes.
22314
22315 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22316 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22317
22318 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22319 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22320 `static' attribute.
22321
22322 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22323 finding zpool from mount point into ...
22324 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22325
22326 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22327 requested path is part of a ZFS pool, use
22328 grub_find_zpool_from_mount_point() to detect its filesystem name,
22329 and generate a path with `/fsname@path' syntax.
22330
deb0caa3
RM
223312010-08-01 Robert Millan <rmh@gnu.org>
22332
22333 Prevent accidental use of uninitialized libzfs_handle.
22334
22335 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22336 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22337 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22338
ce04ef47
CW
223392010-08-01 Colin Watson <cjwatson@ubuntu.com>
22340
22341 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22342 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22343
ebf53056
RM
223442010-08-01 Robert Millan <rmh@gnu.org>
22345
22346 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22347
3710bb6b
RM
223482010-07-31 Robert Millan <rmh@gnu.org>
22349
22350 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22351
8072efeb
RM
223522010-07-31 Robert Millan <rmh@gnu.org>
22353
22354 * kern/emu/misc.c: Add missing license header.
22355
3169f4c7
RM
223562010-07-31 Robert Millan <rmh@gnu.org>
22357
22358 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22359
22360 * include/grub/util/libnvpair.h: Include `<config.h>'.
22361 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22362 declaring libnvpair prototypes ourselves.
22363 * include/grub/util/libzfs.h: Include `<config.h>'.
22364 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22365 declaring libzfs prototypes ourselves.
22366
22367 (libzfs_handle): Moved to ...
22368 * include/grub/util/misc.h (libzfs_handle): ... here.
22369 Include `<grub/util/libzfs.h>'.
22370
c9a00aee
RM
223712010-07-30 Robert Millan <rmh@gnu.org>
22372
22373 * include/grub/emu/misc.h: Add missing license header.
22374
a184f9c8
RM
223752010-07-30 Robert Millan <rmh@gnu.org>
22376
22377 Enable `grub-probe -t device' resolution on ZFS.
22378
22379 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22380 * include/grub/util/libnvpair.h: New file.
22381 * include/grub/util/libzfs.h: New file.
22382
22383 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22384 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22385 `<grub/util/libnvpair.h>'.
22386 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22387
22388 (find_mount_point_from_dir): New static function.
22389 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22390 function.
22391 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22392 find_root_device_from_libzfs() before ressorting to find_root_device().
22393
22394 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22395 prototype.
22396 * util/misc.c: Include `<grub/util/libzfs.h>'.
22397 (grub_util_init_libzfs): New function.
22398 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22399 [HAVE_LIBZFS] (fini_libzfs): New static function.
22400 (grub_util_init_libzfs): New function.
22401 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22402
f7790cdd
RM
224032010-07-30 Robert Millan <rmh@gnu.org>
22404
22405 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22406 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22407 `warn_unused_result' attribute.
22408 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22409 (grub_xasprintf, grub_xvasprintf): Likewise.
22410 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22411
0806b63c
RM
224122010-07-29 Robert Millan <rmh@gnu.org>
22413
22414 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22415 (probe): Handle `PRINT_FS_LABEL'.
22416 (main): Handle `-t fs_label'.
22417
9f841f5c
RM
224182010-07-29 Robert Millan <rmh@gnu.org>
22419
22420 * configure.ac: Remove grub-mkisofs checks.
22421
46371121
VS
224222010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22423
22424 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22425 Reported by: Lennart Sorensen.
22426
224272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22430 prior to terminal_input/terminal_output separation. It's been over 1.5
22431 years and those versions weren't widely deployed.
22432
a9600892
CW
224332010-07-22 Colin Watson <cjwatson@ubuntu.com>
22434
22435 * disk/raid.c (insert_array): Don't count named arrays when looking
22436 for unused array numbers.
697e053c 22437 Reported and tested by: Michael Guntsche.
a9600892 22438
c03507df
CW
224392010-07-20 Colin Watson <cjwatson@ubuntu.com>
22440
22441 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22442 implementation of this so that grub-emu links again, with a note
22443 that this should support hotplugging in the future.
22444
b26f1c11
CW
224452010-07-20 Colin Watson <cjwatson@ubuntu.com>
22446
22447 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22448
efc9d7f1
CW
224492010-07-20 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22452 handle on failure.
22453 (grub_loopback_close): Remove empty function.
22454 (grub_loopback_dev): Remove close method.
22455
dd8ff5c9
CW
224562010-07-20 Colin Watson <cjwatson@ubuntu.com>
22457
22458 Disable EFI cursor when the EFI console becomes inactive.
22459
22460 * term/efi/console.c (grub_efi_console_init): New function.
22461 (grub_efi_console_fini): New function.
22462 (grub_console_term_output): Register init and fini methods.
22463
5e3bec67
VS
224642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22465
22466 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22467 sh script.
22468
afaec079
VS
224692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 * disk/loopback.c (grub_loopback): Replace filename with file.
22472 (delete_loopback): Handle new semantics.
22473 (grub_cmd_loopback): Likewise.
22474 (grub_loopback_iterate): Likewise.
22475 (grub_loopback_close): Likewise.
22476
a6a11f3c
VS
224772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22480 with -p "".
22481 Reported by: Tito Keitel.
22482
64a638b0
VS
224832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22484
22485 * docs/grub.texi (Naming convention): Document new naming convention.
22486
ab8ba957
VS
224872010-07-20 Vadim Solomin <vadic052@gmail.com>
224882010-07-20 Colin Watson <cjwatson@ubuntu.com>
22489
22490 Generate device.map in something closer to the old ordering.
22491
22492 * util/deviceiter.c (struct device): New declaration.
22493 (compare_file_names): Rename to ...
22494 (compare_devices): ... this. Sort by kernel name in preference to
22495 the stable by-id name, but keep the latter as a fallback comparison.
22496 Update header comment.
22497 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22498 of `struct device' rather than of plain file names.
22499
a29d6a4b
TF
225002010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22501
22502 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22503 on i386.
22504
39d824e8
VS
225052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22508 hardcoding size.
22509 (setv1table): Likewise.
22510
f058276b
FZ
225112010-07-20 Colin Watson <cjwatson@ubuntu.com>
22512
22513 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22514 removing the homehost if present.
22515 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22516 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22517 removing the homehost if present.
22518 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22519 if possible.
22520 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22521
22522 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22523 parameter. Set its pointer target to 0.
22524 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22525 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22526 `data_offset' value from the superblock for 1.x metadata.
22527 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22528 data on the device.
22529 (insert_array): Record the start sector of data on the device.
22530 (grub_raid_register): Pass start_sector parameters to
22531 grub_raid_list->detect and insert_array.
22532 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22533 member.
22534 (struct grub_raid): Add start_sector parameter to `detect'.
22535
22536 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22537 __attribute__ ((packed)), leaving a comment.
22538 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22539 (grub_mdraid_detect_09): ... here and ...
22540 (grub_mdraid_detect_1x): ... here.
22541
225422010-07-20 Peter Henn <peter.henn@web.de>
22543
22544 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22545 chunk size and disk size, which are already given as sector counts
22546 as distinct from the 0.90 units. Fetch the correct device number
22547 from the role table instead of using the table index.
22548
225492010-07-20 Felix Zielcke <fzielcke@z-51.de>
22550
22551 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22552 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22553 (WriteMostly1): New macro.
22554 Set array->name to NULL for metadata format 0.90. Add support for
22555 metadata 1.x. Fix some comments.
22556 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22557 few comments.
22558 * util/getroot.c (grub_util_get_grub_dev): Add support for
22559 /dev/md/name style devices.
22560
4b761da9
CW
225612010-07-20 Colin Watson <cjwatson@ubuntu.com>
22562
22563 * .bzrignore: Ignore 20_linux_xen.
22564
5771289a
CW
225652010-07-17 Colin Watson <cjwatson@ubuntu.com>
22566
22567 * util/import_unicode.py: Remove unnecessary imports.
22568
5dab68df
AN
225692010-07-17 Aleš Nesrsta <starous@volny.cz>
22570
22571 Hotplugging and USB hub support.
22572
22573 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22574 (grub_ohci): Likewise.
22575 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22576 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22577 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22578 (GRUB_OHCI_CTRL_EDS): Likewise.
22579 (GRUB_OHCI_BULK_EDS): Likewise.
22580 (GRUB_OHCI_TDS): Likewise.
22581 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22582 (grub_ohci_ed_phys2virt): New function.
22583 (grub_ohci_virt_to_phys): Likewise.
22584 (grub_ohci_td_phys2virt): Likewise.
22585 (grub_ohci_td_virt2phys): Likewise.
22586 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22587 attachment.
22588 (grub_ohci_find_ed): New function.
22589 (grub_ohci_alloc_td): Likewise.
22590 (grub_ohci_free_td): Likewise.
22591 (grub_ohci_free_tds): Likewise.
22592 (grub_ohci_transfer): Use previously allocated memory.
22593 (grub_ohci_portstatus): Reset status changed bit.
22594 (grub_ohci_detect_dev): Supply status changed.
22595 (grub_ohci_fini_hw): Free memory.
22596 (grub_ohci_restore_hw): Reallocate memory.
22597 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22598 Reset status change.
22599 (grub_uhci_detect_dev): Supply status_change.
22600 * bus/usb/usb.c (attach_hooks): New var.
22601 (grub_usb_device_attach): New function.
22602 (grub_usb_register_attach_hook_class): Likewise.
22603 (grub_usb_unregister_attach_hook_class): Likewise.
22604 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22605 (grub_usb_add_hub): Reset connection changed bit.
22606 (attach_root_port): New function.
22607 (grub_usb_root_hub): Likewise.
22608 (poll_nonroot_hub): Likewise.
22609 (grub_usb_poll_devices): Likewise.
22610 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22611 * disk/usbms.c (grub_usbms_open): Use device hooks.
22612 (grub_usbms_iterate) :Poll devices.
22613 (grub_usbms_finddevs): Split into ...
22614 (grub_usbms_attach): ... this ...
22615 (grub_usbms_attach): ... and this.
22616 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22617 in detect_dev.
22618 (grub_usb_interface): New fields attached and detach_hook.
22619 (grub_usb_attach_hook_class): New type.
22620 (grub_usb_attach_desc): New struct.
22621 (grub_usb_register_attach_hook_class): New function.
22622 (grub_usb_unregister_attach_hook_class): Likewise.
22623 (grub_usb_poll_devices): Likewise.
22624 (grub_usb_device_attach): Likewise.
22625 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22626 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22627
3222efaf
VS
226282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22631 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22632 delta determination style. Works with most NetBSD partitions too.
22633
139b714a
VS
226342010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22637 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22638
986aad56
VS
226392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22642
99be513c
AB
226432010-07-14 Anton Blanchard <anton@samba.org>
22644
22645 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22646 ET_DYN files.
22647
18075f62
GS
226482010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22649
22650 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22651
8d9a5b15
GS
226522010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22653
22654 * kern/partition.c (grub_partition_check_containment): New function to
22655 check that a partition is physically contained in a parent. Since
22656 offsets are relative (and non-negative), this reduces to checking that
22657 the partition ends before its parent.
22658 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22659 (grub_partition_iterate): Likewise.
22660 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22661 comments.
22662 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22663 partitions that start before their parent, and add debug printfs.
22664
19563c25
CW
226652010-07-13 Colin Watson <cjwatson@ubuntu.com>
22666
22667 * Makefile.in (.SUFFIX): Spell correctly, as ...
22668 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22669 bare module name without `.mod', e.g. `test') tried to invoke a
22670 Modula-2 compiler.
22671
1a1f1e67
CW
226722010-07-13 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * README: Point to the Info manual.
22675
811b0dca
JS
226762010-07-13 Jiro SEKIBA <jir@unicus.jp>
22677
22678 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22679 2nd superblock position from partition size.
22680
e4f4eafc
CW
226812010-07-10 Colin Watson <cjwatson@ubuntu.com>
22682
22683 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22684 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22685 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22686 outputs.
22687
4274c30f
VS
226882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22689
22690 Restructure SCSI .id handling.
22691 Reported and tested by: Aleš Nesrsta.
22692
22693 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22694 (grub_atapi_dev): Changed .name to "ata". New field .id.
22695 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22696 (grub_usbms_dev): New field .id.
22697 * disk/scsi.c (grub_scsi_iterate): Generate name.
22698 (grub_scsi_open): Parse name.
22699 * include/grub/scsi.h (grub_make_scsi_id): New function.
22700 (grub_scsi_dev): Change iterate and open to number instead of naming
22701 busses. All users updated.
22702 (grub_scsi): Remove name. Add .bus.
22703
5bc24388
VS
227042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * commands/help.c (grub_cmd_help): Fix a typo.
22707
249975ba
VS
227082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22711 Reported and tested by: Colin Watson.
22712
3eaac1a1
VS
227132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22716 in this context.
22717
becce1b1
VS
227182010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22721
f7bf0918
CW
227222010-07-07 Colin Watson <cjwatson@ubuntu.com>
22723
22724 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22725 indentation.
22726
0b0f9620
CW
227272010-07-06 Colin Watson <cjwatson@ubuntu.com>
22728
22729 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22730 and disk/raid6_recover.c.
22731 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22732 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22733
1e545469
CW
227342010-07-06 Colin Watson <cjwatson@ubuntu.com>
22735
22736 * term/gfxterm.c (repaint_schedulded): Rename to ...
22737 (repaint_scheduled): ... this. Update all callers.
22738 (repaint_was_schedulded): Rename to ...
22739 (repaint_was_scheduled): ... this. Update all callers.
22740
5357687a
CW
227412010-07-06 Colin Watson <cjwatson@ubuntu.com>
22742
22743 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22744 which we expect to be handled by upper layers.
22745
29d7e783
BC
227462010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22747
22748 * bus/usb/usbhub.c: #include time.h header.
22749
37582066
CW
227502010-07-06 Colin Watson <cjwatson@ubuntu.com>
22751
22752 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22753 entry_name also for entries without stat blocks (e.g. ".."); fixes
22754 corruption of the first entry in a directory.
22755
c8c06953
CW
227562010-07-06 Colin Watson <cjwatson@ubuntu.com>
22757
22758 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22759 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22760 doesn't work otherwise.
22761
e75056f1
CW
227622010-07-05 Colin Watson <cjwatson@ubuntu.com>
22763
22764 * docs/grub.texi (Features): Update list of supported file systems.
22765 (GNU/Linux): Update for GRUB 2.
22766 (Serial terminal): Remove mention of --disable-serial, which was a
22767 GRUB Legacy configure option. Update instructions to use
22768 `terminal_input' and `terminal_output' rather than `terminal'.
22769 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22770 configuration' and `Installing GRUB using grub-install'.
22771 (Menu entry editor): Update for GRUB 2.
22772 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22773 Document new -a, -u, and -v options.
22774 (initrd): New section.
22775 (initrd16): New section.
22776 (linux): New section.
22777 (linux16): New section.
22778 (search): The `var' argument to `--set' is optional.
22779 (GRUB only offers a rescue shell): Go into a little more detail on
22780 drive ordering.
22781
5cf69151
CW
227822010-07-05 Colin Watson <cjwatson@ubuntu.com>
22783
22784 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22785
e3f90044
CW
227862010-07-05 Colin Watson <cjwatson@ubuntu.com>
22787
22788 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22789 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22790
38d8f4f3
CW
227912010-07-05 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22794 install_prefix, in line with install_dos_part and install_bsd_part.
22795 Add new prefix variable, which is copied to install_prefix after
22796 comparing core.img in memory with the one read from disk in the
22797 no-embedding case, and use that rather than overwriting
22798 install_prefix immediately when installing to a partition.
22799 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22800 Bicakci.
22801
57ebd41e
GS
228022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22803
22804 * configure.ac: Avoid == in test command, it's not portable.
22805 * util/grub.d/30_os-prober.in: Likewise.
22806
cb7f64b2
CW
228072010-07-04 Colin Watson <cjwatson@ubuntu.com>
22808
22809 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22810
6b654bb0
GS
228112010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22812
22813 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22814 multiple (top-level) partmaps.
22815
72a2026d
VS
228162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22817
22818 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22819 Reported by: Tino Keitel.
72a2026d 22820
df3eb88f
VS
228212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22822
22823 Bidi and diacritics support.
22824
22825 * Makefile.in (widthspec.bin): New target.
22826 (widthspec.h): Likewise.
22827 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22828 * autogen.sh: Generate unidata.c.
22829 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22830 * commands/ls.c (grub_ls_list_devices): Likewise.
22831 (grub_ls_list_files): Likewise.
22832 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22833 (grub_mini_cmd_lsmod): Likewise.
22834 * commands/read.c: Likewise.
22835 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22836 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22837 * lib/arg.c (grub_arg_show_help): Likewise.
22838 * lib/crypto.c (grub_password_get): Likewise.
22839 * normal/auth.c (grub_username_get): Likewise.
22840 * normal/misc.c (grub_normal_print_device_info): Likewise.
22841 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22842 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22843 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22844 (normal/charset.c_DEPENDENCIES): New variable.
22845 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22846 (pkglib_MODULES): Remove charset.mod.
22847 (charset_mod_SOURCES): Removed.
22848 (charset_mod_CFLAGS): Likewise.
22849 (charset_mod_LDFLAGS): Likewise.
22850 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22851 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22852 and term/tparm.c.
22853 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22854 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22855 (kernel_img_HEADERS): Add terminfo.h.
22856 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22857 Fill ->font. Reverse ascii bitmaps.
22858 (grub_font_get_xheight): New function.
22859 * font/font.c (grub_font_get_string_width): Moved from here ...
22860 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22861 * font/font.c (grub_font_draw_string): Moved from here ...
22862 * gfxmenu/font.c (grub_font_draw_string): ... here.
22863 * font/font.c (grub_font_dup_glyph): New function.
22864 (grub_font_blit_glyph): Likewise.
22865 (grub_font_blit_glyph_mirror): Likewise.
22866 (blit_comb): Likewise.
22867 (grub_font_construct_dry_run): Likewise.
22868 (grub_font_get_constructed_device_width): Likewise.
22869 (grub_font_construct_glyph): Likewise.
22870 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22871 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22872 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22873 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22874 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22875 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22876 (grub_font_get_xheight): New proto.
22877 (grub_font_get_constructed_device_width): Likewise.
22878 (grub_font_construct_glyph): Likewise.
22879 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22880 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22881 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22882 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22883 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22884 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22885 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22886 (grub_console_getcharwidth): Likewise.
22887 * include/grub/misc.h (grub_xputs): New proto.
22888 (grub_puts): Inlined.
22889 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22890 (grub_normal_get_line_counter): Removed.
22891 (grub_install_newline_hook): Likewise.
22892 (grub_normal_get_char_counter): New proto.
22893 (grub_normal_reset_more): Likewise.
22894 (grub_xputs_normal): Likewise.
22895 * include/grub/powerpc/ieee1275/console.h: Removed.
22896 * include/grub/sparc64/ieee1275/console.h: Likewise.
22897 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22898 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22899 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22900 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22901 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22902 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22903 (grub_term_input): Pass reference to self. All users updated.
22904 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22905 Pass reference to self. New fields normal_color, highlight_color and
22906 data. All users updated.
22907 (grub_putchar): Removed.
22908 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22909 (grub_unicode_estimate_width): New function.
22910 (grub_term_getcharwidth): Add defaults.
22911 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22912 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22913 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22914 (grub_cls): Remove EXPORT_FUNC.
22915 (grub_setcolorstate): Inline.
22916 (grub_newline_hook): Removed.
22917 * include/grub/terminfo.h: Rewritten. All users updated.
22918 * include/grub/unicode.h: New file.
22919 * include/grub/video.h (grub_video_signed_rect): New type.
22920 * kern/emu/console.c (grub_console_highlight_color): Removed.
22921 (grub_console_normal_color): Likewise.
22922 (grub_console_standard_color): Made static.
22923 (grub_ncurses_putchar): Remove mapping.
22924 (grub_ncurses_getcharwidth): Removed.
22925 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22926 (grub_ncurses_setcolor): Removed.
22927 (grub_ncurses_getcolor): Likewise.
22928 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22929 (grub_console_putchar): ... this.
22930 (grub_console_putchar): Handle argument difference.
22931 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22932 console_init_early and console_init_lately.
22933 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22934 * kern/misc.c (grub_puts): Removed.
22935 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22936 (grub_vsnprintf_real): Remove str = NULL support.
22937 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22938 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22939 * kern/term.c (grub_putcode): Renamed to ...
22940 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22941 (grub_putchar): Removed.
22942 (grub_xputs_dumb): New function.
22943 (grub_xputs): New variable.
22944 * lib/charset.c: Move from here ...
22945 * normal/charset.c: ... to here.
22946 (grub_ucs4_to_utf8): New function.
22947 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22948 (join_types): New variable.
22949 (unpack_join): New function.
22950 (bidi_types): New variable.
22951 (unpack_bidi): New function.
22952 (get_bidi_type): Likewise.
22953 (get_join_type): Likewise.
22954 (is_mirrored): Likewise.
22955 (grub_unicode_get_comb_type): Likewise.
22956 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22957 (is_type_after): Likewise.
22958 (grub_unicode_aglomerate_comb): Likewise.
22959 (bidi_line_wrap): Likewise.
22960 (grub_bidi_line_logical_to_visual): Likewise.
22961 (grub_bidi_logical_to_visual): Likewise.
22962 (grub_unicode_mirror_code): Likewise.
22963 (grub_unicode_shape_code): Likewise.
22964 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22965 Don't use grub_putchar.
22966 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22967 (grub_normal_reader_init): Likewise.
22968 (grub_xputs_saved): New variable.
22969 (GRUB_MOD_INIT): Set grub_xputs.
22970 (GRUB_MOD_FINI): Restore grub_xputs.
22971 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22972 (menu_init): Avoid printing gfxmenu error.
22973 (show_menu): Use grub_normal_get_char_counter.
22974 * normal/menu_entry.c (update_screen): Fix out-of-array.
22975 (complete): Avoid NULL dereferencing.
22976 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22977 * normal/menu_text.c (print_spaces): Removed.
22978 (grub_print_ucs4): Likewise.
22979 (grub_print_message_indented): Use grub_print_ucs4.
22980 (print_message): Use grub_putcode.
22981 (print_entry): Hanlde diacritics.
22982 * normal/term.c (term_state): New type.
22983 (grub_more_lines): Removed.
22984 (term_states): New variable.
22985 (grub_normal_line_counter): Renamed to ..
22986 (grub_normal_char_counter): ...this. All users updated.
22987 (grub_normal_get_line_counter): Renamed to ...
22988 (grub_normal_get_char_counter): ... this.
22989 (grub_normal_reset_more): New function.
22990 (process_newline): Removed.
22991 (print_more): New function.
22992 (grub_install_newline_hook): Removed.
22993 (map_code): New function.
22994 (grub_puts_terminal): Use grub_print_ucs4.
22995 (putglyph): New function.
22996 (putcode_real): Likewise.
22997 (grub_putcode): Use putcode_real.
22998 (get_maxwidth): New function.
22999 (get_startwidth): Likewise.
23000 (print_ucs4_terminal): Likewise.
23001 (find_term_state): Likewise.
23002 (put_glyphs_terminal): Likewise.
23003 (print_backlog): Likewise.
23004 (print_ucs4_real): Likewise.
23005 (grub_print_ucs4): Likewise.
23006 (grub_xputs_normal): Likewise.
23007 * term/efi/console.c (grub_console_putchar): Output diacritics.
23008 (grub_console_getcharwidth): Removed.
23009 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23010 * term/gfxterm.c (clear_char): Free chars.
23011 (scroll_up): Avoid leaking memory.
23012 (grub_gfxterm_putchar): Support diacritics.
23013 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23014 * term/i386/pc/console.c (grub_console_term_output): Declare as
23015 GRUB_TERM_CODE_TYPE_VGA.
23016 * term/i386/pc/vga.c (grub_vga_term): Declare as
23017 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23018 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23019 GRUB_TERM_CODE_TYPE_VGA.
23020 * term/i386/vga_common.c (map_char): Removed.
23021 (grub_console_putchar): Likewise.
23022 (grub_console_getcharwidth): Likewise.
23023 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23024 (colors): Reordered to match terminfo.
23025 (grub_ofconsole_normal_color): Removed.
23026 (grub_ofconsole_writeesc): Likewise.
23027 (grub_ofconsole_highlight_color): Likewise.
23028 (grub_ofconsole_getcharwidth): Likewise.
23029 (grub_ofconsole_setcolorstate): Likewise.
23030 (grub_ofconsole_setcolor): Likewise.
23031 (grub_ofconsole_getcolor): Likewise.
23032 (grub_ofconsole_readkey): Renamed to ...
23033 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23034 key.
23035 (grub_ofconsole_checkkey): Removed.
23036 (grub_ofconsole_getkey): Likewise.
23037 (grub_ofconsole_getxy): Likewise.
23038 (grub_ofconsole_gotoxy): Likewise.
23039 (grub_ofconsole_cls): Likewise.
23040 (grub_ofconsole_refresh): Likewise.
23041 (grub_ofconsole_terminfo_input): New struct.
23042 (grub_ofconsole_terminfo_output): Likewise.
23043 (grub_ofconsole_term_input): Use terminfo.
23044 (grub_ofconsole_term_output): Likewise.
23045 (grub_console_init): Split into ...
23046 (grub_console_init_early): ...this and ...
23047 (grub_console_init_lately): ...this. Use terminfo.
23048 (grub_ofconsole_putchar): Renamed to ...
23049 (put): ... this. Remove mapping.
23050 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23051 * term/serial.c: Simplify using terminfo.
23052 (xpos): Removed.
23053 (ypos): Likewise.
23054 (keep_track): Likewise.
23055 (registered): Likewise.
23056 (input_buf): Likewise.
23057 (npending): Likewise.
23058 (serial_translate_key_sequence): Likewise.
23059 (fill_input_buf): Likewise.
23060 (grub_serial_checkkey): Likewise.
23061 (grub_serial_getkey): Likewise.
23062 (grub_serial_getxy): Likewise.
23063 (grub_serial_gotoxy): Likewise.
23064 (grub_serial_putchar): Likewise.
23065 (grub_serial_cls): Likewise.
23066 (grub_serial_setcolorstate): Likewise.
23067 (grub_serial_setcursor): Likewise.
23068 (serial_hw_init): Use serial_hw_fetch.
23069 (grub_serial_terminfo_input): New variable.
23070 (grub_serial_terminfo_output): Likewise.
23071 (grub_serial_term_input): Use terminfo.
23072 (grub_serial_term_output): Likewise.
23073 * term/terminfo.c (putstr): Use put.
23074 (grub_terminfo_all_free): New function
23075 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23076 (grub_terminfo_output_register): New function.
23077 (grub_terminfo_output_unregister): Likewise.
23078 (grub_terminfo_getxy): Likewise.
23079 (grub_terminfo_readkey): Likewise.
23080 (grub_terminfo_checkkey): Likewise.
23081 (grub_terminfo_getkey): Likewise.
23082 (grub_terminfo_input_init): Likewise.
23083 (print_terminfo): Likewise.
23084 (grub_cmd_terminfo): Handle encoding.
23085 (grub_terminfo_gotoxy): Track position.
23086 (grub_terminfo_cls): Likewise.
23087 (grub_terminfo_putchar): Likewise.
23088 (grub_terminfo_setcolorstate): Handle colors
23089 (grub_terminfo_cursor_on): This ...
23090 (grub_terminfo_cursor_off): ... and this merged into ...
23091 (grub_terminfo_setcursor): ... this.
23092 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23093 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23094 * unicode/BidiMirroring.txt: Likewise.
23095 * unicode/UnicodeData.txt: Likewise.
23096 * unicode/COPYING: Likewise.
23097 * util/grub-editenv.c (grub_putchar): Removed.
23098 (grub_xputs_real): New function.
23099 (grub_xputs): New variable.
23100 * util/grub-fstest.c (grub_putchar): Removed.
23101 (grub_xputs_real): New function.
23102 (grub_xputs): New variable.
23103 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23104 (grub_xputs_real): New function.
23105 (grub_xputs): New variable.
23106 * util/grub-probe.c (grub_putchar): Removed.
23107 (grub_xputs_real): New function.
23108 (grub_xputs): New variable.
23109 * util/grub-script-check.c (grub_putchar): Removed.
23110 (grub_xputs_real): New function.
23111 (grub_xputs): New variable.
23112 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23113 (grub_xputs_real): New function.
23114 (grub_xputs): New variable.
23115 * util/import_unicode.py: New file.
23116 * util/grub-mkfont.c (ft_errmsgs): New array.
23117 (grub_glyph_info): Make bitmap a pointer.
23118 (file_formats): New type WIDTH_SPEC.
23119 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23120 (options): Add width-spec.
23121 (help): Likewise.
23122 (add_char): Renamed to ...
23123 (add_glyph): ... this.
23124 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23125 (glyph_replace): New type.
23126 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23127 (add_char): New function.
23128 (add_subst): Likewise.
23129 (process_cursive): Likewise.
23130 (add_font): Handle GSUB.
23131 (write_font_width_spec): New function.
23132 (main): Sort glyphs.
23133 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23134 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23135 * kern/term.c (grub_cls): Moved from here...
23136 * normal/term.c (grub_cls): ... here.
23137
50f0bcda
CW
231382010-07-02 Colin Watson <cjwatson@ubuntu.com>
23139
23140 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23141 suitable for using within the format argument of printf when
23142 converting grub_size_t.
23143 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23144 "x" to convert grub_size_t arguments.
23145
40372103
VS
231462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23147
23148 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23149 too long captions.
23150 (list_get_minimal_size): Take selection box into account.
23151
942a10c7
VS
231522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23155 NULL font.
23156
2bdb2892
CW
231572010-07-02 Colin Watson <cjwatson@ubuntu.com>
23158
23159 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23160 devices when iterating over /dev/disk/by-id; they will be handled
23161 later if appropriate, which they aren't always (e.g. LVM).
23162
e03ed6c1
CW
231632010-07-02 Colin Watson <cjwatson@ubuntu.com>
23164
23165 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23166 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23167 fails.
23168 (grub_halt): Likewise.
23169 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23170 reset-all fails.
23171 (grub_halt): Don't return, even if all of shut-down, power-off, and
23172 poweroff fail.
23173
47695765
CW
231742010-07-02 Colin Watson <cjwatson@ubuntu.com>
23175
23176 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23177 arguments, not three.
23178
507736c8
CW
231792010-07-02 Colin Watson <cjwatson@ubuntu.com>
23180
23181 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23182 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23183 LVM-on-RAID is handled correctly.
23184
e3c8cd37
CW
231852010-07-02 Colin Watson <cjwatson@ubuntu.com>
23186
23187 * docs/grub.texi (Changes from GRUB Legacy): New section.
23188 (Future): Fix typo.
23189
8d4a2fec
CW
231902010-07-02 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23193 grub.d/README accidentally ends up executable for one reason or
23194 another. Ignore it.
23195
1c4827be
VS
231962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23197
23198 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23199 (gpt_partition_map_iterate): Support non-512B sectors.
23200
d9a0c941
VS
232012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23204 Tested by: Seth Goldberg.
23205
48f27e87
VS
232062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23209 Properly align mbi.
23210 Reported by: Seth Goldberg.
23211
b0c4f956
VS
232122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23213
23214 * util/grub-mkrescue.in: Avoid module duplication.
23215
105a2e8c
SF
232162010-07-01 Sean Finney <seanius@seanius.net>
23217
23218 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23219
5944958c
SF
232202010-07-01 Sean Finney <seanius@seanius.net>
23221
23222 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23223
232242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23225
23226 * disk/lvm.c (grub_lvm_checkvalue): New function.
23227 (grub_lvm_check_flag): Likewise.
23228
b79889ba
RM
232292010-07-01 Robert Millan <rmh@gnu.org>
23230
23231 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23232 Support 'p' as partition separator on kernel of FreeBSD (used
23233 with GPT labels).
23234 (grub_util_biosdisk_get_grub_dev): Likewise.
23235
ec1d04f1
VS
232362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 Yeeloong firmware port.
23239
23240 * boot/mips/yeeloong/fwstart.S: New file.
23241 * bus/cs5536.c (gpiodump): New const.
23242 (set_io_space): New function.
23243 (set_iod): Likewise.
23244 (set_p2d): Likewise.
23245 (grub_cs5536_init_geode): Likewise.
23246 * commands/mips/yeeloong/lsspd.c: New file.
23247 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23248 (serial_mod_SOURCES): New variable.
23249 (serial_mod_CFLAGS): Likewise.
23250 (serial_mod_LDFLAGS): Likewise.
23251 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23252 term/terminfo.c and term/tparm.c.
23253 (pkglib_IMAGES): Add fwstart.img.
23254 (fwstart_img_SOURCES): New variable.
23255 (fwstart_img_CFLAGS): Likewise.
23256 (fwstart_img_ASFLAGS): Likewise.
23257 (fwstart_img_LDFLAGS): Likewise.
23258 (fwstart_img_FORMAT): Likewise.
23259 (pkglib_MODULES): Add lsspd.mod.
23260 (lsspd_mod_SOURCES): New variable.
23261 (lsspd_mod_CFLAGS): Likewise.
23262 (lsspd_mod_LDFLAGS): Likewise.
23263 (pkglib_MODULES): Add halt.mod.
23264 (halt_mod_SOURCES): New variable.
23265 (halt_mod_CFLAGS): Likewise.
23266 (halt_mod_LDFLAGS): Likewise.
23267 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23268 (serial_mod_SOURCES): Removed.
23269 (serial_mod_CFLAGS): Likewise.
23270 (serial_mod_LDFLAGS): Likewise.
23271 * disk/ata.c (check_device): New function.
23272 (grub_ata_device_initialize): Use check_device.
23273 (grub_ata_iterate): Recheck devices.
23274 (grub_ata_open): Likewise.
23275 (grub_atapi_iterate): Likewise.
23276 (grub_atapi_open): Likewise.
23277 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23278 (GRUB_ATA_CH1_PORT1): Likewise.
23279 (GRUB_ATA_CH0_PORT2): Likewise.
23280 (GRUB_ATA_CH1_PORT2): Likewise.
23281 * include/grub/mips/loongson.h: New file.
23282 * include/grub/mips/yeeloong/ec.h: Likewise.
23283 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23284 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23285 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23286 * include/grub/misc.h (grub_halt): Declare as noreturn.
23287 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23288 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23289 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23290 (UART_ENABLE_DTRRTS): Likewise.
23291 (UART_ENABLE_MODEM): Removed.
23292 (UART_ENABLE_OUT2): New const.
23293 * include/grub/term.h (grub_term_register_input_active): New function.
23294 (grub_term_register_output_active): Likewise.
23295 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23296 argument.
23297 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23298 (init_pci): New function.
23299 (grub_machine_init): Execute platform init when firmware. Init serial.
23300 (grub_halt): Implement.
23301 (grub_exit): Likewise.
23302 (grub_reboot): Likewise.
23303 * term/serial.c (serial_hw_init): Update macros.
23304 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23305 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23306 (image_targets): New target mipsel-yeeloong-flash.
23307 (generate_image): Support IMAGE_YEELOONG_FLASH.
23308 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23309 (grub_video_sm712_setup): Init card.
23310 (grub_video_sm712_set_palette): Removed.
23311 * video/sm712_init.c: New file.
23312
ff4a70d2
CW
233132010-06-30 Colin Watson <cjwatson@ubuntu.com>
23314
23315 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23316 PATH when running help2man and then run it on the unadorned
23317 executable names, rather than passing $(builddir)/* paths to
23318 help2man. This avoids the build directory ending up in generated
23319 manual pages.
23320
1246efeb
CW
233212010-06-29 Colin Watson <cjwatson@ubuntu.com>
23322
23323 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23324 to avoid accidents when debugging with 'sh -x'.
23325 * util/grub-mkrescue.in: Likewise.
23326 * util/grub.d/00_header.in: Likewise.
23327 * util/grub.d/10_hurd.in: Likewise.
23328 * util/grub.d/10_kfreebsd.in: Likewise.
23329 * util/grub.d/10_linux.in: Likewise.
23330 * util/grub.d/10_netbsd.in: Likewise.
23331 * util/grub.d/10_windows.in: Likewise.
23332 * util/grub.d/20_linux_xen.in: Likewise.
23333 * util/grub.d/30_os-prober.in: Likewise.
23334 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23335
1ba9b889
CW
233362010-06-29 Colin Watson <cjwatson@ubuntu.com>
23337
23338 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23339 last character in the buffer.
23340 Reported by: Vladimir Serbinenko.
23341
dccaf99d
RM
233422010-06-29 Robert Millan <rmh@gnu.org>
23343
23344 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23345 (Command-line and menu entry commands): Document `badram' command.
23346
d500ed12
RM
233472010-06-28 Robert Millan <rmh@gnu.org>
23348
23349 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23350 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23351 command using ${GRUB_BADRAM} as parameter.
23352
20bc84a6
CW
233532010-06-28 Colin Watson <cjwatson@ubuntu.com>
23354
23355 * docs/grub.texi (Device map): New section.
23356 (Themes): New section (stub).
23357 * Makefile.in (docs/grub.info): The info documentation now builds
23358 without errors. Make sure it stays that way.
23359
4045dee1
VS
233602010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 Use normal parser for menu entries.
23363 Reported by: Thomas Frauendorfer
23364
23365 * include/grub/parser.h (grub_parser_execute): Don't export.
23366 * normal/menu.c (grub_menu_execute_entry_real): New function.
23367 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23368
bca58c7b
CW
233692010-06-28 Colin Watson <cjwatson@ubuntu.com>
23370
23371 * docs/grub.texi (Embedded configuration): New section (replacing
23372 old "Preset Menu" stub).
23373 (Images): New section.
23374 (configfile): Note that any menu entries defined in `file' are shown
23375 immediately.
23376
dec53e63
JT
233772010-06-28 Josh Triplett <josh@joshtriplett.org>
23378
23379 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23380
c06e40f7
CW
233812010-06-28 Colin Watson <cjwatson@ubuntu.com>
23382
23383 * util/grub-install.in: Add --debug-image= option.
23384
cb88052b
CW
233852010-06-28 Colin Watson <cjwatson@ubuntu.com>
23386
23387 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23388 possible on Linux.
23389
23390 * util/deviceiter.c (check_device): Rename to ...
23391 (check_device_readable_unique): ... this. Update all callers.
23392 Maintain and check a list of which devices (by canonicalized name)
23393 have already been seen.
23394 (clear_seen_devices): New function.
23395 (compare_file_names) [__linux__]: New function.
23396 (grub_util_iterate_devices): Clear the list of seen devices on exit
23397 and (just in case) on entry.
23398 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23399 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23400 seen-devices list, superseded by general code in check_device.
23401
bbe34652
CW
234022010-06-28 Colin Watson <cjwatson@ubuntu.com>
23403
23404 * commands/cat.c (options): New variable.
23405 (grub_cmd_cat): Parse options. If the --dos option is given, print
23406 DOS-style "\r\n" line endings as simple newlines (Debian bug
23407 #586358).
23408 (GRUB_MOD_INIT): Use extcmd.
23409 (GRUB_MOD_FINI): Likewise.
23410 * docs/grub.texi (cat): Document --dos.
23411
412e09f3
VS
234122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 XEN with Linux grub-mkconfig support.
23415
23416 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23417 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23418 GRUB_CMDLINE_XEN_DEFAULT.
23419 * util/grub.d/20_linux_xen.in: New file.
23420
53f3ef38 234212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23422
23423 Initialise VGA video on qemu ourselves.
23424
23425 * boot/i386/qemu/boot.S: Don't call 0xc000.
23426 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23427 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23428 (kernel_img_HEADERS): Add pci.h.
23429 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23430 * configure.ac: Force unifont on qemu and yeeloong.
23431 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23432 (grub_vga_palette_write): Use correct register.
23433 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23434 Call grub_qemu_init_cirrus.
23435 * kern/i386/qemu/init.c: New file.
23436 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23437
23438 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23439
c75be4fb
PR
234402010-06-26 Pavel Roskin <proski@gnu.org>
23441
23442 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23443 13.
23444
d8034603
CW
234452010-06-26 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * docs/grub.texi (Simple configuration): Explain that
23448 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23449 set to `true' to disable their respective recovery entries, not
23450 merely set.
23451
3fa06487
CW
234522010-06-26 Colin Watson <cjwatson@ubuntu.com>
23453
23454 Make the `source' command slightly faster.
23455
23456 * normal/main.c (grub_normal_execute): Don't re-read list files when
23457 nested.
23458
e9b29642
CW
234592010-06-23 Colin Watson <cjwatson@ubuntu.com>
23460
23461 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23462 field position and mask size to red fields from mode_info, not
23463 green.
23464 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23465 Remove redundant tag->common.framebuffer_type assignment.
23466 Reported by: Seth Goldberg.
23467
e726542f
CW
234682010-06-23 Colin Watson <cjwatson@ubuntu.com>
23469
23470 Sync up other versions of the Linux loader with Robert Millan's
23471 change of 2010-01-09, "Make loader output a bit more user-friendly".
23472
23473 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23474 grub_dprintf().
23475 (grub_cmd_linux): Likewise.
23476 (grub_cmd_initrd): Likewise.
23477 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23478 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23479
d6e98a17
CW
234802010-06-21 Colin Watson <cjwatson@ubuntu.com>
23481
23482 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23483 larger than MEMORY_MAP_SIZE.
23484
14d3f08e
BC
234852010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23486
23487 Fix parallel build.
23488
23489 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23490 dependency.
23491 * script/parser.y: #include grub_script.tab.h header.
23492
4f9613a3
VS
234932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 Support >3GiB and <16MiB RAM in i386-qemu.
23496
23497 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23498 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23499 (grub_lower_mem): Removed.
23500 (grub_upper_mem): Likewise.
23501 (mem_size): Made static.
23502 (above_4g): New variable.
23503 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23504 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23505 support.
23506
05e51879
VS
235072010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 Cirrus 5446 and Bochs video cards support.
23510
23511 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23512 video_bochs.mod
23513 (video_cirrus_mod_SOURCES): New variable.
23514 (video_cirrus_mod_CFLAGS): Likewise.
23515 (video_cirrus_mod_LDFLAGS): Likewise.
23516 (video_bochs_mod_SOURCES): Likewise.
23517 (video_bochs_mod_CFLAGS): Likewise.
23518 (video_bochs_mod_LDFLAGS): Likewise.
23519 * include/grub/vga.h: New file.
23520 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23521 (grub_video_fb_set_page_t): New type.
23522 (grub_video_fb_setup): New prototype.
23523 (grub_video_fb_swap_buffers): Likewise.
23524 (grub_video_fb_get_info_and_fini): Likewise.
23525 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23526 (CRTC_DATA_PORT): Likewise.
23527 (CRTC_CURSOR): Likewise.
23528 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23529 (CRTC_CURSOR_ADDR_LOW): Likewise.
23530 (CRTC_CURSOR_DISABLE): Likewise.
23531 (update_cursor): Use grub_vga_cr_write.
23532 (grub_vga_text_setcursor): Likewise.
23533 * video/bochs.c: New file.
23534 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23535 (palette): Likewise.
23536 (palette_size): Likewise.
23537 (framebuffer): New variable.
23538 (grub_video_fb_init): Use 'framebuffer'.
23539 (grub_video_fb_fini): Likewise.
23540 (grub_video_fb_get_info): Likewise.
23541 (grub_video_fb_get_palette): Likewise.
23542 (grub_video_fb_set_palette): Likewise.
23543 (grub_video_fb_set_viewport): Likewise.
23544 (grub_video_fb_get_viewport): Likewise.
23545 (grub_video_fb_map_color): Likewise.
23546 (grub_video_fb_map_rgb): Likewise.
23547 (grub_video_fb_map_rgba): Likewise.
23548 (grub_video_fb_unmap_color): Likewise.
23549 (grub_video_fb_unmap_color_int): Likewise.
23550 (grub_video_fb_fill_rect): Likewise.
23551 (grub_video_fb_blit_bitmap): Likewise.
23552 (grub_video_fb_blit_render_target): Likewise.
23553 (grub_video_fb_scroll): Likewise.
23554 (grub_video_fb_create_render_target): Likewise.
23555 (grub_video_fb_doublebuf_blit_init): Likewise.
23556 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23557 (doublebuf_pageflipping_update_screen): New function.
23558 (doublebuf_pageflipping_init): Likewise.
23559 (grub_video_fb_setup): Likewise.
23560 (grub_video_fb_swap_buffers): Likewise.
23561 (grub_video_fb_get_info_and_fini): Likewise.
23562 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23563 All users updated.
23564 (doublebuf_pageflipping_commit): Restructured into ...
23565 (doublebuf_pageflipping_set_page): ... this.
23566 (doublebuf_pageflipping_update_screen): Removed.
23567 (doublebuf_pageflipping_init): Likewise.
23568 (double_buffering_init): Likewise.
23569 (grub_video_vbe_setup): Use grub_video_fb_setup.
23570 (grub_video_vbe_swap_buffers): Removed.
23571 (grub_video_vbe_set_active_render_target): Likewise.
23572 (grub_video_vbe_get_active_render_target): Likewise.
23573 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23574 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23575 grub_video_fb_set_active_render_target and
23576 grub_video_fb_get_active_render_target.
23577 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23578 (SEQUENCER_DATA_PORT): Likewise.
23579 (MAP_MASK_REGISTER): Likewise.
23580 (CRTC_ADDR_PORT): Likewise.
23581 (CRTC_DATA_PORT): Likewise.
23582 (START_ADDR_HIGH_REGISTER): Likewise.
23583 (START_ADDR_LOW_REGISTER): Likewise.
23584 (GRAPHICS_ADDR_PORT): Likewise.
23585 (GRAPHICS_DATA_PORT): Likewise.
23586 (READ_MAP_REGISTER): Likewise.
23587 (INPUT_STATUS1_REGISTER): Likewise.
23588 (INPUT_STATUS1_VERTR_BIT): Likewise.
23589 (get_map_mask): Use grub_vga_sr_read.
23590 (set_map_mask): Use grub_vga_sr_write.
23591 (set_read_map): Use grub_vga_gr_write.
23592 (set_start_address): Use grub_vga_cr_write.
23593 * video/sm712.c (framebuffer): Remove leftover fields.
23594
4321c64a
CW
235952010-06-20 Colin Watson <cjwatson@ubuntu.com>
23596
23597 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23598 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23599 instead. Replace the gfxterm backend check with a check that
23600 ${GRUB_PREFIX}/video.lst is non-empty.
23601 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23602 again.
23603 (load_video): New generated function. Call it before loading
23604 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23605 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23606 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23607 * docs/grub.texi (Simple configuration): Document
23608 GRUB_VIDEO_BACKEND.
23609
236102010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23611
23612 Use video functions in linux and xnu loaders.
23613
23614 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23615 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23616 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23617 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23618 loader/i386/pc/linux.c.
23619 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23620 (find_line_len): Removed.
23621 (find_framebuf): Likewise.
23622 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23623 * loader/i386/efi/xnu.c: Removed.
23624 * loader/i386/pc/xnu.c: Moved from here...
23625 * loader/i386/xnu.c: ...here.
23626
23627 Enable priorities in video drivers.
23628
23629 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23630 (grub_video_adapter): New field prio.
23631 (grub_video_register): Respect prio when inserting.
23632 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23633 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23634 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23635 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23636 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23637 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23638 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23639
23640 Fix SDL driver ID.
23641
23642 * include/grub/video.h (grub_video_driver_id_t): New value
23643 GRUB_VIDEO_DRIVER_SDL.
23644 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23645
7d24e434
CW
236462010-06-17 Colin Watson <cjwatson@ubuntu.com>
23647
23648 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23649 argument to printf.
23650 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23651
c88a83f6
CW
236522010-06-17 Colin Watson <cjwatson@ubuntu.com>
23653
23654 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23655 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23656
094dfb69
CW
236572010-06-17 Colin Watson <cjwatson@ubuntu.com>
23658
23659 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23660 directly, and recommend grub-install instead.
23661 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23662
2164da6b
CW
236632010-06-17 Colin Watson <cjwatson@ubuntu.com>
23664
23665 Fix i386-pc prefix handling with nested partitions (Debian bug
23666 #585068). Note that the case where the core image is booted using
23667 multiboot and relocated from its original location still requires
23668 more work.
23669
23670 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23671 with "(,", fill the boot drive in between those two characters, but
23672 expect that a full partition specification including partition map
23673 names will follow.
23674 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23675 specified, write a prefix without the drive name but including a
23676 full partition specification.
23677
044e2e60
CW
236782010-06-16 Colin Watson <cjwatson@ubuntu.com>
23679
23680 * util/grub-mkconfig.in: Ignore non-option arguments, for
23681 compatibility with older versions (before 2010-06-12) which did the
23682 same. In particular, this makes it easier to ship an update-grub
23683 wrapper which is compatible with that used with GRUB Legacy (Debian
23684 bug #586056).
23685
5591324f
GS
236862010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23687
23688 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23689 for manual page generation.
23690
662e24d5
GS
236912010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23692
23693 * po/POTFILES: Remove leftover commands/handler.c.
23694
8d70754e
CW
236952010-06-14 Colin Watson <cjwatson@ubuntu.com>
23696
23697 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23698 left this script non-functional.
23699
41160e2e
CW
237002010-06-14 Colin Watson <cjwatson@ubuntu.com>
23701
23702 * docs/man/grub-emu.h2m: New file.
23703
b5309cc1
CW
237042010-06-13 Colin Watson <cjwatson@ubuntu.com>
23705
23706 * docs/grub.texi (Commands): Document reduced command set in rescue
23707 mode.
23708 (cpuid): New section.
23709
fcb2d090
GS
237102010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23711
23712 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23713 new partition naming style.
23714 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23715
96e5c556
BC
237162010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23717
23718 Add "-o grub.iso" like cmdline options support.
23719
23720 * util/grub-install.in: Improve cmdline option parsing.
23721 * util/grub-mkconfig.in: Likewise.
23722 * util/grub-mkrescue.in: Likewise.
23723 * util/grub-reboot.in: Likewise.
23724 * util/grub-set-default.in: Likewise.
23725 * util/i386/efi/grub-install.in: Likewise.
23726 * util/ieee1275/grub-install.in: Likewise.
23727 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23728
c16be99b
CW
237292010-06-12 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * .bzrignore: Ignore 41_custom.
23732
ce08a9fb
TS
237332010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23734
23735 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23736
7beac90c
CW
237372010-06-12 Colin Watson <cjwatson@ubuntu.com>
23738
23739 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23740 prototype declarations.
23741
23742 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23743 generating fs, partmap, and video lists.
23744 * include/grub/fs.h (grub_fs_register): Omit prototype if
23745 GRUB_LST_GENERATOR is defined.
23746 * include/grub/partition.h (grub_partition_map_register): Likewise.
23747 * include/grub/video.h (grub_video_register): Likewise.
23748
1c8f0f8d
JM
237492010-06-12 Javier Martín <lordhabbit@gmail.com>
23750
23751 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23752
a6085973
TS
237532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23754
23755 * util/grub-mkrescue.in: Support --xorriso argument.
23756
25c56d29
VS
237572010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23760 Suggested by: Thomas Schmitt.
23761
e03e4b24
VS
237622010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23763
23764 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23765 Suggested by: Thomas Schmitt.
23766
57711df6
VS
237672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 custom.cfg support.
23770
23771 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23772 * util/grub.d/41_custom.in: New file.
23773
ee62c427
CW
237742010-06-12 Colin Watson <cjwatson@ubuntu.com>
23775
23776 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23777 been merged back into normal.
23778
283af07a
CW
237792010-06-11 Colin Watson <cjwatson@ubuntu.com>
23780
23781 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23782 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23783
56a0d956
CW
237842010-06-11 Colin Watson <cjwatson@ubuntu.com>
23785
23786 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23787 when generating manual pages.
23788 * docs/man/grub-bin2h.h2m: New file.
23789 * docs/man/grub-editenv.h2m: New file.
23790 * docs/man/grub-fstest.h2m: New file.
23791 * docs/man/grub-install.h2m: New file.
23792 * docs/man/grub-macho2img.h2m: New file.
23793 * docs/man/grub-mkconfig.h2m: New file.
23794 * docs/man/grub-mkdevicemap.h2m: New file.
23795 * docs/man/grub-mkfont.h2m: New file.
23796 * docs/man/grub-mkimage.h2m: New file.
23797 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23798 * docs/man/grub-mkrelpath.h2m: New file.
23799 * docs/man/grub-mkrescue.h2m: New file.
23800 * docs/man/grub-ofpathname.h2m: New file.
23801 * docs/man/grub-pe2elf.h2m: New file.
23802 * docs/man/grub-probe.h2m: New file.
23803 * docs/man/grub-reboot.h2m: New file.
23804 * docs/man/grub-script-check.h2m: New file.
23805 * docs/man/grub-set-default.h2m: New file.
23806 * docs/man/grub-setup.h2m: New file.
23807
3a37e322
VS
238082010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23809
23810 Use FOR_* macros instead of *_iterate whenever possible.
23811
23812 * commands/handler.c: Removed.
23813 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23814 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23815 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23816 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23817 (grub_probe_SOURCES): Remove kern/parser.c.
23818 (util/grub-script-check.c_DEPENDENCIES): Removed.
23819 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23820 and grub_script_check_init.c.
23821 (grub_script_check_init.lst): Removed.
23822 (grub_script_check_init.h): Likewise.
23823 (grub_script_check_init.c): Likewise.
23824 (pkglib_MODULES): Remove handler.mod and sh.mod.
23825 (handler_mod_SOURCES): Removed.
23826 (handler_mod_CFLAGS): Likewise.
23827 (handler_mod_LDFLAGS): Likewise.
23828 (normal_mod_SOURCES): Remove normal/handler.c.
23829 Add script/main.c, script/script.c, script/execute.c,
23830 script/function.c, script/lexer.c, grub_script.tab.c
23831 and grub_script.yy.c.
23832 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23833 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23834 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23835 (grub_setup_SOURCES): Remove kern/parser.c.
23836 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23837 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23838 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23839 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23840 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23841 (grub_setup_SOURCES): Remove kern/parser.c.
23842 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23843 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23844 * include/grub/command.h (grub_command_iterate): Removed.
23845 (FOR_COMMANDS): New macro.
23846 * include/grub/dl.h (grub_dl): New member next.
23847 (grub_dl_iterate): Removed.
23848 (grub_dl_head): New variable declaration.
23849 (FOR_DL_MODULES): New macro.
23850 * include/grub/fs.h: Include list.h.
23851 (grub_fs): Make next first element.
23852 (grub_fs_list): New variable declaration.
23853 (grub_fs_register): Make inline.
23854 (grub_fs_unregister): Likewise.
23855 (grub_fs_iterate): Removed.
23856 (FOR_FILESYSTEMS): New macro.
23857 * include/grub/handler.h: Removed.
23858 * include/grub/list.h (grub_list_hook_t): Removed.
23859 (grub_list_test_t): Likewise.
23860 (grub_list_pop): Likewise.
23861 (grub_list_iterate): Likewise.
23862 (grub_list_insert): Likewise.
23863 (FOR_LIST_ELEMENTS): New macro.
23864 * include/grub/parser.h (grub_parser_class): Removed.
23865 (grub_parser_register): Likewise.
23866 (grub_parser_unregister): Likewise.
23867 (grub_parser_get_current): Likewise.
23868 (grub_parser_set_current): Likewise.
23869 (grub_register_rescue_parser): Likewise.
23870 (grub_rescue_parse_line): New function.
23871 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23872 * include/grub/script_sh.h (grub_script_function_list): New variable
23873 declaration.
23874 (FOR_SCRIPT_FUNCTIONS): New macro.
23875 (grub_script_function_iterate): Removed.
23876 (grub_normal_parse_line): New prototype.
23877 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23878 (FOR_DISABLED_TERM_INPUTS): Likewise.
23879 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23880 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23881 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23882 element.
23883 (grub_video_register): Inline.
23884 (grub_video_unregister): Likewise.
23885 (grub_video_adapter_list): New variable declaration.
23886 (grub_video_iterate): Removed.
23887 (FOR_VIDEO_ADAPTERS): New macro.
23888 * kern/dl.c (grub_dl_list): Removed. All users updated.
23889 (grub_dl_iterate): Removed.
23890 * kern/fs.c (grub_fs_list): Make global.
23891 (grub_fs_register): Removed.
23892 (grub_fs_unregister): Likewise.
23893 (grub_fs_iterate): Likewise.
23894 * kern/handler.c: Removed.
23895 * kern/list.c (grub_list_pop): Removed.
23896 (grub_list_iterate): Likewise.
23897 (grub_list_insert): Likewise.
23898 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23899 (grub_prio_list_insert): Don't use grub_list_insert.
23900 * kern/main.c (grub_register_rescue_parser): Don't call
23901 grub_register_rescue_parser.
23902 * kern/parser.c (grub_parser_class): Removed.
23903 (grub_parser_execute): Use grub_rescue_parse_line.
23904 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23905 (grub_rescue_parser): Removed.
23906 (grub_register_rescue_parser): Likewise.
23907 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23908 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23909 (grub_auth_check_authentication): Likewise.
23910 * normal/completion.c (iterate_command): Removed.
23911 (grub_normal_do_completion): Use FOR_COMMANDS.
23912 * normal/handler.c: Removed.
23913 * normal/main.c (read_config_file): Remove parser changing.
23914 (grub_normal_execute): Don't call read_handler_list.
23915 (grub_normal_read_line_real): Statically allocate prompt.
23916 (grub_cmdline_run): Use grub_normal_parse_line.
23917 (GRUB_MOD_FINI): Don't call free_handler_list.
23918 * normal/menu_entry.c (run): Likewise.
23919 * script/function.c (grub_script_function_list): Make global.
23920 (grub_script_function_iterate): Removed.
23921 * script/main.c (grub_normal_parse_line): Make global.
23922 (grub_sh_parser): Removed.
23923 (GRUB_MOD_INIT): Likewise.
23924 (GRUB_MOD_FINI): Likewise.
23925 * tests/lib/functional_test.c (grub_functional_test): Use
23926 FOR_LIST_ELEMENTS.
23927 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23928 (grub_test_run): Use FOR_LIST_ELEMENTS.
23929 * tests/lib/unit_test.c (main): Likewise.
23930 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23931 grub_list_pop.
23932 * util/grub-fstest.c (grub_term_input_class): Removed.
23933 (grub_term_output_class): Likewise.
23934 * util/grub-probe.c: Likewise.
23935 * util/i386/pc/grub-setup.c: Likewise.
23936 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23937 * util/grub-script-check.c (main): Don't call grub_init_all and
23938 grub_fini_all.
23939 * video/video.c (grub_video_adapter_list): Make global.
23940 (grub_video_register): Removed.
23941 (grub_video_unregister): Likewise.
23942 (grub_video_iterate): Likewise.
23943
6289c3a7
VS
239442010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23945
23946 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23947 reported by Henrique Ferreiro.
23948
91460247
RM
239492010-06-09 Robert Millan <rmh@gnu.org>
23950
23951 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23952 ones, when both are available.
23953
0ea7c4f9
GS
239542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23955
23956 Make --version uniform and avoid hard-coded program name.
23957
23958 * util/grub-mkimage.c (main): Use `program_name' instead of
23959 hard-coded string.
23960 * util/i386/pc/grub-setup.c (main): Likewise.
23961 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23962 * util/grub-install.in: Save the basename of $0 in $self, and use the
23963 latter in informational messages. Use the same format for --version
23964 as the binary programs.
23965 * util/grub-mkconfig.in: Likewise.
23966 * util/grub-mkrescue.in: Likewise.
23967 * util/grub-reboot.in: Likewise.
23968 * util/grub-set-default.in: Likewise.
23969 * util/i386/efi/grub-install.in: Likewise.
23970 * util/ieee1275/grub-install.in: Likewise.
23971 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23972
e8a6f3b6
GS
239732010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23974
23975 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23976 embedding area. Use <= instead of == when checking for non-emptiness.
23977
f4d095d7
GS
239782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23979
23980 * configure.ac: Add `.' to the directories searched for unifont.
23981
50e532ca
CW
239822010-06-08 Colin Watson <cjwatson@ubuntu.com>
23983
23984 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23985 grub_script.yy.h.
23986
d39f3dec
CW
239872010-06-08 Colin Watson <cjwatson@ubuntu.com>
23988
23989 * docs/grub.texi (History): Expand to cover GRUB 2.
23990 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23991 commands, not `terminal'.
23992 (serial): Likewise.
23993 (terminal_input): New section.
23994 (terminal_output): New section.
23995 (uppermem): New section (stub).
23996 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23997
6ef0ddb4
CW
239982010-06-08 Colin Watson <cjwatson@ubuntu.com>
23999
24000 * docs/grub.texi (Security): Menu entries are unrestricted by
24001 default, not restricted to superusers as I had previously thought.
24002 Reword to account for this.
24003
e0f4c438
CW
240042010-06-07 Colin Watson <cjwatson@ubuntu.com>
24005
24006 * kern/emu/misc.c (device_mapper_null_log): New function.
24007 (grub_device_mapper_supported): New function.
24008 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24009 prototype.
24010 * kern/emu/hostdisk.c (find_partition_start): Check whether
24011 device-mapper is supported before trying to use it.
24012 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24013
da908200
CW
240142010-06-07 Colin Watson <cjwatson@ubuntu.com>
24015
24016 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24017 (File name syntax): Likewise.
24018 (help): --all is no longer supported in GRUB 2. Be more precise
24019 about pattern matching.
24020
fb55c3ac
CW
240212010-06-07 Colin Watson <cjwatson@ubuntu.com>
24022
24023 * normal/completion.c (grub_normal_do_completion): When completing
24024 arguments to "set" and the current word contains an equals sign,
24025 skip to after the equals sign before starting completion.
24026
258c2573
CW
240272010-06-07 Colin Watson <cjwatson@ubuntu.com>
24028
24029 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24030
ee75515e
CW
240312010-06-07 Colin Watson <cjwatson@ubuntu.com>
24032
24033 * docs/grub.texi (Network): New section.
24034 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24035 `(nd)' as in GRUB Legacy.
24036 (pxe_unload): New section.
24037
a6a700aa
CW
240382010-06-07 Colin Watson <cjwatson@ubuntu.com>
24039
24040 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24041 in the rescue shell, so recommend using `set' instead. Thanks,
24042 Jordan Uggla.
24043
4003dd38
CW
240442010-06-07 Colin Watson <cjwatson@ubuntu.com>
24045
24046 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24047 (password): New section.
24048 (password_pbkdf2): New section.
24049 (search): New section.
24050 (Security): New section.
24051 (Troubleshooting): New section, currently very incomplete.
24052 (Invoking grub-mkpasswd-pbkdf2): New section.
24053 (Internals): New section, currently very incomplete.
24054
e1cbcc40
CW
240552010-06-07 Colin Watson <cjwatson@ubuntu.com>
24056
24057 * util/grub.d/00_header.in: Add some more quoting (of
24058 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24059 work again.
24060 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24061
db8fa1ad
CW
240622010-06-07 Colin Watson <cjwatson@ubuntu.com>
24063
24064 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24065 to `count', fixing variable shadowing that broke the -c option.
24066
240672010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24068
24069 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24070 in case they contain spaces.
24071
f28a9212
CW
240722010-06-04 Colin Watson <cjwatson@ubuntu.com>
24073
24074 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24075 "part_" to partmap module names, in line with grub-install.
24076 Reported by: Jindřich Makovička (Debian bug #584426).
24077
9cdfe32f
CW
240782010-06-04 Colin Watson <cjwatson@ubuntu.com>
24079
24080 * util/grub-mkimage.c: Make target-related error messages slightly
24081 more helpful; -O talks about "format". Explicitly point to the use
24082 of -O if no target is specified.
24083 Reported by: Didier Raboud (Debian bug #584415).
24084
795b593a
CW
240852010-06-03 Colin Watson <cjwatson@ubuntu.com>
24086
24087 * INSTALL: Document several build requirements for optional features
24088 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24089
9d9b5833
GS
240902010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24091
24092 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24093 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24094 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24095
0819fec8
CW
240962010-06-02 Colin Watson <cjwatson@ubuntu.com>
24097
24098 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24099 Thanks to Jordan Uggla for spotting this.
24100
49396b4f
VS
241012010-06-02 Aleš Nesrsta <starous@volny.cz>
24102
24103 Finally make USB usable.
24104
24105 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24106 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24107 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24108 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24109 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24110 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24111 (GRUB_OHCI_FSMPS): Likewise.
24112 (GRUB_OHCI_PERIODIC_START): Likewise.
24113 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24114 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24115 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24116 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24117 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24118 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24119 (grub_ohci_transaction): Likewise.
24120 (grub_ohci_transfer): Improve condition detection algorithms.
24121 Handle toggle property. Program the transactions correctly.
24122 Improve error handling. Various important fixups.
24123 (grub_ohci_portstatus): Put register writes in right order.
24124 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24125 (grub_uhci_transfer): Don't show "failed" message on success.
24126 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24127 array.
24128 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24129 determine its size.
24130 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24131 before initialization is completed. Use IN direction for empty
24132 transfers. Use last_trans and compute toggle.
24133 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24134 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24135 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24136 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24137 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24138 (grub_usb_device): Increase toggle to 256.
24139 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24140 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24141 GRUB_USBMS_SUBCLASS_SFF8070.
24142 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24143 (grub_scsi_inquiry): New member page and alloc_length.
24144 (grub_scsi_request_sense): New structure.
24145 (grub_scsi_request_sense_data): Likewise.
24146 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24147 control.
24148 * disk/scsi.c (grub_scsi_request_sense): New function.
24149 (grub_scsi_test_unit_ready): Likewise.
24150 (grub_scsi_inquiry): Fill new fields.
24151 (grub_scsi_read_capacity): Likewise.
24152 (grub_scsi_read10): Add request sense at the end.
24153 (grub_scsi_read12): Likewise.
24154 (grub_scsi_write10): Likewise.
24155 (grub_scsi_write12): Likewise.
24156 (grub_scsi_open): Add Test Unit Ready.
24157 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24158 Support additional subclasses. Con't clear halt yet. Activate the
24159 proper config. Calculate LUNs correctly.
24160 (grub_usbms_transfer): Various important fixups.
24161
241622010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24163
24164 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24165 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24166 (grub_ohci_fini_hw): New function.
24167 (grub_ohci_restore_hw): Likewise.
24168 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24169 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24170 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24171
241722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24173
24174 Dedicated DMA allocations.
24175
24176 * bus/pci.c (grub_memalign_dma32): New function
24177 (grub_dma_free): Likewise.
24178 (grub_dma_get_virt): Likewise.
24179 (grub_dma_get_phys): Likewise.
24180 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24181 (grub_ohci_pci_iter): Use dma32_alloc.
24182 (grub_ohci_transfer): Likewise.
24183 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24184 (grub_usb_bulk_readwrite): Likewise.
24185 * include/grub/pci.h: Add declarations.
24186
241872010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24188
24189 CS5536 support.
24190
24191 * bus/cs5536.c: New file.
24192 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24193 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24194 (cs5536_mod_SOURCES): New variable.
24195 (cs5536_mod_CFLAGS): Likewise.
24196 (cs5536_mod_LDFLAGS): Likewise.
24197 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24198 machine/pci.h.
24199 (kernel_img_SOURCES): Add bus/cs5536.c.
24200 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24201 usb_keyboard.mod.
24202 (usb_mod_SOURCES): New variable.
24203 (usb_mod_CFLAGS): New variable.
24204 (usb_mod_LDFLAGS): New variable.
24205 (usbtest_mod_SOURCES): New variable.
24206 (usbtest_mod_CFLAGS): New variable.
24207 (usbtest_mod_LDFLAGS): New variable.
24208 (ohci_mod_SOURCES): New variable.
24209 (ohci_mod_CFLAGS): New variable.
24210 (ohci_mod_LDFLAGS): New variable.
24211 (usbms_mod_SOURCES): New variable.
24212 (usbms_mod_CFLAGS): New variable.
24213 (usbms_mod_LDFLAGS): New variable.
24214 (usb_keyboard_mod_SOURCES): New variable.
24215 (usb_keyboard_mod_CFLAGS): New variable.
24216 (usb_keyboard_mod_LDFLAGS): New variable.
24217 * include/grub/smbus.h: New file.
24218 * include/grub/cs5536.h: New file.
24219
0b35b2a9
CW
242202010-06-02 Colin Watson <cjwatson@ubuntu.com>
24221
24222 * util/grub.d/00_header.in: Add safety check to make sure that
24223 ${locale_dir} exists before trying to probe it.
24224
ca0afd5b
CW
242252010-06-02 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24228 per the GNU Coding Standards; this is now too obscure to be worth
24229 documenting.
24230 (QNX): Likewise.
24231 (chainloader): Remove cross-reference to `SCO UnixWare'.
24232
1c41aa78
CW
242332010-06-02 Colin Watson <cjwatson@ubuntu.com>
24234
24235 * docs/grub.texi (Chain-loading): New section.
24236 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24237 adjusted for GRUB 2.
24238 (SCO UnixWare): Likewise.
24239 (QNX): Likewise.
24240 (chainloader): Add reference to `Block list syntax'.
24241 (drivemap): New section.
24242 (parttool): New section.
24243
bb8ea0f5
CW
242442010-06-02 Colin Watson <cjwatson@ubuntu.com>
24245
24246 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24247 the grub shell'.
24248 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24249 (Installing GRUB using grub-install): Remove reference to the grub
24250 shell; mention `grub-mkimage' and `grub-setup' instead.
24251 (Invoking grub-install): Likewise.
24252 (Interface): Add reference to `Menu entry editor'.
24253 (serial): Remove `--device' option.
24254
288dd6ed
CW
242552010-06-02 Colin Watson <cjwatson@ubuntu.com>
24256
24257 * docs/grub.texi (Configuration): New section, documenting
24258 configuration file generation using grub-mkconfig. I've left a slot
24259 for documenting the full shell scripting format but have not yet
24260 started on writing that up.
24261 (Invoking grub-mkconfig): New section.
24262
34c9f0e9
CW
242632010-06-02 Colin Watson <cjwatson@ubuntu.com>
24264
24265 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24266 (GNU GRUB manual): Likewise.
24267 (General commands): Update description of `terminfo' for GRUB 2.
24268
9121567e
CW
242692010-06-02 Colin Watson <cjwatson@ubuntu.com>
24270
24271 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24272 (GRUB_MOD_INIT): Fix capitalisation.
24273 * docs/grub.texi (Command-line and menu entry commands): Document
24274 gettext and gptsync commands.
24275
ab631611
CW
242762010-06-02 Colin Watson <cjwatson@ubuntu.com>
24277
24278 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24279 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24280
bde4a9ac
CW
242812010-06-01 Colin Watson <cjwatson@ubuntu.com>
24282
24283 Add btrfs probing support, currently only in the single-device case.
24284
24285 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24286 function.
24287 (grub_guess_root_device): Call find_root_device_from_mountinfo
24288 before looking in /dev.
24289
b1d17e10
VS
242902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24293 GRUB_DISK_SIZE_UNKNOWN.
24294 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24295
dfbfe004
JS
242962010-05-31 Jiro SEKIBA <jir@unicus.jp>
24297
24298 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24299 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24300 corrupted or not synced properly.
24301
c2ffc8e9
VS
243022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24305 Reported by: Seth Goldberg.
24306
56293166
VS
243072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24310 addition of dest.
24311 Reported by: Seth Goldberg.
24312
7620e7de
VS
243132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24314
24315 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24316 Reported by: Seth Goldberg.
24317
c837af3f
VS
243182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24319
24320 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24321 64-bit address as signed on MIPS.
24322
c7c75cf4
CW
243232010-05-28 Colin Watson <cjwatson@ubuntu.com>
24324
24325 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24326 to the empty string.
24327
fa4b8490
BC
243282010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24329
24330 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24331
24332 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24333 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24334 * kern/misc.c (__enable_execute_stack): Disable on
24335 GRUB_MACHINE_EMU.
24336
a33075b9
CW
243372010-05-28 Colin Watson <cjwatson@ubuntu.com>
24338
24339 Make grub-probe work with symbolic links under /dev/mapper as well
24340 as with real block devices. The Linux world seems to be (at best)
24341 in transition here, and GRUB shouldn't get caught in the middle.
24342
24343 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24344 /dev/mapper.
24345
d8708134
CW
243462010-05-27 Colin Watson <cjwatson@ubuntu.com>
24347
24348 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24349 input files (in which case exit zero).
24350
db2102a0
CW
243512010-05-27 Colin Watson <cjwatson@ubuntu.com>
24352
24353 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24354 return NULL for various reasons even if it has a maximum-length
24355 buffer: for example, there might be a symlink loop, or the path
24356 might exceed PATH_MAX. If this happens, return NULL.
24357
5fdba519
RM
243582010-05-27 Robert Millan <rmh@gnu.org>
24359
24360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24361 partmap module to handle cross-partmap setups.
24362 Reported by Orestes Mas. Gràcies!
24363
d1d368e4
CW
243642010-05-27 Colin Watson <cjwatson@ubuntu.com>
24365
24366 * util/grub-mkrescue.in: Initialise override_dir rather than
24367 assuming that it's unset or empty in the environment.
24368
95ac3c73
GS
243692010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24370
24371 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24372 variable index into p_index to suppress a warning with -Wshadow.
24373
7d8c0213
BC
243742010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24375
24376 * INSTALL: Added flex >= 2.5.35 requirement.
24377
db4d5813
VS
243782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24379
24380 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24381
f24f4300
VS
243822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24383
24384 cmostest support.
24385
24386 * commands/i386/cmostest.c: New file.
24387 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24388 (cmostest_mod_SOURCES): New variable.
24389 (cmostest_mod_CFLAGS): Likewise.
24390 (cmostest_mod_LDFLAGS): Likewise.
24391 * conf/i386-pc.rmk: Likewise.
24392 * docs/grub.texi (Vendor power-on keys): New section.
24393 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24394 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24395 and GRUB_BUTTON_CMOS_ADDRESS.
24396 * util/grub.d/00_header.in: Handle powering-on by separate button.
24397
ad603f61
VS
243982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24399
24400 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24401 Removed drawing_scrollbar argument. All users updated
24402 Fixes #29792.
24403 Reported by Jo Shields
24404
3ecb080a
VS
244052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24408 buffer since gfxterm handles double repaint.
24409
5f2316c1
VS
244102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24411
24412 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24413 * term/gfxterm.c (real_scroll): Likewise.
24414
9a25f885
VS
244152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24416
24417 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24418 before calling BIOS.
24419
39fbb79a
VS
244202010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24421
24422 * include/grub/i18n.h: Always enable grub_gettext.
24423
228cfa97
VS
244242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24427 partition naming style.
24428
21717c8f
CW
244292010-05-21 Colin Watson <cjwatson@ubuntu.com>
24430
24431 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24432 not the first option.
24433
c0f48e65
CW
244342010-05-20 Colin Watson <cjwatson@ubuntu.com>
24435
24436 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24437
96779aec
CW
244382010-05-20 Colin Watson <cjwatson@ubuntu.com>
24439
24440 * util/misc.c: Move inclusion of <limits.h> to ...
24441 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24442
fa9d256e
GS
244432010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24444
24445 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24446 Fix merge error in NetBSD code.
24447 (find_partition_start) [__NetBSD__]: Likewise.
24448
123b7a85
BC
244492010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24450
24451 Fix grub-mkrescue usage unit testing.
24452
24453 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24454
74276c0d
CF
244552010-05-18 Christian Franke <franke@computer.org>
24456
24457 * util/grub.d/10_windows.in: Use path names instead of
24458 drive letters to prevent warning from Cygwin 1.7.
24459 Add drivemap command to menuentry if needed.
24460
c4f7b523
ST
244612010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24462
24463 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24464 gnumach and gnumach.gz.
24465
95b97950
VS
244662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 * include/grub/i18n.h (gettext): Inline instead of using #define.
24469 (grub_gettext): Likewise.
24470 (_): Likewise.
24471
01b8d2d7
VS
244722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24475 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24476 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24477 (main): Add a slash after pkglibdirroot.
24478
654e1d1e
VS
244792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 * util/grub-install.in: Add missing "in" keyword.
24482
26966aeb
VS
244832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24484
24485 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24486 Reported by: Seth Goldberg.
24487
75006747
VS
244882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24491
74cbf5bd
CW
244922010-05-18 Colin Watson <cjwatson@ubuntu.com>
24493
24494 * configure.ac: Check for Linux device-mapper support.
24495
24496 * util/hostdisk.c (device_is_mapped): New function.
24497 (find_partition_start): New function, partly broken out from
24498 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24499 device-mapper support added.
24500 (linux_find_partition): Use find_partition_start.
24501 (convert_system_partition_to_system_disk): Add `st' argument.
24502 Support Linux /dev/mapper/* devices if device-mapper support is
24503 available; only DM-RAID devices are understood at present.
24504 (find_system_device): Add `st' argument. Pass it to
24505 convert_system_partition_to_system_disk.
24506 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24507 find_system_device and convert_system_partition_to_system_disk. Use
24508 find_partition_start.
24509
24510 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24511 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24512 * util/deviceiter.c [__linux__]: Define MINOR.
24513 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24514 * util/mkdevicemap.c (grub_putchar): New function.
24515 (grub_getkey): New function.
24516 (grub_refresh): New function.
24517 (main): Set debug=all if -v -v is used.
24518
355b51e9
CW
245192010-05-18 Colin Watson <cjwatson@ubuntu.com>
24520
24521 Fix build with non-GNU libcs.
24522
24523 * util/misc.c (canonicalize_file_name): Move to ...
24524 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24525 grub_make_system_path_relative_to_its_root.
24526
7fb5c25f
CW
245272010-05-18 Colin Watson <cjwatson@ubuntu.com>
24528
24529 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24530 we handle finding grub-mkimage. Default to finding grub-mkimage in
24531 ${bindir} with program_transform_name applied, and provide a
24532 --grub-mkimage option to override this.
24533
1d3293d6
VS
245342010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24535
24536 Remove grub-mkisofs.
24537
24538 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24539 (grub_mkisofs_SOURCES): Removed.
24540 (grub_mkisofs_CFLAGS): Removed.
24541 * util/mkisofs/defaults.h: Removed.
24542 * util/mkisofs/eltorito.c: Likewise.
24543 * util/mkisofs/exclude.h: Likewise.
24544 * util/mkisofs/hash.c: Likewise.
24545 * util/mkisofs/include/: Likewise.
24546 * util/mkisofs/include/fctldefs.h: Likewise.
24547 * util/mkisofs/include/mconfig.h: Likewise.
24548 * util/mkisofs/include/prototyp.h: Likewise.
24549 * util/mkisofs/include/statdefs.h: Likewise.
24550 * util/mkisofs/iso9660.h: Likewise.
24551 * util/mkisofs/joliet.c: Likewise.
24552 * util/mkisofs/match.c: Likewise.
24553 * util/mkisofs/match.h: Likewise.
24554 * util/mkisofs/mkisofs.c: Likewise.
24555 * util/mkisofs/mkisofs.h: Likewise.
24556 * util/mkisofs/msdos_partition.h: Likewise.
24557 * util/mkisofs/multi.c: Likewise.
24558 * util/mkisofs/name.c: Likewise.
24559 * util/mkisofs/rock.c: Likewise.
24560 * util/mkisofs/tree.c: Likewise.
24561 * util/mkisofs/write.c: Likewise.
24562
5dde9afe
VS
245632010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 Unify grub-mkimage accross platforms.
24566
24567 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24568 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24569 (grub_mkelfimage_SOURCES): Removed.
24570 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24571 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24572 (bin_UTILITIES): Add grub-mkimage.
24573 (grub_mkimage_SOURCES): New variable.
24574 (kernel_img_HEADERS): Remove machine/kernel.h.
24575 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24576 (pkglib_PROGRAMS): Add kernel.img.
24577 (kernel_img_HEADERS): Add machine/kernel.h.
24578 (kernel_img_FORMAT): Removed.
24579 (bin_UTILITIES): Remove grub-mkimage.
24580 (grub_mkimage_SOURCES): Removed.
24581 (grub_mkimage_CFLAGS): Likewise.
24582 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24583 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24584 (pkglib_PROGRAMS): Add kernel.img.
24585 (bin_UTILITIES): Remove grub-mkimage.
24586 (grub_mkimage_SOURCES): Removed.
24587 (grub_mkimage_CFLAGS): Likewise.
24588 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24589 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24590 (pkglib_PROGRAMS): Add kernel.img.
24591 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24592 (pkglib_PROGRAMS): Add kernel.img.
24593 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24594 (grub_mkimage_SOURCES): Removed.
24595 (grub_mkimage_CFLAGS): Likewise.
24596 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24597 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24598 (pkglib_PROGRAMS): Add kernel.img.
24599 (bin_UTILITIES): Remove grub-mkimage.
24600 (grub_mkimage_SOURCES): Removed.
24601 (grub_mkimage_CFLAGS): Likewise.
24602 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24603 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24604 (grub_mkimage_SOURCES): Removed.
24605 (grub_mkimage_CFLAGS): Likewise.
24606 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24607 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24608 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24609 (grub_pe32_optional_header): ... this.
24610 (grub_pe64_optional_header): ... and this. All users updated.
24611 (GRUB_PE32_PE32_MAGIC): Split into ..
24612 (GRUB_PE32_PE32_MAGIC): .. this.
24613 (GRUB_PE32_PE64_MAGIC): .. and this.
24614 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24615 * include/grub/elf.h (PT_GNU_STACK): New definition.
24616 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24617 * include/grub/i386/efi/kernel.h: Likewise.
24618 * include/grub/i386/kernel.h: Likewise.
24619 * include/grub/i386/pc/kernel.h: Likewise.
24620 * include/grub/i386/qemu/boot.h: Likewise.
24621 * include/grub/mips/kernel.h: Likewise.
24622 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24623 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24624 * include/grub/powerpc/kernel.h: Likewise.
24625 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24626 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24627 * include/grub/sparc64/kernel.h: Likewise.
24628 * include/grub/x86_64/efi/kernel.h: Likewise.
24629 * include/grub/x86_64/kernel.h: Likewise.
24630 * include/grub/offsets.h: New file.
24631 * include/grub/kernel.h (grub_module_info): Split into ...
24632 (grub_module_info32): ... this.
24633 (grub_module_info64): ... and this.
24634 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24635 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24636 (grub_boot_blocklist): Moved from here ...
24637 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24638 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24639 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24640 * include/grub/types.h (grub_target_to_host16): Removed.
24641 (grub_target_to_host32): Likewise.
24642 (grub_target_to_host64): Likewise.
24643 (grub_host_to_target16): Likewise.
24644 (grub_host_to_target32): Likewise.
24645 (grub_host_to_target64): Likewise.
24646 (grub_host_to_target_addr): Likewise.
24647
24648 Support grub-mkrescue for efi, coreboot and qemu.
24649
24650 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24651 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24652 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24653 * util/grub-mkrawimage.c: Moved from here ...
24654 * util/grub-mkimage.c: ... here. All users updated.
24655 (ALIGN_ADDR): Use image_target.
24656 (TARGET_NO_FIELD): New const.
24657 (image_target_desc): New type.
24658 (image_targets): New array.
24659 (grub_target_to_host64): Use image_target.
24660 (grub_target_to_host32): Likewise.
24661 (grub_target_to_host16): Likewise.
24662 (grub_host_to_target64): Likewise.
24663 (grub_host_to_target32): Likewise.
24664 (grub_host_to_target16): Likewise.
24665 (grub_host_to_target_addr): Likewise.
24666 (generate_image): Handle multiimage.
24667 (main): Require -O parameter. All users updated.
24668 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24669 util/efi/grub-mkimage.c
24670 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24671 New option --rom-directory.
24672 Use xorriso.
24673 * util/i386/efi/grub-mkimage.c: Removed.
24674 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24675 (grub_target_to_host32): Likewise.
24676 (grub_target_to_host64): Likewise.
24677 (grub_host_to_target16): Likewise.
24678 (grub_host_to_target32): Likewise.
24679 (grub_host_to_target64): Likewise.
24680 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24681 (grub_target_to_host32): Likewise.
24682 (grub_target_to_host64): Likewise.
24683 (grub_host_to_target16): Likewise.
24684 (grub_host_to_target32): Likewise.
24685 (grub_host_to_target64): Likewise.
24686
f4fc97d0
BC
246872010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24688
24689 Source tree is reorganized for emu build.
24690
24691 * include/grub/util/console.h: Move from here...
24692 * include/grub/emu/console.h: ...to here.
24693 * include/grub/util/getroot.h: Move from here...
24694 * include/grub/emu/getroot.h: ...to here.
24695 * include/grub/util/hostdisk.h: Move from here...
24696 * include/grub/emu/hostdisk.h: ...to here.
24697 * util/console.c: Move from here...
24698 * kern/emu/console.c: ...to here.
24699 * util/getroot.c: Move from here...
24700 * kern/emu/getroot.c: ...to here.
24701 * util/grub-emu.c: Move from here...
24702 * kern/emu/main.c: ...to here.
24703 * util/hostdisk.c: Move from here...
24704 * kern/emu/hostdisk.c: ...to here.
24705 * util/hostfs.c: Move from here...
24706 * kern/emu/hostfs.c: ...to here.
24707 * util/mm.c: Move from here...
24708 * kern/emu/mm.c: ...to here.
24709 * util/pci.c: Move from here...
24710 * bus/emu/pci.c: ...to here.
24711 * util/sdl.c: Move from here...
24712 * video/emu/sdl.c: ...to here.
24713 * util/time.c: Move from here...
24714 * kern/emu/time.c: ...to here.
24715 * util/usb.c: Move from here...
24716 * bus/usb/emu/usb.c: ...to here.
24717
24718 * include/grub/emu/misc.h: New header for grub-emu functions.
24719 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24720
24721 * conf/any-emu.rmk: Rule updates for above renames.
24722 * conf/common.rmk: Likewise.
24723 * conf/i386-pc.rmk: Likewise.
24724 * conf/i386-qemu.rmk: Likewise.
24725 * conf/mips.rmk: Likewise.
24726 * conf/sparc64-ieee1275.rmk: Likewise.
24727 * conf/x86-efi.rmk: Likewise.
24728
24729 * disk/lvm.h: #include updates for above renames.
24730 * util/grub-mkrelpath.c: Likewise.
24731 * util/grub-probe.c: Likewise.
24732 * util/i386/pc/grub-setup.c: Likewise.
24733 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24734 * kern/emu/console.c: Likewise.
24735 * kern/emu/getroot.c: Likewise.
24736 * kern/emu/hostdisk.c: Likewise.
24737 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24738
24739 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24740 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24741 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24742 * util/misc.c: Remove grub-emu functions.
24743
cced9145
VS
247442010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 Fix gfxmenu crash.
24747 Reported by: Thorsten Grützmacher.
24748
24749 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24750 timeout hook.
24751 (circprog_set_property): Register and unregister timeout hook.
24752 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24753 (label_destroy): Free template. and unregister hook.
24754 (label_set_state): New function.
24755 (label_set_property): Handle templates and hooks.
24756 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24757 timeout hook.
24758 (progress_bar_set_property): Register and unregister timeout hook.
24759 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24760 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24761 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24762 (update_timeout_visit): Removed.
24763 (update_timeouts): New function.
24764 (redraw_timeouts): Likewise.
24765 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24766 (grub_gfxmenu_clear_timeout): Likewise.
24767 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24768 (grub_gfxmenu_timeout_notify): Likewise.
24769 (grub_gfxmenu_timeout_notifications): New external variable.
24770 (grub_gfxmenu_timeout_register): New function.
24771 (grub_gfxmenu_timeout_unregister): Likewise.
24772
c6e5caab
VS
247732010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24774
24775 Transform (broken) vga terminal into (working) vga video driver.
24776
24777 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24778 video/i386/pc/vga.c.
24779 * include/grub/video.h (grub_video_driver_id):
24780 Add GRUB_VIDEO_DRIVER_VGA.
24781 * term/i386/pc/vga.c: Renamed to ...
24782 * video/i386/pc/vga.c: ...this
24783 (DEBUG_VGA): Removed.
24784 (CHAR_WIDTH): Likewise.
24785 (CHAR_HEIGHT): Likewise.
24786 (TEXT_WIDTH): Likewise.
24787 (TEXT_HEIGHT): Likewise.
24788 (DEFAULT_FG_COLOR): Likewise.
24789 (DEFAULT_BG_COLOR): Likewise.
24790 (colored_char): Likewise.
24791 (xpos): Likewise.
24792 (ypos): Likewise.
24793 (cursor_state): Likewise.
24794 (fg_color): Likewise.
24795 (bg_color): Likewise.
24796 (text_buf): Likewise.
24797 (page): Likewise.
24798 (font): Likewise.
24799 (framebuffer): New variable.
24800 (set_read_map): Disabled.
24801 (setup): New variable.
24802 (is_target): Likewise.
24803 (grub_vga_mod_init): Likewise.
24804 (grub_vga_mod_fini): Likewise.
24805 (check_vga_mem): Likewise.
24806 (write_char): Likewise.
24807 (write_cursor): Likewise.
24808 (scroll_up): Likewise.
24809 (grub_vga_putchar): Likewise.
24810 (grub_vga_getcharwidth): Likewise.
24811 (grub_vga_getwh): Likewise.
24812 (grub_vga_getxy): Likewise.
24813 (grub_vga_gotoxy): Likewise.
24814 (grub_vga_cls): Likewise.
24815 (grub_vga_setcolorstate): Likewise.
24816 (grub_vga_setcursor): Likewise.
24817 (grub_video_vga_init): New function.
24818 (grub_video_vga_setup): Likewise.
24819 (grub_video_vga_fini): Likewise.
24820 (update_target): Likewise.
24821 (grub_video_vga_blit_bitmap): Likewise.
24822 (grub_video_vga_blit_render_target): Likewise.
24823 (grub_video_vga_set_active_render_target): Likewise.
24824 (grub_video_vga_get_active_render_target): Likewise.
24825 (grub_video_vga_swap_buffers): Likewise.
24826 (grub_video_vga_set_palette): Likewise.
24827 (grub_video_vga_get_info_and_fini): Likewise.
24828 (grub_vga_term): Removed.
24829 (grub_video_vga_adapter): New variable.
24830 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24831 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24832
2bf61a98
VS
248332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 * video/readers/jpeg.c: Indented.
24836
09ddcd11
VS
248372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 Various jpeg cleanups.
24840
24841 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24842 (grub_jpeg_decode_quan_table): Use sizeof.
24843 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24844
e5507505
PH
248452010-05-05 Peter Hurley <No e-mail available> (tiny change)
24846
24847 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24848 tables. Ignore non-last ac bit.
24849 (grub_jpeg_decode_quan_table): Likewise.
24850
7e720a9b
VS
248512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24854 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24855 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24856 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24857 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24858 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24859
a7fc080b
VS
248602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24861
24862 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24863 error.
24864
2bf6012d
VS
248652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24866
24867 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24868
265d68cd
VS
248692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24872 condition.
24873
248742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24875
24876 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24877 part.
24878
265d68cd 248792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24880
24881 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24882 pointers.
24883
265d68cd 248842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24885
24886 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24887
d1b61374
CF
248882010-05-01 Christian Franke <franke@computer.org>
24889
24890 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24891 Remove broken Cygwin path conversion.
24892 * util/misc.c: [__CYGWIN__] Add include and define.
24893 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24894 for Cygwin 1.7.
24895 (make_system_path_relative_to_its_root): Simplify loop, replace early
24896 return by break.
24897 [__CYGWIN__] Add conversion to win32 path.
24898 Include "/" case in trailing slash removal.
24899
3558c6e9
VS
249002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24903 Reported by: Seth Goldberg
24904
f5f3ff93
VS
249052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * commands/help.c (grub_cmd_help): Fix a typo.
24908 Reported by: Seth Goldberg
24909
d8b5cd40
VS
249102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24913 name and add N_.
24914 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24915 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24916 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24917 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24918 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24919 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24920 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24921 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24922 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24923 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24924 * normal/context.c (GRUB_MOD_INIT): Likewise.
24925 * normal/main.c (GRUB_MOD_INIT): Likewise.
24926 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24927 * term/serial.c (GRUB_MOD_INIT): Likewise.
24928 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24929
88c14915
VS
249302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24931
24932 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24933 extra == 0.
24934
165134bc
VS
249352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24936
24937 * commands/iorw.c: New file.
24938 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24939 (iorw_mod_SOURCES): New variable.
24940 (iorw_mod_CFLAGS): Likewise.
24941 (iorw_mod_LDFLAGS): Likewise.
24942
c5ac9b32
VS
249432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24944
24945 Hotkey support
24946
24947 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24948 * normal/main.c (hotkey_aliases): New variable.
24949 (grub_normal_add_menu_entry): Parse "--hotkey".
24950 * normal/menu_text.c (run_menu): Handle hotkeys.
24951
ce60689c
VS
249522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * kern/i386/coreboot/init.c (grub_machine_init): Call
24955 grub_machine_mmap_init on qemu.
24956
0359d006
VS
249572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * boot/i386/qemu/boot.S: Add a missing .code16.
24960
7819a456
VS
249612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 Use LBIO on coreboot.
24964
24965 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24966 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24967 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24968 New declaration.
24969 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24970 grub_machine_mmap_init on coreboot.
24971 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24972 GRUB_LINUXBIOS_MEMBER_LINK.
24973 (grub_machine_mmap_iterate): Fix declaration.
24974 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24975
7210dca9
VS
249762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24977
24978 Split coreboot and multiboot ports.
24979
24980 * conf/i386-multiboot.rmk: New file.
24981 * configure.ac: Add multiboot port.
24982 * include/grub/i386/multiboot/boot.h: New file.
24983 * include/grub/i386/multiboot/console.h: Likewise.
24984 * include/grub/i386/multiboot/init.h: Likewise.
24985 * include/grub/i386/multiboot/kernel.h: Likewise.
24986 * include/grub/i386/multiboot/loader.h: Likewise.
24987 * include/grub/i386/multiboot/memory.h: Likewise.
24988 * include/grub/i386/multiboot/serial.h: Likewise.
24989 * include/grub/i386/multiboot/time.h: Likewise.
24990 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24991 * loader/multiboot.c: Likewise.
24992 * loader/multiboot_mbi2.c: Likewise.
24993 * util/grub-mkrescue.in: Generate multiboot rescue.
24994
6f8aaf68
VS
249952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24996
3080f7a7
VS
24997 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24998
249992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25000
25001 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25002
25003 * commands/terminal.c (abstract_terminal): New struct.
25004 (handle_command): New function. Based on grub_cmd_terminal_input.
25005 (grub_cmd_terminal_input): Use handle_command.
25006 (grub_cmd_terminal_output): Use handle_command.
25007
a8ebb841
BC
250082010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25009
25010 Fix comment handling.
25011
25012 * tests/grub_script_comments.in: New testcase.
25013 * conf/tests.rmk: Rules for new testcase.
25014 * script/yylex.l: Updated flex rules.
25015
bb06ba08
ST
250162010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25017
25018 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25019 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25020 if argc is 1.
bb06ba08 25021
cc9d2425
VS
250222010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25023
25024 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25025 autogen issues.
25026
460d8402
CF
250272010-04-26 Christian Franke <franke@computer.org>
25028
25029 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25030 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25031 (grub_get_prefix): Remove function.
25032 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25033 make_system_path_relative_to_its_root ().
25034 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25035
553c01f9
CF
250362010-04-24 Christian Franke <franke@computer.org>
25037
25038 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25039 (kernel_img_LDFLAGS): Remove -static-libgcc.
25040
2aec1692
CF
250412010-04-24 Christian Franke <franke@computer.org>
25042
25043 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25044 and CHECK_END_SYMBOL if grub-emu is built.
25045 Unset TARGET_OBJ2ELF if grub-emu is built
25046 without module support.
25047
f67dc308
JS
250482010-04-24 Jiro SEKIBA <jir@unicus.jp>
25049
25050 Nilfs2 support.
25051
25052 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25053 (grub_fstest_SOURCES): Likewise.
25054 (pkglib_MODULES): Add nilfs2.mod.
25055 (nilfs2_mod_SOURCES): New variable.
25056 (nilfs2_mod_CFLAGS): Likewise.
25057 (nilfs2_mod_LDFLAGS): Likewise.
25058 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25059 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25060 * fs/nilfs2.c: New file.
25061
4ba8d354
VS
250622010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25063
25064 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25065 is not supported.
25066
0d2c20c6
GS
250672010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25068
25069 Add grub-mkconfig support for NetBSD.
25070
25071 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25072 * util/grub-mkconfig.in: export new NetBSD specific variables.
25073 * po/POTFILES-shell: added 10_netbsd.in.
25074 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25075
bc4a2d83
BC
250762010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25077
25078 Fix emu build with grub-emu-pci and grub-emu-modules.
25079
25080 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25081 functions.
25082 * include/grub/libpciaccess.h: New file.
25083 * conf/any-emu.rmk: Update kernel headers for emu build.
25084
f48c87aa
VS
250852010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25088
18959385
VS
250892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25092
0037de3f
VS
250932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25094
25095 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25096 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25097 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25098 util/ieee1275/ofpath.c.
25099 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25100 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25101 * include/grub/sparc64/ieee1275/boot.h
25102 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25103 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25104 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25105 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25106 const char *.
25107 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25108 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25109 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25110 install.
25111
38e55e90
GS
251122010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25113
25114 * util/grub-mkconfig.in: Corrected two == equality tests.
25115 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25116 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25117 expect a number appended to it.
25118 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25119 expects a number appended to it.
25120
a9e6ff28
VS
251212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25122
25123 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25124
0b830b8f
VS
251252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25126
25127 * util/hostdisk.c (make_device_name): Change to new partition naming.
25128
0973daeb
VS
251292010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25132
460d8402 251332010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25134
25135 * Makefile.in: Add missing localedir setting.
25136
0b456309
CW
251372010-04-14 Colin Watson <cjwatson@ubuntu.com>
25138
25139 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25140 mistake in r2156. Noticed by Anthony Fok.
25141
25142 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25143 @localedir@.
25144 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25145
08f46d62
BC
251462010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25147
25148 Fix a spurious, uninitialized variable warning.
25149
25150 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25151 Initialize variable, shdr.
25152 (grub_freebsd_load_elfmodule): Likewise.
25153 (grub_freebsd_load_elf_meta): Likewise.
25154
8c4a72d4
BC
251552010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25156
25157 Fix for escaped dollar in double quoted strings.
25158
25159 * script/yylex.l: Updated flex rules.
25160 * conf/tests.rmk: Rule for new testcase.
25161 * tests/grub_script_dollar.in: New testcase.
25162
ce44826e
CPE
251632010-04-13 Carles Pina i Estany <carles@pina.cat>
251642010-04-13 Colin Watson <cjwatson@ubuntu.com>
25165
25166 Enclose all translated strings in grub.cfg in single quotes, and
25167 escape them appropriately (Ubuntu bug #552921).
25168
25169 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25170 * util/grub.d/10_hurd.in: Use it.
25171 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25172 * util/grub.d/10_linux.in (linux_entry): Likewise.
25173
4b0cd8f8
VS
251742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25175
25176 Fix cygwin compilation.
25177
25178 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25179 * include/grub/misc.h (__register_frame_info)
25180 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25181 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25182 * kern/misc.c (__register_frame_info)
25183 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25184 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25185
01fcf061
VS
251862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25189
5d04b11e
VS
251902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25191
25192 Unify libgcc processing.
25193
25194 * Makefile.in (kernel_img_LDFLAGS): New variable.
25195 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25196 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25197 overwriting.
25198 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25199 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25200 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25201 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25202 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25203 overwriting. Remove -lgcc and -static-libgcc
25204 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25205 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25206 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25207 (kernel_img_LDFLAGS): Append instead of overwriting.
25208 Remove -lgcc and -static-libgcc
25209 * conf/sparc64-ieee1275.rmk: Likewise.
25210 * include/grub/powerpc/libgcc.h: Move to ...
25211 * include/grub/libgcc.h: .. this.
25212 * include/grub/libgcc.h: Don't export most of the function on x86.
25213 (__bswapsi2): New export.
25214 (__bswapdi2): Likewise.
25215 * include/grub/mips/libgcc.h: Removed.
25216 * include/grub/sparc64/libgcc.h: Likewise.
25217
b7f3ac29
VS
252182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25219
25220 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25221 disk_info_msg (conflicts with gettexting into languages with cases).
25222
2c7031b1
GS
252232010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25224
25225 Add grub-probe support for NetBSD.
25226
25227 * util/getroot.c (find_root_device): Convert block device to
25228 character device on NetBSD.
25229 * util/probe.c (probe): Require character device on NetBSD.
25230 * util/hostdisk.c: NetBSD specific headers.
25231 (configure_device_driver): new function to tune device driver
25232 parameters (currently only for NetBSD floppy driver).
25233 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25234 via disklabel ioctl).
25235 (open_device): call configure_device_driver on NetBSD.
25236 (convert_system_partition_to_system_disk): NetBSD specific code.
25237 (device_is_wholedisk): Likewise.
25238 (grub_util_biosdisk_get_grub_dev): Likewise.
25239 (make_device_name): Fixed a typo in bsd_part_str.
25240 * configure.ac: check for opendisk() and getrawpartition() on
25241 NetBSD and set LIBUTIL.
25242 * Makefile.in: add LIBUTIL to LIBS.
25243
f516290c
BC
252442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25245
25246 Documentation fix.
25247
25248 * util/grub-script-check.c: Better help message.
25249
d8dcc0df
BC
252502010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25251
25252 Fix FreeBSD build.
25253
25254 * configure.ac: Flex version check.
25255 * conf/common.rmk: Add -Wno-error to sh.mod.
25256 * script/yylex.l: Remove all #pragma.
25257
6734334a
VS
252582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25261 prototype.
25262 Reported by: Seth Goldberg.
25263
daea6abd
VS
252642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25265
25266 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25267 Rename "module" to "module2".
25268 Reported by: Seth Goldberg.
25269
f2fd9d2b
VS
252702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25271
25272 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25273 EXPORT_FUNC.
25274 Reported by: Seth Goldberg.
25275
be124579
VS
252762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * lib/posix_wrap/locale.h: Add missing file.
25279 Reported by: Seth Goldberg.
25280
ef5da797
VS
252812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 grub-emu module load support.
25284
25285 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25286 NO_DYNAMIC_MODULES switched to this.
25287 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25288 (CFLAGS): Likewise.
25289 * conf/any-emu.rmk: Generate symlist.
25290 (kernel_img_HEADERS): Add util/datetime.h.
25291 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25292 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25293 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25294 kern/$(target_cpu)/cache.S.
25295 * configure.ac (grub-emu-modules): New option.
25296 * genmk.rb: Handle multiple source lists.
25297 * include/grub/sdl.h: New file.
25298 * include/grub/libusb.h: Likewise.
25299 * util/grub-emu.c (main): Hanle (host) root.
25300 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25301 GRUB_ERR_UNKNOWN_DEVICE.
25302 * util/misc.c: Move mm functions to ...
25303 * util/mm.c: ... here. All users updated.
25304
47822096
VS
253052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25306
25307 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25308 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25309 missing files.
25310 (maintainer-clean): Remove libgcrypt-grub.
25311
5d7e7445
VS
253122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25313
25314 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25315
25f4e252
EC
253162010-04-09 EFI Coder <eficoder@hotmail.com>
25317
25318 * normal/menu_text.c (print_message): Clean up the message and show
25319 the Fn information when on EFI
25320 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25321
027de555
VS
253222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25323
25324 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25325 All users updated.
25326 * normal/crypto.c (read_crypto_list): Likewise.
25327 * normal/dyncmd.c (read_command_list): Likewise.
25328 * normal/term.c (read_terminal_list): Likewise.
25329 * normal/main.c (read_lists): Use explicit prefix.
25330 (read_lists_hook): Use read_lists.
25331 (grub_normal_execute): Likewise.
25332
47779711
VS
253332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25334
25335 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25336 Reported by: Thomas Schmitt.
25337 Add -no-emul-boot to grub-mkisofs parameters.
25338
1118c32e
VS
253392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 * font/font.c: Indented.
25342
7d652447
BC
253432010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25344
25345 Elif support to GRUB script (by Deepak Vankadaru).
25346
25347 * tests/grub_script_if.in: New testcase.
25348 * conf/tests.rmk: Rule for new testcase.
25349 * script/parser.y: Grammar rules for elif.
25350
34bb22df
BC
253512010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25352
25353 While and until loops support to GRUB script.
25354
25355 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25356 (grub_script_create_cmdwhile): New function prototype.
25357 (grub_script_execute_cmdwhile): New function prototype.
25358 * script/execute.c (grub_script_execute_cmdwhile): New function.
25359 * script/parser.y (command): New commands.
25360 (whilecmd): New grammar rule.
25361 (untilcmd): New grammar rule.
25362 * script/script.c (grub_script_create_cmdwhile): New function.
25363 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25364 function.
25365
25366 * tests/grub_script_while1.in: New testcase.
25367 * conf/tests.rmk: Rule for new testcase.
25368
e215d8e0
VS
253692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25370
25371 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25372 as *.jpg.
25373
d7c43ba1
MV
253742010-04-09 Mario Vazquez <mariovazq@gmail.com>
25375
25376 GRUB_BACKGROUND support.
25377
25378 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25379 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25380
d64795c0
VS
253812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25382
25383 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25384 Idea by: Mario Vazquez
d64795c0
VS
25385
25386 * util/grub.d/00_header.in: Load pf2 and image modules.
25387
f267f83a
VS
253882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 grub-mkconfig multiple terminal support.
25391
25392 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25393 * util/grub.d/00_header.in: Likewise.
25394
b7841ceb
VS
253952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25396
25397 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25398 we use cd $(srcdir).
25399
df60998c
CW
254002010-04-08 Colin Watson <cjwatson@ubuntu.com>
25401
25402 * util/grub.d/10_linux.in: Only use the first word of
25403 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25404 spaces in GRUB_DISTRIBUTOR.
25405 * util/grub.d/10_kfreebsd.in: Likewise.
25406 * util/grub.d/10_hurd.in: Likewise.
25407
fa09c82e
BC
254082010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25409
14e18ae3 25410 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25411
25412 * tests/util/grub-shell.in: Remove -serial stdio option.
25413
daf892b3
BC
254142010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 POSIX header file wrappers.
25417
25418 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25419 equivalents.
25420 * lib/posix_wrap/ctype.h: Likewise.
25421 * lib/posix_wrap/errno.h: Likewise.
25422 * lib/posix_wrap/langinfo.h: Likewise.
25423 * lib/posix_wrap/limits.h: Likewise.
25424 * lib/posix_wrap/localcharset.h: Likewise.
25425 * lib/posix_wrap/stdint.h: Likewise.
25426 * lib/posix_wrap/stdio.h: Likewise.
25427 * lib/posix_wrap/stdlib.h: Likewise.
25428 * lib/posix_wrap/string.h: Likewise.
25429 * lib/posix_wrap/sys/types.h: Likewise.
25430 * lib/posix_wrap/unistd.h: Likewise.
25431 * lib/posix_wrap/wchar.h: Likewise.
25432 * lib/posix_wrap/wctype.h: Likewise.
25433 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25434 (grub_script.yy.h): Likewise.
25435 * script/yylex.l: Remove POSIX emulation #defines.
25436 * Makefile.in (POSIX_CFLAGS): New variable.
25437 (GNULIB_UTIL_CFLAGS): Likewise.
25438
25439 Regexp support.
25440
25441 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25442 (regexp_mod_SOURCES): New variable.
25443 (regexp_mod_CFLAGS): Likewise.
25444 (regexp_mod_LDFLAGS): Likewise.
25445 * commands/regexp.c: New file.
25446 * gnulib/regcomp.c: New file. Imported from gnulib.
25447 * gnulib/regex.c: Likewise.
25448 * gnulib/regex_internal.c: Likewise.
25449 * gnulib/regex_internal.h: Likewise.
25450 * gnulib/regexec.c: Likewise.
25451 * gnulib/regex.h: Likewise.
25452
974ac4f7
VS
254532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25454
25455 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25456 unsupported video mode types.
25457
2622c3ff
VS
254582010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25459
25460 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25461
064cb524
VS
254622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25465 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25466
a8c3b552
VS
254672010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 Remove unused grub_vga_get_font.
25470
25471 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25472 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25473
187bbe3d
GS
254742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25475
25476 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25477 * include/grub/misc.h: Likewise.
25478
b9396631
GS
254792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25480
25481 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25482 for which failure is fatal.
25483
50479feb
GS
254842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25485
25486 * util/grub-install.in: Use mkdir -p to create grub directory.
25487 * util/i386/efi/grub-install.in: Likewise.
25488 * util/ieee1275/grub-install.in: Likewise.
25489
b1654fdf
GS
254902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25491
25492 * Makefile.in (LEX): new variable.
25493
bd5a6415
GS
254942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25495
25496 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25497 `=' and added double quotes on operands of this equality test.
25498
3db3a82b
VS
254992010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25500
25501 * Makefile.in (uninstall): Remove a leftover debug echo.
25502 Reported by: Grégoire Sutre
25503
38023412
VS
255042010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 MIPS multiboot2 support.
25507
25508 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25509 (multiboot2_mod_SOURCES): New variable.
25510 (multiboot2_mod_CFLAGS): Likewise.
25511 (multiboot2_mod_LDFLAGS): Likewise.
25512 (multiboot2_mod_ASFLAGS): Likewise.
25513 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25514 definition.
25515 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25516 (MULTIBOOT_MBI_REGISTER): Likewise.
25517 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25518 (MULTIBOOT_ELF32_MACHINE): Likewise.
25519 (MULTIBOOT_ELF64_MACHINE): Likewise.
25520 * include/grub/mips/multiboot.h: New file.
25521 * include/grub/video.h (grub_video_driver_id): New type
25522 GRUB_VIDEO_DRIVER_SM712.
25523 (grub_video_get_info_and_fini): Export.
25524 (grub_video_get_palette): Likewise.
25525 (grub_video_get_driver_id): Likewise.
25526 * include/multiboot2.h: Resynced with spec.
25527 * loader/i386/multiboot.c: Moved from here ...
25528 * loader/multiboot.c: ... here. All users updated.
25529 (grub_multiboot_boot): Use platform-specific macros.
25530 * loader/i386/multiboot_elfxx.c: Moved from here ...
25531 * loader/multiboot_elfxx.c: ... here. All users updated.
25532 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25533 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25534 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25535
47674667
VS
255362010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 Import gnulib argp module.
25539
25540 * gnulib/argp-ba.c: New file.
25541 * gnulib/argp-eexst.c: Likewise.
25542 * gnulib/argp-fmtstream.c: Likewise.
25543 * gnulib/argp-fmtstream.h: Likewise.
25544 * gnulib/argp-fs-xinl.c: Likewise.
25545 * gnulib/argp-help.c: Likewise.
25546 * gnulib/argp-namefrob.h: Likewise.
25547 * gnulib/argp-parse.c: Likewise.
25548 * gnulib/argp-pin.c: Likewise.
25549 * gnulib/argp-pv.c: Likewise.
25550 * gnulib/argp-pvh.c: Likewise.
25551 * gnulib/argp-version-etc.c: Likewise.
25552 * gnulib/argp-version-etc.h: Likewise.
25553 * gnulib/argp-xinl.c: Likewise.
25554 * gnulib/argp.h: Likewise.
25555
495442ed
VS
255562010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 * kern/device.c (grub_device_iterate): Clear errors after failed
25559 opening device.
25560
f9fd65df
VS
255612010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25562
25563 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25564 returned by firmware.
25565
af09641e
VS
255662010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25569 compilation on coreboot and qemu
25570
016883a5
VS
255712010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25572
25573 * include/multiboot2.h: Resync with spec.
25574
f97e1f7d
VS
255752010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 Multiboot2 tag support
25578
25579 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25580 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25581 Remove loader/multiboot_loader.c.
25582 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25583 (grub_multiboot2_real_boot): Likewise.
25584 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25585 (grub_get_multiboot_mmap_count): New proto.
25586 (grub_fill_multiboot_mmap): Likewise.
25587 (grub_multiboot_set_video_mode): Likewise.
25588 (grub_multiboot_set_console): Likewise.
25589 (grub_multiboot_load): Likewise.
25590 (grub_multiboot_load_elf): Likewise.
25591 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25592 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25593 * include/multiboot.h: Resynced with specification.
25594 * include/multiboot2.h: Resynced with specification.
25595 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25596 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25597 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25598 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25599 users updated.
25600 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25601 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25602 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25603 Removed.
25604 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25605 Moved from here...
25606 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25607 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25608 Moved from here...
25609 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25610 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25611 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25612 All users updated.
25613 * loader/i386/multiboot_mbi2.c: New file.
25614
3506b90b
VS
256152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25616
25617 Resync with gnulib.
25618
25619 * Makefile.in (GNULIB_CFLAGS): New variable.
25620 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25621 (grub_script_check_CFLAGS): New variable.
25622 * gnulib/alloca.h: Resync with gnulib.
25623 * gnulib/error.c: Likewise.
25624 * gnulib/error.h: Likewise.
25625 * gnulib/fnmatch.c: Likewise.
25626 * gnulib/fnmatch_loop.c: Likewise.
25627 * gnulib/getdelim.c: Likewise.
25628 * gnulib/getline.c: Likewise.
25629 * gnulib/getopt.c: Likewise.
25630 * gnulib/getopt1.c: Likewise.
25631 * gnulib/getopt_int.h: Likewise.
25632 * gnulib/gettext.h: Likewise.
25633 * gnulib/progname.c: Likewise.
25634 * gnulib/progname.h: Likewise.
25635
394a3120
GS
256362010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25637
25638 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25639 which is the case with --disabled-nls.
25640
25641 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25642 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25643 * util/misc.c: Likewise.
25644 * util/mkisofs/mkisofs.c: Likewise.
25645 * util/mkisofs/mkisofs.h: Likewise.
25646
969d1c78
VS
256472010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25648
25649 Simplify Apple CC support.
25650
25651 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25652 Add 0 byte at the end not to have a symbol with empty target.
25653 * mmap/i386/pc/mmap_helper.S: Likewise.
25654 * genmk.rb: Ignore errors 2030 and 2050.
25655 * kern/i386/pc/startup.S: Use LOCAL when possible.
25656
8d2977bb
BC
256572010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25658
25659 Testcase and the fix for final semicolon on cmdline.
25660
25661 * tests/grub_script_final_semicolon.in: New testcase.
25662 * conf/tests.rmk: Rules for the new testcase.
25663 * script/parser.y: Grammar fix.
25664
a7bd6915
BC
256652010-03-26 BVK Chaitanya <bvk@localhost>
25666
25667 Blank lines testcase for GRUB script.
25668
25669 * tests/grub_script_blanklines.in: New testcase.
25670 * conf/tests.rmk: Rules for the new testcase.
25671
e4ff6628
VS
256722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25673
25674 Don't use __FILE__.
25675
25676 * genmk.rb: Add -DGRUB_FILE to all C targets.
25677 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25678 * include/grub/list.h: Likewise.
25679 * include/grub/misc.h: Likewise.
25680 * include/grub/mm.h: Likewise.
25681 * include/grub/test.h: Likewise.
25682 * kern/mm.c: Likewise.
25683 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25684
6a5cf6b6
VS
256852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 Sunpc partitions support.
25688
25689 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25690 (grub_fstest_SOURCES): Likewise.
25691 (pkglib_MODULES): Add part_sunpc.mod.
25692 (part_sunpc_mod_SOURCES): New variable.
25693 (part_sunpc_mod_CFLAGS): Likewise.
25694 (part_sunpc_mod_LDFLAGS): Likewise.
25695 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25696 * partmap/sunpc.c: New file.
25697
746d9045
BC
256982010-03-26 BVK Chaitanya <bvk@localhost>
25699
25700 For loop support to GRUB script.
25701
25702 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25703 (grub_script_create_cmdfor): New function prototype.
25704 (grub_script_execute_cmdfor): New function prototype.
25705 * script/execute.c (grub_script_execute_cmdfor): New function.
25706 * script/parser.y (command): New for command.
25707 (forcmd): New grammar rule.
25708 * script/script.c (grub_script_create_cmdfor): New function.
25709 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25710 function.
25711 * tests/grub_script_for1.in: New testcase.
25712 * conf/tests.rmk: Rules for new testcase.
25713
18486b18
VS
257142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25715
25716 Nested partitions
25717
25718 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25719 'partition' is NULL, grub_partition_get_start already does that.
25720 * commands/loadenv.c (check_blocklists): Likewise.
25721 (write_blocklists): Likewise.
25722 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25723 (grub_fstest_SOURCES): Likewise.
25724 (pkglib_MODULES): Add part_bsd.mod.
25725 (part_bsd_mod_SOURCES): New variable.
25726 (part_bsd_mod_CFLAGS): Likewise.
25727 (part_bsd_mod_LDFLAGS): Likewise.
25728 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25729 (grub_emu_SOURCES): Likewise.
25730 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25731 * include/grub/bsdlabel.h: New file.
25732 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25733 'get_name'.
25734 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25735 (grub_partition_map_list): New variable.
25736 (grub_partition_map_register): Inline.
25737 (grub_partition_map_unregister): Likewise.
25738 (FOR_PARTITION_MAPS): New macro.
25739 (grub_partition_map_iterate): Removed.
25740 (grub_partition_get_start): Handle nested partitions.
25741 * include/grub/msdos_partition.h: Remove bsd-related entries.
25742 (grub_pc_partition): Remove.
25743 * kern/disk.c (grub_disk_close): Free partition data.
25744 (grub_disk_adjust_range): Handle nested partitions.
25745 * kern/partition.c (grub_partition_map_probe): New function.
25746 (grub_partition_probe): Parse name to number, handle subpartitions.
25747 (get_partmap): New function.
25748 (grub_partition_iterate): Handle subpartitions.
25749 (grub_partition_get_name): Likewise.
25750 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25751 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25752 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25753 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25754 Set 'number'.
25755 (acorn_partition_map_probe): Remove.
25756 (acorn_partition_map_get_name): Likewise.
25757 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25758 Set 'number'.
25759 Set 'index' to 0 since there can be only one partition entry per sector.
25760 (amiga_partition_map_probe): Remove.
25761 (amiga_partition_map_get_name): Likewise.
25762 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25763 Set 'number'.
25764 Set 'offset' and 'index' to real positions of partitions.
25765 (apple_partition_map_probe): Remove.
25766 (apple_partition_map_get_name): Likewise.
25767 * partmap/bsdlabel.c: New file.
25768 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25769 Set 'number'.
25770 Allocate 'data' so it can be correctly freed.
25771 Set 'index' to offset inside sector.
25772 (gpt_partition_map_probe): Remove.
25773 (gpt_partition_map_get_name): Likewise.
25774 * partmap/msdos.c (grub_partition_parse): Remove.
25775 (pc_partition_map_iterate): Don't force raw access.
25776 Set 'number'.
25777 Make 'ext_offset' a local variable.
25778 (pc_partition_map_probe): Remove.
25779 (pc_partition_map_get_name): Remove.
25780 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25781 Set 'number'.
25782 (sun_partition_map_probe): Remove.
25783 (sun_partition_map_get_name): Likewise.
25784 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25785 (grub_pcpart_type): Likewise.
25786 * util/hostdisk.c (open_device): Handle new numbering scheme.
25787 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25788 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25789 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25790 * util/grub-install.in: Insert all subpartition modules.
25791 * util/ieee1275/grub-install.in: Likewise.
25792
a3940f88
AG
257932010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25794
25795 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25796 grammar.
25797
21b99926 257982010-03-24 Colin Watson <cjwatson@ubuntu.com>
25799
25800 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25801
bed1d352
CW
258022010-03-21 Colin Watson <cjwatson@ubuntu.com>
25803
25804 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25805 match where 'make install' puts them.
25806 * util/i386/efi/grub-install.in: Likewise.
25807
c9f58427
CW
258082010-03-19 Colin Watson <cjwatson@ubuntu.com>
25809
25810 * .bzrignore: Add gentrigtables, grub-script-check,
25811 grub_script_check_init.c, grub_script_check_init.h, and
25812 trigtables.c.
25813
f84afb27
VS
258142010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 * kern/parser.c: Indented.
25817
ed0e3d30
VS
258182010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25819
25820 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25821
0ea81d98
VS
258222010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25823
25824 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25825 alpha_mask_size == 0 case.
25826
0cdc2a09
BC
258272010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25828
25829 GRUB shell lexer and parser improvements.
25830
25831 * conf/any-emu.rmk: Build rule updates.
25832 * conf/common.rmk: Likewise.
25833 * conf/i386-coreboot.rmk: Likewise.
25834 * conf/i386-efi.rmk: Likewise.
25835 * conf/i386-ieee1275.rmk: Likewise.
25836 * conf/i386-pc.rmk: Likewise.
25837 * conf/powerpc-ieee1275.rmk: Likewise.
25838 * conf/x86_64-efi.rmk: Likewise.
25839
25840 * configure.ac: Configure check for flex.
25841
25842 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25843 types.
25844 (grub_lexer_param): Struct member updates.
25845 (grub_parser_param): Likewise.
25846 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25847 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25848 (grub_script_lexer_init): Prototype update.
25849 (grub_script_lexer_record_start): Likewise.
25850 (grub_script_lexer_record_stop): Likewise.
25851 (grub_script_lexer_yywrap): New function prototype.
25852 (grub_script_lexer_fini): Likewise.
25853 (grub_script_execute_argument_to_string): Removed by...
25854 (grub_script_execute_argument_to_argv): ...better version.
25855
25856 * script/execute.c (ROUND_UPTO): New macro.
25857 (grub_script_execute_cmdline): Out of memory fixes.
25858 (grub_script_execute_menuentry): Likewise.
25859 (grub_script_execute_argument_to_string): Removed. Update all
25860 users by...
25861 (grub_script_execute_argument_to_argv): ...better version.
25862 * script/function.c (grub_script_function_create): Use
25863 grub_script_execute_argument_to_argv instead of
25864 grub_script_execute_argument_to_string.
25865
25866 * script/lexer.c (check_varstate): Removed.
25867 (check_textstate): Removed.
25868 (grub_script_lexer_record_start): Likewise.
25869 (grub_script_lexer_record_stop): Likewise.
25870 (recordchar): Replaced with...
25871 (grub_script_lexer_record): ...new function.
25872 (nextchar): Removed.
25873 (grub_script_lexer_init): Rewritten.
25874 (grub_script_yylex): Rewritten.
25875 (append_newline): New function.
25876 (grub_script_lexer_yywrap): New function.
25877 (grub_script_lexer_fini): New function.
25878 (grub_script_yyerror): Sets error flag.
25879
25880 * script/yylex.l: New file.
25881 (grub_lexer_yyfree): Wrapper for flex yyffre.
25882 (grub_lexer_yyalloc): Likewise.
25883 (grub_lexer_yyrealloc): Likewise.
25884 * script/parser.y: Refactored.
25885
25886 * script/script.c (grub_script_arg_add): Out of memory fixes.
25887 (grub_script_add_arglist): Likewise.
25888 (grub_script_create_cmdline): Likewise.
25889 (grub_script_create_cmdmenu): Likewise.
25890 (grub_script_add_cmd): Likewise.
25891 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25892 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25893 unnecessary code.
25894
25895 * tests/grub_script_echo1.in: New testcase.
25896 * tests/grub_script_vars1.in: New testcase.
25897 * tests/grub_script_echo_keywords.in: New testcase.
25898
1d63a066
VS
258992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25900
25901 Remove some redundancy in build system.
25902
25903 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25904 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25905 (TARGET_LDFLAGS): Add -nostdlib.
25906 (TARGET_IMG_LDFLAGS): Likewise.
25907 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25908 anything since mmap isn't available.
25909 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25910 Add util/time.c.
25911 (pkglib_MODULES): Remove reboot.mod.
25912 (reboot_mod_SOURCES): Removed.
25913 (reboot_mod_CFLAGS): Likewise.
25914 (reboot_mod_LDFLAGS): Likewise.
25915 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25916 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25917 (DEFSYMFILES): Add kernel_syms.lst.
25918 (kernel_img_HEADERS): Add common headers.
25919 (symlist.c): New target.
25920 (kernel_syms.lst): Likewise.
25921 (pkglib_MODULES): Add memdisk.mod.
25922 (memdisk_mod_SOURCES): New variable.
25923 (memdisk_mod_CFLAGS): Likewise.
25924 (memdisk_mod_LDFLAGS): Likewise.
25925 (pkglib_MODULES): Add reboot.mod.
25926 (reboot_mod_SOURCES): New variable.
25927 (reboot_mod_CFLAGS): Likewise.
25928 (reboot_mod_LDFLAGS): Likewise.
25929 (pkglib_MODULES): Add date.mod.
25930 (date_mod_SOURCES): New variable.
25931 (date_mod_CFLAGS): Likewise.
25932 (date_mod_LDFLAGS): Likewise.
25933 (pkglib_MODULES): Add datehook.mod.
25934 (datehook_mod_SOURCES): New variable.
25935 (datehook_mod_CFLAGS): Likewise.
25936 (datehook_mod_LDFLAGS): Likewise.
25937 (pkglib_MODULES): Add lsmmap.mod.
25938 (lsmmap_mod_SOURCES): New variable.
25939 (lsmmap_mod_CFLAGS): Likewise.
25940 (lsmmap_mod_LDFLAGS): Likewise.
25941 (pkglib_MODULES): Add boot.mod.
25942 (boot_mod_SOURCES): New variable.
25943 (boot_mod_CFLAGS): Likewise.
25944 (boot_mod_LDFLAGS): Likewise.
25945 * conf/i386-coreboot.rmk: Removed redundant parts.
25946 * conf/i386-ieee1275.rmk: Likewise.
25947 * conf/i386-pc.rmk: Likewise.
25948 * conf/mips-yeeloong.rmk: Likewise.
25949 * conf/mips.rmk: Likewise.
25950 * conf/powerpc-ieee1275.rmk: Likewise.
25951 * conf/sparc64-ieee1275.rmk: Likewise.
25952 * conf/x86_64-efi.rmk: Likewise.
25953 * conf/i386-coreboot.rmk: Moved qemu parts ..
25954 * conf/i386-qemu.rmk: ... here
25955 * conf/i386-efi.rmk: Moved common parts to...
25956 * conf/x86-efi.rmk: ... here.
25957 * conf/i386.rmk: Added modules common to all x86 variants.
25958 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25959 * disk/memdisk.c: Remove grub/machine/kernel.h.
25960 * gensymlist.sh.in: Include symbol.h.
25961 * hook/datehook.c: Correct module name.
25962 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25963 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25964 * include/grub/i386/efi/serial.h: New file.
25965 * include/grub/x86_64/efi/serial.h: Likewise.
25966 * util/time.c: Likewise.
25967 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25968
463ac55f
CK
259692010-03-14 Colin King <colin.king@ubuntu.com>
259702010-03-14 Colin Watson <cjwatson@ubuntu.com>
25971
25972 Shrink the pre-partition-table part of boot.img by eight bytes.
25973
25974 * boot/i386/pc/boot.S (ERR): New macro.
25975 (chs_mode): Use ERR.
25976 (geometry_error): Likewise.
25977 (hd_probe_error): Remove. This is only used once, so we wrwite
25978 it inline instead.
25979 (read_error): Instead of printing read_error_string, just set up
25980 %si and fall through to ...
25981 (error_message): ... this new function, also used by ERR.
25982
08e46ede
CW
259832010-03-14 Colin Watson <cjwatson@ubuntu.com>
25984
25985 Speed up consecutive hostdisk operations on the same device.
25986
25987 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25988 (grub_util_biosdisk_open): Initialise disk->data.
25989 (struct linux_partition_cache): New structure.
25990 (linux_find_partition): Cache partition start positions; these are
25991 expensive to compute on every read and write.
25992 (open_device): Cache open file descriptor in disk->data, so that we
25993 don't have to reopen it and flush the buffer cache for consecutive
25994 operations on the same device.
25995 (grub_util_biosdisk_close): New function.
25996 (grub_util_biosdisk_dev): Set `close' member.
25997
25998 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25999 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26000 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26001 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26002 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26003
4a6d2d06
VS
260042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26005
26006 Compile parts of grub-emu as modules.
26007
26008 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26009 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26010 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26011 (all-local): Add $(GRUB_EMU).
26012 (install-local): Install $(GRUB_EMU).
26013 (uninstall): Uninstall $(GRUB_EMU).
26014 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26015 * kern/dl.c: Likewise.
26016 * commands/sleep.c: Not include machine/time.h.
26017 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26018 (COMMON_CFLAGS): Likewise.
26019 (sbin_UTILITIES): Remove grub-emu.
26020 (grub_emu_SOURCES): Removed.
26021 (kernel_img_RELOCATABLE): New variable.
26022 (pkglib_PROGRAMS): Add kernel.img.
26023 (kernel_img_SOURCES): New variable
26024 (kernel_img_CFLAGS): Likewise.
26025 (kernel_img_LDFLAGS): Likewise.
26026 (TARGET_NO_STRIP): Likewise.
26027 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26028 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26029 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26030 (grub-emu): New target.
26031 (GRUB_EMU): New variable.
26032 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26033 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26034 * loader/xnu.c: Likewise.
26035 * include/grub/pci.h: Likewise.
26036 * genemuinit.sh: New file.
26037 * genemuinitheader.sh: Likewise.
26038 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26039 Support TARGET_NO_DYNAMIC_MODULES.
26040 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26041 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26042 * disk/loopback.c: Likewise.
26043 * font/font_cmd.c: Likewise.
26044 * partmap/acorn.c: Likewise.
26045 * partmap/amiga.c: Likewise.
26046 * partmap/apple.c: Likewise.
26047 * partmap/gpt.c: Likewise.
26048 * partmap/msdos.c: Likewise.
26049 * partmap/sun.c: Likewise.
26050 * parttool/msdospart.c: Likewise.
26051 * term/gfxterm.c: Likewise.
26052 * video/bitmap.c: Likewise.
26053 * video/readers/jpeg.c: Likewise.
26054 * video/readers/png.c: Likewise.
26055 * video/readers/tga.c: Likewise.
26056 * video/video.c: Likewise.
26057 * util/grub-emu.c (read_command_list): Removed.
26058 (main): Don't call util_init_nls.
26059 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26060 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26061
91fdd2ed
VS
260622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26063
26064 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26065 date.mod, datehook.mod.
26066 (datetime_mod_SOURCES): New variable.
26067 (datetime_mod_CFLAGS): Likewise.
26068 (datetime_mod_LDFLAGS): Likewise.
26069 (date_mod_SOURCES): Likewise.
26070 (date_mod_CFLAGS): Likewise.
26071 (date_mod_LDFLAGS): Likewise.
26072 (datehook_mod_SOURCES): Likewise.
26073 (datehook_mod_CFLAGS): Likewise.
26074 (datehook_mod_LDFLAGS): Likewise.
26075 * conf/sparc64-ieee1275.rmk: Likewise.
26076 * lib/ieee1275/datetime.c: New file.
26077
873ccae6
VS
260782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26081 (ieee1275_fb_mod_SOURCES): New variable.
26082 (ieee1275_fb_mod_CFLAGS): Likewise.
26083 (ieee1275_fb_mod_LDFLAGS): Likewise.
26084 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26085 New proto.
26086 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26087 (HEAP_MAX_ADDR): Likewise.
26088 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26089 type.
26090 Correct stop condition.
26091 (grub_ieee1275_devices_iterate): New function.
26092 * video/ieee1275.c: New file.
26093
601c97c0
VS
260942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26095
26096 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26097
26098 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26099 as scratch.
26100 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26101 SCRATCH_PAD_DISKBOOT as scratch.
26102 (bootit): Pass Openfirmware pointer in %o4.
26103 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26104 of 0x200000.
26105 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26106 with util/grub-mkrawimage.c.
26107 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26108 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26109 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26110 (grub_aout_load) [GRUB_UTIL]: Likewise.
26111 * include/grub/kernel.h (grub_modules_get_end): New proto.
26112 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26113 (SCRATCH_PAD_BOOT): New definition.
26114 (SCRATCH_PAD_DISKBOOT): Likewise.
26115 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26116 * include/grub/sparc64/ieee1275/ieee1275.h
26117 (grub_ieee1275_original_stack): New variable
26118 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26119 New definition
26120 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26121 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26122 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26123 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26124 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26125 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26126 (grub_platform_image_format_t): New type.
26127 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26128 * kern/main.c (grub_modules_get_end)
26129 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26130 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26131 (codestart): Switch stacks.
26132 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26133 variable.
26134 (grub_heap_init): Use grub_modules_get_end.
26135 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26136 stack.
26137 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26138 (main): Likewise.
26139 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26140
d68b491e
TG
261412010-03-14 Thorsten Glaser <tg@mirbsd.org>
26142
26143 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26144
4e02ed50
MK
261452010-03-08 Matt Kraai <kraai@ftbfs.org>
26146
26147 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26148 bug #559005).
26149
1f15fc1e
VS
261502010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 * genmoddep.awk: Output all missing symbols and not only first.
26153
fce5d8ff
VS
261542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26155
26156 * NEWS: Put the date of 1.98 release.
26157
d1e8a02f
VS
261582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26159
26160 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26161 ft2build.h.
26162
696fd607
VS
261632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26166 completition in the middle of string.
26167
33e2e6f3
VS
261682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26169
26170 * util/grub-mkrescue.in: Use mktemp with explicit template.
26171
b1f6d291
VS
261722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26173
26174 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26175
2ac227c7
VS
261762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26177
26178 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26179 right pointer.
26180
8f9a632b
VS
261812010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 Fix FreeBSD compilation.
26184
26185 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26186 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26187
60b03859
VS
261882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26191
48a5a769
VS
261922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26193
26194 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26195
3ab4bd77
VS
261962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26197
26198 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26199
d116e0d8
RM
262002010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26201
26202 Support relative image path in theme file.
26203
26204 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26205 (image_set_property): Handle theme_dir and relative path.
26206
c7ef54aa
VS
262072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26208
26209 * configure.ac: Alias amd64 to x86_64.
26210
fcee14ed
VS
262112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26212
26213 * NEWS: mention multiboot on EFI.
26214
d0780363
VS
262152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26216
26217 * kern/main.c (grub_load_modules): Handle errors from init functions of
26218 embeded modules.
26219
41168ea4
VS
262202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26221
26222 * normal/autofs.c (autoload_fs_module): Handle errors.
26223
b54d93ac
VS
262242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26225
26226 Disable linux.mod on qemu-mips since it's not functional and leads
26227 to compilation failure.
26228
26229 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26230 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26231 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26232 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26233 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26234 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26235 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26236 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26237 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26238 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26239 Reported by: BVK Chaitanya
26240
fc8345da
JU
262412010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26242
26243 * INSTALL: Add gettext as a dependency and add qemu to a new section
26244 "Prerequisites for make-check".
26245
4760f979
CF
262462010-03-04 Christian Franke <franke@computer.org>
26247
26248 * util/grub-pe2elf.c: Add missing include "progname.h".
26249
f209b5b2
VS
262502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26251
26252 * normal/crypto.c (read_crypto_list): Fix a typo.
26253 Reported by: Seth Goldberg.
26254
b4b7be98
VS
262552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26256
26257 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26258 Reported by: Seth Goldberg.
b4b7be98 26259
c0ee0385
VS
262602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26263 ascii.bitmaps.
26264
a8efbf64
VS
262652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26268 Reported by: Seth Goldberg.
a8efbf64 26269
08dcd913
VS
262702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26271
26272 * util/i386/efi/grub-install.in: Copy gettext files.
26273
c4d0b332
VS
262742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26275
26276 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26277
c6f2fe52
VS
262782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26279
26280 Wait for user entry basing on presence of output rather than on errors.
26281
26282 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26283 (grub_install_newline_hook): Likewise.
26284 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26285 * normal/menu.c (show_menu): Check line_counter to determine presence
26286 of output.
26287 * normal/term.c (grub_normal_line_counter): New variable.
26288 (grub_normal_get_line_counter): New function.
26289 (grub_install_newline_hook): Likewise.
26290
5382b1e4
VS
262912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26292
26293 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26294
5519963b
VS
262952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * configure.ac: Update version to 1.98.
26298
72b28631
VS
262992010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26300
26301 * util/grub.d/10_linux.in (linux_entry): Don't default to
26302 gfxpayload=keep if Linux doesn't support video handover.
26303
c140a180
VS
263042010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 Don't compile video modules on yeeloong since video subsystem is part
26307 of kernel.
26308
26309 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26310 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26311 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26312 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26313 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26314 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26315 * include/grub/bitmap_scale.h: Likewise.
26316 * include/grub/bufio.h: Likewise.
26317 * include/grub/font.h: Likewise.
26318 * include/grub/gfxterm.h: Likewise.
26319 * include/grub/video.h: Likewise.
26320 * include/grub/vbe.h: Don't include video_fb.h.
26321 * video/i386/pc/vbe.c: Include video_fb.h.
26322 * commands/i386/pc/vbetest.c: Include video.h.
26323
a0ca21c2
CW
263242010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26325
26326 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26327 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26328 default entry if GRUB_SAVEDEFAULT=true. This allows using
26329 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26330 saving a new default on every boot.
26331
4a8a763c
VS
263322010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26335 * normal/term.c (read_terminal_list): Likewise.
26336 * normal/main.c (grub_normal_init_page): Likewise.
26337 (grub_normal_read_line_real): Likewise.
26338
607ffde2
VS
263392010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26340
26341 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26342 memory leak.
26343 Reported by: Seth Goldberg.
26344
2b8fa975
CW
263452010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26346
26347 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26348 duplicate declaration of `start'.
26349
618307dd
VS
263502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26351
26352 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26353 filename.
26354 Reported by: Georgy Buranov
26355
7dd05b96 263562010-02-20 Carles Pina i Estany <carles@pina.cat>
26357
26358 * util/grub-mkrawimage.c (usage): Change string formatting to
26359 improve gettext.
26360
d1484a42
MRA
263612010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26362
26363 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26364 backspace keys.
26365
42b1d186
VS
263662010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26367
26368 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26369 Reported by: Michael Suchanek.
26370
263712010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26372
26373 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26374 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26375
d9f31a41
VS
263762010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 Remove any reference to non-free fonts.
26379
26380 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26381 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26382 uses non-free components.
26383 * font/font.c (grub_font_get_name): Remove example name.
26384 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26385 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26386 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26387 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26388
2793c71e
GB
263892010-02-16 Georgy Buranov <gburanov@gmail.com>
26390
26391 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26392
402e3779
VS
263932010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26396 Double divisor.
26397 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26398 features.
26399 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26400
0dd1e0dd
VS
264012010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26402
26403 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26404
6fa7cfce
ST
264052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26406
26407 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26408 * docs/grub.texi (Command-line and menu entry commands): Document play
26409 command.
26410
37c8483b
ST
264112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26412
26413 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26414 parse arguments as inline tempo and notes. Move code for playing notes
26415 to...
26416 (play): ... new function.
26417
14da0fb7
ST
264182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26419
26420 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26421 grub_uint16_t instead of short.
26422 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26423 disk from little endian to cpu endianness.
26424
04459e70
ST
264252010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26426
26427 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26428 GRUB_TICKS_PER_SECOND instead of 120.
26429
a0876943
VS
264302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26431
26432 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26433 escape sequence after \e.
26434
e29f95dc
VS
264352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26438 non-ASCII characters.
26439
d27859b2
VS
264402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26443 set root in single quotes to prevent \, from being unescaped.
26444
bc028f2f
VS
264452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26446
26447 Prevent unknown commands from stopping menuentry execution.
26448
26449 * script/execute.c (grub_script_execute_cmdline): Print error after
26450 unknown command.
26451
095f5f82
VS
264522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26455 Reported by: Pavel Pisa.
26456
8c717950
VS
264572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26460
904935c3
VS
264612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26462
26463 Merge grub_ieee1275_map_physical into grub_map and rename to
26464 grub_ieee1275_map
26465
26466 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26467 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26468 Remove.
26469 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26470 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26471 necessary.
26472 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26473
5b59a4e3
VS
264742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26475
26476 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26477 opening and not after.
26478
69e137e8
VS
264792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26480
26481 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26482 constants.
26483
2c0fcc36
VS
264842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26487 (alloc_phys): Use ALIGN_UP instead of align_addr.
26488
8c6052ce
VS
264892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26490
26491 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26492
17cec782
VS
264932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26494
26495 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26496
e0128bbd
VS
264972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26500 verbose dprintf.
26501
ca62070b
VS
265022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26503
26504 Fix over-4GiB seek on sparc64.
26505
26506 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26507 Replace pos_i and pos_lo with pos. All users updated.
26508 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26509 New constant.
26510 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26511 Likewise.
26512 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26513 and pos_lo.
26514
bdca2607
VS
265152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26516
26517 * util/grub-mkrawimage.c (main): Call set_program_name.
26518
da278c4d
VS
265192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26520
26521 Properly align 64-bit targets.
26522
26523 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26524 (generate_image): Use ALIGN_ADDR.
26525
b274d734
VS
265262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26527
26528 Properly create cross-endian images.
26529
26530 * include/grub/types.h (grub_host_to_target_addr): New macro
26531 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26532
82da2062
VS
265332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26534
26535 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26536
7cae4377
VS
265372010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26538
26539 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26540
26541 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26542 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26543 (grub_linux_boot): Divide by 64K when on VESA.
26544
65a533e7
VS
265452010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26546
26547 Support GRUB_GFXPAYLOAD_LINUX.
26548
26549 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26550 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26551
dd01d397
VS
265522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26553
26554 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26555 to show messages instead of discarding them.
26556 Process errors after executing command and not before. Keep old method
26557 too as precaution.
26558
660960d6
VS
265592010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 * configure.ac: Check for ft2build.h.
26562
62509f04
VS
265632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26564
26565 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26566
473df63d
VS
265672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26568
26569 * genkernsyms.sh.in: Use TARGET_CC.
26570
c98d2a13
CW
265712010-02-07 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * NEWS: Update.
26574
6e14234c
VS
265752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26576
26577 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26578 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26579 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26580
b255e9cf
YB
265812010-02-07 Yves Blusseau <blusseau@zetam.org>
26582
6e14234c 26583 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26584
98e6959d
VS
265852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26586
26587 Fix warnings in grub-emu when compiling with maximum warning options.
26588
26589 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26590 (grub_arch_modules_addr): Return 0 and not NULL.
26591 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26592 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26593 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26594 of disk to dsk to avoid shadowing.
74e4934e
VS
26595 (find_free_slot): Fix prototype.
26596 * util/getroot.c (grub_util_is_dmraid): Make static.
26597 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26598 Add missing prototype.
26599 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26600
74e31b5c
VS
266012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26604 appropriately.
26605
6b2ad14b
VS
266062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26609 code out.
26610
8f891adc
VS
266112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26614 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26615 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26616 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26617 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26618 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26619
74b45184
VS
266202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * include/grub/err.h (grub_err_printf): Don't export.
26623
a4bced77
VS
266242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26625
26626 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26627
007d0695
VS
266282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26629
26630 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26631 * kern/misc.c (grub_gettext_dummy): Make static.
26632
b6c0d9c2
VS
266332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26636 by non-valid ones.
26637 * kern/term.c (grub_putchar): Likewise.
26638
f51a90d0
VS
266392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26642 buggy hook call and memory leak.
26643
6846cec5
VS
266442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26645
26646 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26647
468d69fe
VS
266482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26651
51906b8c
VS
266522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26653
26654 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26655 modevar.
26656 Return grub_errno on allocation error.
26657
09706ce5
VS
266582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26659
26660 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26661
911df80c
YB
266622010-02-06 Yves Blusseau <blusseau@zetam.org>
26663
26664 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26665 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26666
3746a6bc
VS
266672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26670 non-pxe disk.
26671 (grub_pxefs_open): Likewise.
26672
09706ce5
VS
266732010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26674
26675 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26676 * util/grub.d/10_kfreebsd.in: Likewise.
26677 * util/grub.d/10_linux.in: Likewise.
26678
7cc192d9
VS
266792010-02-06 Colin D Bennett <colin@gibibit.com>
26680
26681 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26682 (gfxmenu_mod_SOURCES): New variable.
26683 (gfxmenu_mod_CFLAGS): Likewise.
26684 (gfxmenu_mod_LDFLAGS): Likewise.
26685 * include/grub/term.h (grub_term_set_current_output): Declare
26686 argument as const.
26687 * docs/gfxmenu-theme-example.txt: New file.
26688 * gfxmenu/gfxmenu.c: Likewise.
26689 * gfxmenu/gui_box.c: Likewise.
26690 * gfxmenu/gui_canvas.c: Likewise.
26691 * gfxmenu/gui_circular_progress.c: Likewise.
26692 * gfxmenu/gui_image.c: Likewise.
26693 * gfxmenu/gui_label.c: Likewise.
26694 * gfxmenu/gui_list.c: Likewise.
26695 * gfxmenu/gui_progress_bar.c: Likewise.
26696 * gfxmenu/gui_string_util.c: Likewise.
26697 * gfxmenu/gui_util.c: Likewise.
26698 * gfxmenu/icon_manager.c: Likewise.
26699 * gfxmenu/model.c: Likewise.
26700 * gfxmenu/named_colors.c: Likewise.
26701 * gfxmenu/theme_loader.c: Likewise.
26702 * gfxmenu/view.c: Likewise.
26703 * gfxmenu/widget-box.c: Likewise.
26704 * include/grub/gfxmenu_model.h: Likewise.
26705 * include/grub/gfxmenu_view.h: Likewise.
26706 * include/grub/gfxwidgets.h: Likewise.
26707 * include/grub/gui.h: Likewise.
26708 * include/grub/gui_string_util.h: Likewise.
26709 * include/grub/icon_manager.h: Likewise.
26710
267112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Agglomerate scrolling in gfxterm.
26714
26715 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26716 (grub_virtual_screen_setup): Initialise 'total_screen'.
26717 (write_char): Split to ...
26718 (paint_char): ... this ...
26719 (write_char): ... and this.
26720 (paint_char): Handle delayed scrolling.
26721 (draw_cursor): Likewise.
26722 (scroll_up): Split to ...
26723 (real_scroll): ... this ...
26724 (scroll_up): ... and this.
26725 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26726 characters.
26727 (grub_gfxterm_refresh): Call real_scroll.
26728
267292010-02-06 Colin D Bennett <colin@gibibit.com>
26730
26731 * include/grub/misc.h (grub_iscntrl): New inline function.
26732 (grub_isalnum): Likewise.
26733 (grub_strtol): Likewise.
26734
267352010-02-06 Colin D Bennett <colin@gibibit.com>
26736
26737 * normal/menu_text.c (get_entry_number): Move from here ...
26738 * normal/menu.c (get_entry_number): ... moved here.
26739 * include/grub/menu.h (grub_menu_get_default_entry_index):
26740 New prototype.
26741 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26742 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26743 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26744 (grub_menu_viewer_should_return): Likewise.
26745 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26746 * normal/menu_text.c (run_menu): Enable menu switching.
26747 * normal/menu_viewer.c (should_return): New variable.
26748 (menu_viewer_changed): Likewise.
26749 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26750 (grub_menu_viewer_should_return): New function.
26751 (menuviewer_write_hook): Likewise.
26752 (grub_menu_viewer_init): Likewise.
26753
267542010-02-06 Colin D Bennet <colin@gibibit.com>
267552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 Support for gfxterm in a window.
26758
26759 * include/grub/gfxterm.h: New file.
26760 * include/grub/video.h (struct grub_video_rect): New declaration.
26761 (grub_video_rect_t): Likewise.
26762 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26763 (refcount): New variable.
26764 (render_target): Likewise.
26765 (window): Likewise.
26766 (repaint_callback): Likewise.
26767 (grub_virtual_screen_setup): Use 'render_target'.
26768 (init_window): New function.
26769 (grub_gfxterm_init_window): Likewise.
26770 (grub_gfxterm_init): Check reference counter.
26771 Use init_window.
26772 (destroy_window): New function.
26773 (grub_gfxterm_destroy_window): Likewise.
26774 (grub_gfxterm_fini): Check reference counter.
26775 Use destroy_window.
26776 (redraw_screen_rect): Restore viewport.
26777 Use 'render_target' and 'window'.
26778 Call 'repaint_callback'.
26779 (write_char): Use 'render_target'.
26780 (draw_cursor): Likewise.
26781 (scroll_up): Restore viewport.
26782 Use 'render_target' and 'window'.
26783 Call 'repaint_callback'.
26784 (grub_gfxterm_cls): Likewise.
26785 (grub_gfxterm_refresh): Use 'window'.
26786 (grub_gfxterm_set_repaint_callback): New function.
26787 (grub_gfxterm_background_image_cmd): Use 'window'.
26788 (grub_gfxterm_get_term): New function.
26789 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26790
267912010-02-06 Colin D Bennett <colin@gibibit.com>
26792
26793 Bitmap scaling support.
26794
26795 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26796 (bitmap_scale_mod_SOURCES): New variable.
26797 (bitmap_scale_mod_CFLAGS): Likewise.
26798 (bitmap_scale_mod_LDFLAGS): Likewise.
26799 * include/grub/bitmap_scale.h: New file.
26800 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26801 (background_image_cmd_options): New variable.
26802 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26803 (cmd): Rename and change type to ...
26804 (background_image_cmd_handle): ... this. All users updated.
26805 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26806 * video/bitmap_scale.c: New file.
26807
268082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26809
26810 SDL support.
26811
26812 * Makefile.in (LIBSDL): New variable.
26813 (enable_grub_emu_sdl): Likewise.
26814 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26815 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26816 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26817 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26818 * util/sdl.c: New file.
26819
268202010-02-06 Colin D Bennett <colin@gibibit.com>
268212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26822
26823 Double buffering support.
26824
26825 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26826 * include/grub/video.h: Update comment.
26827 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26828 New type.
26829 (grub_video_fb_doublebuf_blit_init): New prototype.
26830 * term/gfxterm.c (scroll_up): Support double buffering.
26831 (grub_gfxterm_refresh): Likewise.
26832 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26833 (grub_video_fb_doublebuf_blit_init): Likewise.
26834 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26835 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26836 'displayed_page', 'render_page' and 'update_screen'.
26837 (grub_video_vbe_fini): Free offscreen buffer.
26838 (doublebuf_pageflipping_commit): New function.
26839 (doublebuf_pageflipping_update_screen): Likewise.
26840 (doublebuf_pageflipping_init): Likewise.
26841 (double_buffering_init): Likewise.
26842 (grub_video_vbe_setup): Enable doublebuffering.
26843 (grub_video_vbe_swap_buffers): Implement.
26844 (grub_video_vbe_set_active_render_target): Handle double buffering.
26845 (grub_video_vbe_get_active_render_target): Likewise.
26846 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26847 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26848 (grub_video_vbe_enable_double_buffering): Likewise.
26849 (grub_video_vbe_swap_buffers): Use update_screen.
26850 (grub_video_set_mode): Use double buffering.
26851
268522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26853
26854 * maintainance/gentrigtables.py: Remove.
26855 * lib/trig.c: Likewise.
26856
26857 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26858
26859 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26860 `trigtables.c'.
26861 (trigtables.c): New rule.
26862 (gentrigtables): Likewise.
26863 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26864
268652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26866
26867 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26868 integer constants.
26869
268702010-02-06 Colin D Bennet <colin@gibibit.com>
26871
26872 Trigonometry support.
26873
26874 * include/grub/trig.h: New file.
26875 * lib/trig.c: Likewise.
26876 * maintainance/gentrigtables.py: Likewise.
26877 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26878 (trig_mod_SOURCES): New variable.
26879 (trig_mod_CFLAGS): Likewise.
26880 (trig_mod_LDFLAGS): Likewise.
26881
5562834e
VS
268822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26883
26884 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26885 disk devices.
26886
4f8528fc
VS
268872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26890 error.
26891
2b4068e9
VS
268922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 * util/hostdisk.c (open_device): Don't use partition device when reading
26895 before the partition.
26896 (grub_util_biosdisk_read): Don't read from partition and before the
26897 partition in single operation.
26898 (grub_util_biosdisk_write): Don't write to partition and before the
26899 partition in single operation.
26900
399f6e4d
TL
269012010-02-03 Torsten Landschoff <torsten@debian.org>
26902
26903 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26904 last sectors.
26905
996649b0
VS
269062010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26909 CDROM reads.
26910 (grub_biosdisk_write): Refuse to write to CDROM.
26911
3b205d4d
VS
269122010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26915
61e89d9d
VS
269162010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 * font/font.c (find_glyph): Check that bmp_idx is available before
26919 using it.
26920 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26921 with (font == NULL).
26922
bf7fcba2
CS
269232010-01-28 Christian Schmitt <chris@ilovelinux.de>
26924
26925 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26926
f45d2663
BC
269272010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26928
26929 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26930 * util/grub-script-check.c (getline): Fix empty lines case.
26931
ec1444e6
RM
269322010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26933
26934 * Makefile.in (check): Exit with fail status when one of the tests
26935 fails.
26936 * tests/example_functional_test.c (example_test): Fix reversed assert.
26937 * tests/example_unit_test.c (example_test): Likewise.
26938
2e1cb9bb
CW
269392010-01-28 Colin Watson <cjwatson@ubuntu.com>
26940
26941 * util/grub.d/10_linux.in: This script does not use any of the
26942 contents of gettext.sh, only the external command `gettext', so stop
26943 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26944 the same prefix as GRUB.)
26945 * util/grub.d/10_kfreebsd.in: Likewise.
26946
63533ab0
VS
269472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26948
26949 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26950 of the line.
26951
989e1f93
VS
269522010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26955 last sectors.
26956
e709ebe2
VS
269572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26958
26959 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26960 having a 4KiB and not 32KiB buffer size.
26961
27dea7ed
RM
269622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26963
26964 * util/hostfs.c: Include `<errno.h>'.
26965 (grub_hostfs_read): Handle errors from fseeko() and fread().
26966
67667b9c
RM
269672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26968
26969 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26970 loop when using read hooks on files whose size isn't sector-aligned.
26971
c294d9d8
RM
269722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26973
26974 Remove unused parameter.
26975
26976 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26977 (grub_iso9660_open): Remove initialization of `data->length'.
26978
af75a9f1
RM
269792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26982 memleak conditions.
26983
254e2ce5 269842010-01-27 Carles Pina i Estany <carles@pina.cat>
26985
26986 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26987 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26988
b510928c 269892010-01-26 Carles Pina i Estany <carles@pina.cat>
26990
26991 * util/bin2h.c (usage): Fix warning (space after backslash).
26992
aa2f9dd2 269932010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26994
26995 * font/font.c: Include `grub/fontformat.h.
26996 Remove font file format constants.
26997 (grub_font_load): Use the new macros.
26998 * include/grub/fontformat.h: New file.
26999 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27000 (write_font_pf2): Use the new macros.
27001
94e7e712
RM
270022010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27003
27004 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27005 does.
27006
3973a59a
RM
270072010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27010
27011 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27012 (_start): Macroify `0x7F'.
27013
27014 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27015 (make_install_device): Use "(pxe)" as fallback prefix when booting
27016 via PXE.
27017
42e0cba3
GS
270182010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27019
27020 * configure.ac: Reset LIBS after check for libgcc symbols.
27021
847effd8
CW
270222010-01-25 Colin Watson <cjwatson@ubuntu.com>
27023
27024 * util/hostdisk.c (open_device): Add trailing newline to debug
27025 message.
27026
ea4a7e35
GS
270272010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27028
27029 * configure.ac: Check for `limits.h'.
27030 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27031
67951a53
RM
270322010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27033
27034 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27035 capitalize error strings.
27036
c273d4ce
ST
270372010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27038
27039 * util/grub.d/10_hurd.in: Add a recovery mode.
27040
69be5b74
VS
270412010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27042
27043 * configure.ac: Check for libgcc symbols with -nostdlib.
27044
fc9e5810
BC
270452010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27046
27047 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27048
4b358c0a
VS
270492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27050
27051 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27052 stack since heap may be unavailable at that point.
27053 (grub_ofconsole_gotoxy): Likewise.
27054
454fcd1c
VS
270552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 * configure.ac: Check for _restgpr_14_x.
27058 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27059 and _savegpr_* prototypes.
27060
566863ca
RM
270612010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27062
27063 Use generic grub_reboot() for i386-efi.
27064
27065 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27066 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27067 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27068
bf86e59a
VS
270692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27072 presence of "prefix" variable as it breaks when normal.mod is
27073 embedded.
27074
d645e0f8
VS
270752010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27076
27077 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27078 stack since heap is unavailable at that point.
27079
f9ab2e25
VS
270802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27081
27082 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27083 (grub_freebsd_bootinfo): Rewritten.
27084 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27085
01fc7054
VS
270862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27087
27088 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27089
caab4fd6
RM
270902010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27091
27092 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27093 domain now.
27094
67eb1427
FZ
270952010-01-20 Felix Zielcke <fzielcke@z-51.de>
27096
27097 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27098 around for handling "/" to the correct fix. Fix a memory leak. Use
27099 xstrdup instead of strdup.
27100
a9ed4ff3
VS
271012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27104
271052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27106
27107 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27108
27109 * font/font.c (struct grub_font): New member 'bmp_idx'.
27110 (font_init): Initialise 'bmp_idx'.
27111 (load_font_index): Fill 'bmp_idx'.
27112 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27113
48209f4f
VS
271142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27117 unnecessary calls.
27118
9f0a4bb7
VS
271192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27120
27121 Move context handling out of the kernel.
27122
27123 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27124 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27125 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27126 * conf/i386-efi.rmk: Likewise.
27127 * conf/i386-ieee1275.rmk: Likewise.
27128 * conf/i386-pc.rmk: Likewise.
27129 * conf/powerpc-ieee1275.rmk: Likewise.
27130 * conf/sparc64-ieee1275.rmk: Likewise.
27131 * conf/x86_64-efi.rmk: Likewise.
27132 * include/grub/env.h: Include grub/menu.h.
27133 (grub_env_var_type): Removed.
27134 (grub_env_var): Replaced field 'type' with 'global'.
27135 (grub_env_find): New prototype.
27136 (grub_env_context_open): Remove EXPORT_FUNC.
27137 (grub_env_context_close): Likewise.
27138 (grub_env_export): Likewise.
27139 (grub_env_set_data_slot): Removed.
27140 (grub_env_get_data_slot): Likewise.
27141 (grub_env_unset_data_slot): Likewise.
27142 (grub_env_unset_menu): New prototype.
27143 (grub_env_set_menu): Likewise.
27144 (grub_env_get_menu): Likewise.
27145 * include/grub/env_private.h: New file.
27146 * include/grub/normal.h (grub_context_init): New prototype.
27147 (grub_context_fini): Likewise.
27148 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27149 * normal/context.c (grub_cmd_export): ... to here.
27150 * kern/env.c: Include env_private.h.
27151 (HASHSZ): Moved to include/grub/env_private.h.
27152 (grub_env_context): Likewise.
27153 (grub_env_sorted_var): Likewise.
27154 (current_context): Renamed from this ...
27155 (grub_current_context): ...to this. 'static' removed. All users updated.
27156 (grub_env_find): Removed 'static'.
27157 (grub_env_context_open): Moved to normal/context.c.
27158 (grub_env_context_close): Likewise.
27159 (grub_env_export): Likewise.
27160 (mangle_data_slot_name): Removed.
27161 (grub_env_set_data_slot): Likewise.
27162 (grub_env_get_data_slot): Likewise.
27163 (grub_env_unset_data_slot): Likewise.
27164 * kern/main.c (grub_set_root_dev): Don't export root.
27165 It will be done later.
27166 (grub_main): Don't export prefix.
27167 It will be done later.
27168 * normal/context.c: New file.
27169 * normal/main.c (free_menu): Use grub_env_unset_menu.
27170 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27171 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27172 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27173 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27174
8dd35b8c
VS
271752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 setpci support.
27178
27179 * commands/setpci.c: New file.
27180 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27181 (setpci_mod_SOURCES): New variable.
27182 (setpci_mod_CFLAGS): Likewise.
27183 (setpci_mod_LDFLAGS): Likewise.
27184
449193d5
VS
271852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27186
27187 Byte-addressable PCI configuration space.
27188
27189 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27190 dword address.
27191 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27192 GRUB_PCI_REG_CACHELINE.
27193 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27194 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27195 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27196 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27197 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27198 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27199 grub_pci_make_address.
27200 (lock_rom_area): Likewise.
27201 * commands/lspci.c (grub_lspci_iter): Use macroses
27202 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27203 of grub_pci_make_address.
27204 * disk/ata.c (grub_ata_pciinit): Likewise.
27205 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27206 (GRUB_PCI_REG_VENDOR): Likewise.
27207 (GRUB_PCI_REG_DEVICE): Likewise.
27208 (GRUB_PCI_REG_COMMAND): Likewise.
27209 (GRUB_PCI_REG_STATUS): Likewise.
27210 (GRUB_PCI_REG_REVISION): Likewise.
27211 (GRUB_PCI_REG_CLASS): Likewise.
27212 (GRUB_PCI_REG_CACHELINE): Likewise.
27213 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27214 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27215 (GRUB_PCI_REG_BIST): Likewise.
27216 (GRUB_PCI_REG_ADDRESSES): Likewise.
27217 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27218 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27219 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27220 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27223 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27224 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27225 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27226 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27227 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27228 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27229 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27230 (GRUB_PCI_REG_MIN_GNT): Likewise.
27231 (GRUB_PCI_REG_MAX_LAT): Likewise.
27232 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27233 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27234 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27235 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27236 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27237 space.
27238
96d73208
RM
272392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27240
27241 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27242 can be reliably determined to be supported.
27243
d4484482
RM
272442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27245
27246 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27247 that VESA is supported.
27248 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27249 supported.
27250
00308ecf
VS
272512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27252
27253 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27254
f66924a4
RM
272552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27256
27257 * util/misc.c (make_system_path_relative_to_its_root): Work around
27258 special-casing of "/", as previous incarnation of this routine did.
27259
cbca0ada
VS
272602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 Fix any-emu compilation.
27263
27264 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27265 * grub_bin2h_SOURCES: New variable.
27266
34a66d99
RM
272672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27268
27269 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27270
94fabf58
RM
272712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27272
27273 * util/grub.d/00_header.in: Fix handling of locale_dir.
27274
02cf98ca
VS
272752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27276
27277 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27278 as possible unifont location (Gentoo).
27279 Reported by: Alexander Brüning
27280
327dbcd7
VS
272812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 Don't try to generate lists for kernel.img.
27284
27285 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27286 (pkglib_MODULES): Remove kernel.img.
27287 (kernel_img_EXPORTS): Removed.
27288 (kernel_img_RELOCATABLE): New variable.
27289 * conf/x86_64-efi.rmk: Likewise.
27290 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27291
ca467290
VS
272922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27293
27294 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27295 grub_xasprintf or grub_snprintf.
27296 (grub_vsprintf): Likewise.
27297 (grub_snprintf): New proto.
27298 (grub_vsnprintf): Likewise.
27299 (grub_xasprintf): Likewise.
27300 (grub_xvasprintf): Likewise.
27301 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27302 (grub_sprintf): Removed.
27303 (grub_vsnprintf): New function.
27304 (grub_snprintf): Likewise.
27305 (grub_xvasprintf): Likewise.
27306 (grub_xasprintf): Likewise.
27307 (grub_vsprintf): Renamed to ...
27308 (grub_vsnprintf_real): ...this. New argument max_len.
27309
aca655fd
BC
273102010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27311
27312 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27313 fix grub-script-check warning.
27314
7ee92c32
VS
273152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 * include/grub/font.h (grub_font_load): Fix prototype.
27318
f80927ca
VS
273192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27320
27321 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27322
119c50ea
VS
273232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27324
27325 * include/grub/x86_64/at_keyboard.h: New file.
27326
47d5f3c1
VS
273272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27328
27329 * loader/mips/linux.c: Include missing grub/i18n.h.
27330
55ff5266
RM
273312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27332
27333 * normal/menu.c (notify_execution_failure): Clarify error message.
27334
c893cc87
RM
273352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27336
27337 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27338 return value (and revert all return statements). Update users.
27339
917dd370
CW
273402010-01-20 Dan Merillat <debian@dan.merillat.org>
27341
27342 * kern/device.c (grub_device_iterate): Allocate new part_ent
27343 structure based on sizeof (*p) rather than sizeof (p->next), to
27344 account for structure padding.
27345
27346 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27347 disk is NULL, which might happen for LVM physical volumes with no
27348 LVM signature.
27349
d4a4ee57
RM
273502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27351
27352 * loader/mips/linux.c (grub_cmd_initrd)
27353 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27354
273552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27356
27357 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27358 (grub_video_video_init, grub_video_bitmap_init)
27359 (grub_font_manager_init, grub_term_gfxterm_init)
27360 (grub_at_keyboard_init): New extern declarations.
27361 (grub_machine_init): Initialize gfxterm and at_keyboard.
27362
27363 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27364
27365 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27366 `gfxterm.mod' into core image.
27367
27368 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27369 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27370 (kernel_img_FORMAT): Copy to ...
27371
27372 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27373 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27374 (kernel_img_FORMAT): ... here, and ...
27375
27376 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27377 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27378 (kernel_img_FORMAT): ... here.
27379
27380 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27381 and input (at_keyboard) terminals in kernel.
27382 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27383
27384 (pkglib_MODULES): Remove `pci.mod'.
27385 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27386 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27387 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27388 (at_keyboard_mod_LDFLAGS): Remove variables.
27389
273902010-01-11 Felix Zielcke <fzielcke@z-51.de>
27391
27392 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27393
273942009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27395
27396 * include/grub/mips/libgcc.h: Only export symbols for functions
27397 that libgcc provides.
27398
273992009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27400
27401 MIPS support.
27402
27403 * bus/bonito.c: New file.
27404 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27405 GRUB_PCI_NUM_DEVICES.
27406 * term/i386/pc/serial.c: Move to ...
27407 * term/serial.c: ... here. All users updated.
27408 * util/i386/pc/grub-mkimage.c: Move to ...
27409 * util/grub-mkrawimage.c: ... here. All users updated.
27410 * term/i386/pc/at_keyboard.c: Move to ...
27411 * term/at_keyboard.c: ... here. All users updated.
27412 * conf/mips-qemu-mips.rmk: New file.
27413 * conf/mips-yeeloong.rmk: Likewise.
27414 * conf/mips.rmk: Likewise.
27415 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27416 mipsel-qemu-mips.
27417 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27418 to port addresses.
27419 (grub_ata_pciinit): Support CS5536.
27420 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27421 * font/font_cmd.c (loadfont_command): Open file before passing it to
27422 grub_font_load.
27423 (pseudo_file_read): New function.
27424 (pseudo_file_close): Likewise.
27425 (pseudo_fs): New structure.
27426 (load_font_module): New function.
27427 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27428 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27429 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27430 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27431 * include/grub/i386/at_keyboard.h: Split into ...
27432 * include/grub/at_keyboard.h: ... this ...
27433 * include/grub/i386/at_keyboard.h: ... and this.
27434 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27435 New prototype.
27436 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27437 updated.
27438 (grub_elf64_size): Likewise.
27439 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27440 filename.
27441 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27442 * include/grub/i386/coreboot/serial.h: Rewritten.
27443 * include/grub/i386/ieee1275/serial.h: Include
27444 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27445 * include/grub/i386/pc/serial.h: Moved from here ...
27446 * include/grub/serial.h: ... to here. All users updated.
27447 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27448 (GRUB_PCI_NUM_BUS): Likewise.
27449 (GRUB_PCI_NUM_DEVICES): Likewise.
27450 (grub_pci_device_map_range): Add missing volatile keyword.
27451 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27452 * include/grub/mips/at_keyboard.h: New file.
27453 * include/grub/mips/cache.h: Likewise.
27454 * include/grub/mips/io.h: Likewise.
27455 * include/grub/mips/kernel.h: Likewise.
27456 * include/grub/mips/libgcc.h: Likewise.
27457 * include/grub/mips/pci.h: Likewise.
27458 * include/grub/mips/qemu-mips/boot.h: Likewise.
27459 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27460 * include/grub/mips/qemu-mips/loader.h: Likewise.
27461 * include/grub/mips/qemu-mips/memory.h: Likewise.
27462 * include/grub/mips/qemu-mips/serial.h: Likewise.
27463 * include/grub/mips/qemu-mips/time.h: Likewise.
27464 * include/grub/mips/relocator.h: Likewise.
27465 * include/grub/mips/time.h: Likewise.
27466 * include/grub/mips/types.h: Likewise.
27467 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27468 * include/grub/mips/yeeloong/boot.h: Likewise.
27469 * include/grub/mips/yeeloong/kernel.h: Likewise.
27470 * include/grub/mips/yeeloong/loader.h: Likewise.
27471 * include/grub/mips/yeeloong/memory.h: Likewise.
27472 * include/grub/mips/yeeloong/pci.h: Likewise.
27473 * include/grub/mips/yeeloong/serial.h: Likewise.
27474 * include/grub/mips/yeeloong/time.h: Likewise.
27475 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27476 * kern/elf.c (grub_elf32_size): New parameter. All users
27477 updated.
27478 (grub_elf64_size): Likewise.
27479 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27480 Load modules before saying "Welcome to GRUB!".
27481 Call grub_refresh after saying "Welcome to GRUB!".
27482 * kern/mips/cache.S: New file.
27483 * kern/mips/cache_flush.S: Likewise.
27484 * kern/mips/dl.c: Likewise.
27485 * kern/mips/init.c: Likewise.
27486 * kern/mips/qemu-mips/init.c: Likewise.
27487 * kern/mips/startup.S: Likewise.
27488 * kern/mips/yeeloong/init.c: Likewise.
27489 * kern/term.c (grub_putcode): Handle NULL terminal.
27490 (grub_getcharwidth): Likewise.
27491 (grub_getkey): Likewise.
27492 (grub_checkkey): Likewise.
27493 (grub_getkeystatus): Likewise.
27494 (grub_getxy): Likewise.
27495 (grub_getwh): Likewise.
27496 (grub_gotoxy): Likewise.
27497 (grub_cls): Likewise.
27498 (grub_setcolorstate): Likewise.
27499 (grub_setcolor): Likewise.
27500 (grub_getcolor): Likewise.
27501 (grub_refresh): Likewise.
27502 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27503 (write_jump): Add hatch nop.
27504 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27505 * lib/mips/setjmp.S: New file.
27506 * loader/mips/linux.c: Likewise.
27507 * term/i386/pc/at_keyboard.c: Move from here ...
27508 * term/at_keyboard.c: ... to here.
27509 * term/i386/pc/serial.c: Moved from here ...
27510 * term/serial.c: ... to here. All users updated.
27511 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27512 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27513 (serial_translate_key_sequence): Avoid deadlock.
27514 (grub_serial_getkey): Handle backspace.
27515 (grub_serial_putchar): Fix newline handling.
27516 * util/i386/pc/grub-mkimage.c: Move from here ...
27517 * util/grub-mkrawimage.c: ... to here. All users updated.
27518 (generate_image): New parameters 'font_path' and 'format'.
27519 Support embedding font.
27520 Use grub_host_to_target* instead of grub_cpu_to_le*.
27521 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27522 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27523 (options): New option "--font".
27524 (usage): Likewise.
27525 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27526 (main): Handle "--font".
27527 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27528 (grub_virtual_screen_setup): Set bg_color_display.
27529 (redraw_screen_rect): Use bg_color_display instead of incorrect
27530 bg_color.
27531 (grub_gfxterm_cls): Likewise.
27532 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27533 Support embedding config file.
27534 (add_segments): Likewise.
27535 (options): New option "--config".
27536 (main): Handle "--config".
27537 * video/sm712.c: New file.
27538
25c2b5b3
RM
275392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27540
27541 Fix parallel builds.
27542
27543 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27544 font.c depend on ascii.h).
27545
275462010-01-12 Carles Pina i Estany <carles@pina.cat>
27547
27548 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27549
275502010-01-11 Carles Pina i Estany <carles@pina.cat>
27551
27552 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27553 By default: disabled.
27554 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27555 parameter.
27556
275572010-01-10 Carles Pina i Estany <carles@pina.cat>
27558
27559 * font/font.c: Update copyright years.
27560 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27561
275622010-01-10 Carles Pina i Estany <carles@pina.cat>
27563
27564 * font/font.c: Include `ascii.h'.
27565 (ASCII_BITMAP_SIZE): New macro.
27566 (ascii_font_glyph): Define.
27567 (ascii_glyph_lookup): New function.
27568 (grub_font_get_string_width): Change comment. If glyph not found, use
27569 ascii_glyph_lookup.
27570 (grub_font_get_glyph_with_fallback): If glyph not available returns
27571 ascii_glyph_lookup.
27572 * util/grub-mkfont.c (file_formats): New enum.
27573 (options): Add `ascii-bitmaps' new option.
27574 (usage): Add `asii-bitmaps' new option.
27575 (write_font_ascii_bitmap): New function.
27576 (write_font): Rename to ...
27577 (write_font_p2): ... this. Remove print_glyphs call.
27578 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27579 used. Call print_glyphs.
27580 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27581
275822010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27583
27584 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27585 (grub_bin2h_SOURCES): New variable.
27586 * util/bin2h.c: New file.
27587
915fc1b8
VS
275882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27589
27590 * include/multiboot.h: Resynced with spec.
27591 * include/multiboot2.h: Likewise.
27592 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27593 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27594
9444b678
RM
275952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27596
27597 * include/grub/term.h (grub_term_register_input,
27598 grub_term_register_output): Check return of terminal init()
27599 routines, and abort if errors are raised.
27600
27601 * commands/terminal.c: Update copyright year.
27602
cba98e8d
RM
276032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27604
27605 * commands/terminal.c (grub_cmd_terminal_input)
27606 (grub_cmd_terminal_output): Check return of terminal init()
27607 routines, and abort if errors are raised.
27608
6f7db5d6
VS
276092010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27610
27611 * include/grub/i386/bsd.h: Fix include pathes.
27612
262bff8d
VS
276132010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 Add missing *BSD copyright headers.
27616
27617 * include/grub/aout.h: Add BSD licence.
27618 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27619 * include/grub/i386/freebsd_linker.h: ... here,
27620 * include/grub/i386/freebsd_reboot.h: ... here,
27621 * include/grub/i386/netbsd_bootinfo.h: ... here,
27622 * include/grub/i386/netbsd_reboot.h: ... here,
27623 * include/grub/i386/openbsd_bootarg.h: ... here,
27624 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27625 licence to each file.
27626
b2cab848
RM
276272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27628
27629 * acinclude.m4: Remove `nop' assembly instruction; it's not
27630 implemented by all architectures.
27631
2cb6be4b
RM
276322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27633
27634 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27635 ELILO. This is no longer necessary.
27636
a2eaee15
BC
276372010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27638
27639 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27640
27641 * util/grub-script-check.c: grub-script-check tool.
27642 * conf/common.rmk: Make rules for grub-script-check.
27643
88d17012
RM
276442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27645
27646 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27647 spotting it back in 2008. Shame on me for forgetting he did.
27648
27649 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27650
8040619d
RM
276512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27652
27653 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27654 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27655 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27656 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27657 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27658 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27659
a0c2a0f6
RM
276602010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27661
27662 * include/grub/test.h: Add license header.
27663 * tests/example_functional_test.c: Likewise.
27664 * tests/example_unit_test.c: Likewise.
27665 * tests/lib/functional_test.c: Likewise.
27666 * tests/lib/test.c: Likewise.
27667 * tests/lib/unit_test.c: Likewise.
27668
b0b13907
VS
276692010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27670
27671 Use flag-based instead of hook-based video mode selection and "auto"
27672 keyword.
27673
27674 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27675 (grub_video_set_mode): Changed prototype. All users updated.
27676 (grub_video_check_mode_flag): New inline function.
27677 * video/video.c (parse_modespec): New function.
27678 (grub_video_set_mode): Parse flags and keywords.
27679
ea379330 276802010-01-17 Carles Pina i Estany <carles@pina.cat>
27681
27682 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27683 fprintf call.
27684
e15c215e
FZ
276852010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27686
27687 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27688
409ae1c9 276892010-01-16 Carles Pina i Estany <carles@pina.cat>
27690
27691 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27692 string.
27693 * util/grub-emu.c (usage): Likewise.
27694 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27695 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27696 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27697 * util/i386/pc/grub-setup.c (usage): Likewise.
27698
70a14d3d 276992010-01-16 Carles Pina i Estany <carles@pina.cat>
27700
27701 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27702 the message.
27703 (grub_util_info): Likewise.
27704 (grub_util_error): Likewise.
27705 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27706 and/or new lines in `grub_util_warna', `grub_util_info',
27707 `grub_util_error' calls.
27708 * util/getroot.c: Likewise.
27709 * util/grub-editenv.c: Likewise.
27710 * util/grub-emu.c: Likewise.
27711 * util/grub-fstest.c: Likewise.
27712 * util/grub-mkdevicemap.c: Likewise.
27713 * util/grub-mkfont.c: Likewise.
27714 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27715 * util/grub-mkrelpath.c: Likewise.
27716 * util/grub-pe2elf.c: Likewise.
27717 * util/grub-probe.c: Likewise.
27718 * util/hostdisk.c: Likewise.
27719 * util/i386/efi/grub-mkimage.c: Likewise.
27720 * util/i386/pc/grub-mkimage.c: Likewise.
27721 * util/i386/pc/grub-setup.c: Likewise.
27722 * util/ieee1275/ofpath.c: Likewise.
27723 * util/mkisofs/eltorito.c: Likewise.
27724 * util/mkisofs/rock.c: Likewise.
27725 * util/mkisofs/write.c: Likewise.
27726 * util/raid.c: Likewise.
27727 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27728 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27729
a0b766fc
VS
277302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 Enable multiboot on non-pc.
27733
27734 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27735 multiboot.mod and multiboot2.mod to ...
27736 * conf/i386.rmk (pkglib_MODULES): ... here.
27737 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27738 Moved to ...
27739 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27740 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27741 Moved to ...
27742 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27743 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27744 Moved to ...
27745 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27746 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27747 Moved to ...
27748 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27749 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27750 relocator.mod.
27751 (ata_mod_SOURCES): Removed.
27752 (ata_mod_CFLAGS): Likewise.
27753 (ata_mod_LDFLAGS): Likewise.
27754 (relocator_mod_SOURCES): Removed.
27755 (relocator_mod_CFLAGS): Likewise.
27756 (relocator_mod_ASFLAGS): Likewise.
27757 (relocator_mod_LDFLAGS): Likewise.
27758 Include i386.mk.
27759 * include/grub/x86_64/multiboot.h: New file.
27760 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27761 Terminate EFI.
27762
884ade56
VS
277632010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27764
27765 Video multiboot support.
27766
27767 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27768 New prototype.
27769 * include/multiboot.h: Resynced with multiboot specification.
27770 * include/multiboot2.h: Likewise.
27771 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27772 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27773 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27774 (HAS_VGA_TEXT): Likewise.
27775 (accepts_video): New variable.
27776 (grub_multiboot_set_accepts_video): New function.
27777 (grub_multiboot_get_mbi_size): Account for video structures.
27778 (set_video_mode): New function.
27779 (retrieve_video_parameters): Likewise.
27780 (grub_multiboot_make_mbi): Fill video fields.
27781
0d90e8a6
VS
277822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 Video driver ids.
27785
27786 * include/grub/video.h (grub_video_driver_id): New type.
27787 (grub_video_adapter): New member 'id'. All users updated.
27788 (grub_video_get_driver_id): New proto.
27789 * video/video.c (grub_video_get_driver_id): New function.
27790
5c71db1b 277912010-01-14 Carles Pina i Estany <carles@pina.cat>
27792
27793 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27794 `var=val'.
27795
cca15b52 277962010-01-14 Carles Pina i Estany <carles@pina.cat>
27797
27798 * normal/cmdline.c (print_completion): Gettextizze.
27799
c586fbb2 278002001-01-14 Carles Pina i Estany <carles@pina.cat>
27801
27802 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27803
ba2f6848 278042010-01-14 Carles Pina i Estany <carles@pina.cat>
27805
27806 * gettext/gettext.c (grub_gettext_translate): Push and pop
27807 grub_errno.
27808 (grub_gettext_delete_list): Change comment style.
27809 * kern/err.c (grub_error): Gettextizze.
27810 (grub_fatal): Gettextizze.
27811
0a46429a
RM
278122010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27813
27814 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27815 (grub_linux16_real_boot): ... this.
27816 * kern/i386/loader.S: Likewise.
27817 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27818 (grub_linux16_boot): New function. Switches to text mode and calls
27819 grub_linux16_real_boot().
27820
27821 * loader/i386/bsd.c: Include `<grub/video.h>'.
27822 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27823 text mode before calling grub_unix_real_boot().
27824
27825 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27826 (grub_multiboot_boot): Switch to text mode before calling
27827 grub_relocator32_boot().
27828
27829 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27830 (grub_chainloader_boot): Switch to text mode before calling
27831 grub_chainloader_real_boot().
27832
d6f93a66
RM
278332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278342010-01-05 Colin Watson <cjwatson@ubuntu.com>
27835
27836 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27837 non-empty value.
27838
278392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278402010-01-05 Colin Watson <cjwatson@ubuntu.com>
27841
27842 * util/grub.d/00_header.in: Define a "savedefault" function for use
27843 in menu entries.
27844 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27845
278462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278472010-01-05 Colin Watson <cjwatson@ubuntu.com>
27848
27849 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27850 saved_entry if boot_once is unset.
27851 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27852 previous saved entry (i.e. grub-reboot).
27853
278542009-12-08 Colin Watson <cjwatson@ubuntu.com>
27855
27856 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27857
278582009-12-08 Colin Watson <cjwatson@ubuntu.com>
27859
27860 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27861 `var=val'.
27862 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27863
278642009-12-08 Colin Watson <cjwatson@ubuntu.com>
27865
27866 * util/grub-reboot.in: Fix --version output.
27867 * util/grub-set-default.in: Likewise.
27868
278692009-12-08 Colin Watson <cjwatson@ubuntu.com>
27870
27871 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27872 blocks.
27873
278742009-12-08 Colin Watson <cjwatson@ubuntu.com>
27875
27876 * util/grub.d/00_header.in: Quote the value assigned to `default',
27877 in case it contains spaces.
27878
278792009-12-08 Colin Watson <cjwatson@ubuntu.com>
27880
27881 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27882 `save_default_entry' call from the macosx case to the linux case.
27883
278842009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
278852009-10-25 Colin Watson <cjwatson@ubuntu.com>
27886
27887 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27888 in `chosen' environment variable.
27889 * normal/menu_text.c (get_entry_number): Check if the variable
27890 matches the title of a menu entry.
27891 (run_menu): Pass menu to get_entry_number.
27892
27893 * util/grub-reboot.in: New file.
27894 * util/grub-set-default.in: New file.
27895 * conf/common.rmk (grub-reboot): New utility.
27896 (grub-set-default): New utility.
27897
27898 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27899 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27900 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27901 move it to `saved_entry' for the next boot. Load environment on
27902 initialisation.
27903 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27904 * util/grub.d/10_hurd.in: Likewise.
27905 * util/grub.d/10_linux.in (linux_entry): Likewise.
27906 * util/grub.d/10_windows.in: Likewise.
27907 * util/grub.d/30_os-prober.in: Likewise.
27908
27909 * util/grub-install.in: Create environment block.
27910 * util/i386/efi/grub-install.in: Likewise.
27911 * util/ieee1275/grub-install.in: Likewise.
27912 * util/sparc64/ieee1275/grub-install.in: Likewise.
27913
0934d184
BC
279142010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27915
27916 Unit testing framework for GRUB.
27917
27918 * Makefile.in: Test framework build rules for 'make check'.
27919 * conf/tests.rmk: Build rules for individual tests and framework.
27920
27921 * include/grub/test.h: Header file for whitebox tests.
27922 * tests/lib/functional_test.c: Framework support for whitebox
27923 functional tests.
27924 * tests/lib/test.c: Common whitebox testing code for unit and
27925 functional tests.
27926 * tests/lib/unit_test.c: Framework support for whitebox unit
27927 tests.
27928
27929 * tests/util/grub-shell-tester.in: Support utility for grub-script
27930 tests.
27931 * tests/util/grub-shell.in: Utility to execute grub-script
27932 commands in a Qemu instance.
27933
27934 * tests/example_functional_test.c: Example whitebox functional
27935 test.
27936 * tests/example_grub_script_test.in: Example grub-script test.
27937 * tests/example_scripted_test.in: Example scripted test.
27938 * tests/example_unit_test.c: Example whitebox unit test.
27939
9c4ffeeb
VS
279402010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27943 Add loader/i386/multiboot_mbi.c.
27944 (multiboot2_mod_SOURCES): Likewise.
27945 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27946 (multiboot2_mod_SOURCES): Likewise.
27947 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27948 (grub_multiboot_make_mbi): Likewise.
27949 (grub_multiboot_free_mbi): Likewise.
27950 (grub_multiboot_init_mbi): Likewise.
27951 (grub_multiboot_add_module): Likewise.
27952 (grub_multiboot_set_bootdev): Likewise.
27953 * loader/i386/multiboot.c (mbi): Removed.
27954 (mbi_dest): Likewise.
27955 (alloc_mbi): New variable.
27956 (grub_multiboot_payload_size): Removed. All users updated.
27957 (grub_multiboot_pure_size): New variable.
27958 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27959 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27960 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27961 (grub_fill_multiboot_mmap): Likewise.
27962 (grub_multiboot_get_bootdev): Likewise.
27963 (grub_multiboot): Use multiboot_mbi functions.
27964 * loader/i386/multiboot_mbi.c: New file.
27965
17383dfe
VS
279662010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27967
27968 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27969 it would result in module crash.
27970
c1f28820
VS
279712010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27974 (grub_ofconsole_getwh): Split to ...
27975 (grub_ofconsole_getwh): ... this.
27976 (grub_ofconsole_dimensions): ...and this.
27977 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27978
58655a16
RM
279792010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27980
27981 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27982
10891398
VS
279832010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27984
27985 * loader/i386/pc/multiboot2.c: Removed stalled file.
27986
0b8a223c
VS
279872010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27990 Reported by: Grégoire Sutre
27991
92ab12b0
RM
279922010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27993
27994 * util/misc.c (canonicalize_file_name): New function.
27995 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27996 instead of realpath().
27997
a788afb6
CW
279982010-01-11 Colin Watson <cjwatson@ubuntu.com>
27999
28000 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28001 and make it clearer that it's optional. Based on confusion
28002 witnessed on IRC.
28003
ffa8e3d2
VS
280042010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28005
28006 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28007 in premature implicit newline.
28008
e9060a9d
VS
280092010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28010
28011 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28012 which resulted in garbled command line at the end of screen.
28013
f0d0c0b7
RM
280142010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28015
28016 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28017 initialization with similar approach as with other Linux loaders.
28018
0e60bae7
RM
280192010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28020
28021 Fix i386-ieee1275 build.
28022
28023 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28024 and grub_term_height() for video_{width,height} initialization.
28025
280262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28027
28028 Fix grub-emu build.
28029
28030 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28031
cdb3f378
RM
280322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
280332010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28034
28035 Support for multiple terminals.
28036
28037 * Makefile.in (pkglib_DATA): terminal.lst.
28038 (terminal.lst): New target.
28039 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28040 (GRUB_MOD_INIT(handler)): Likewise.
28041 (GRUB_MOD_FINI(handler)): Likewise.
28042 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28043 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28044 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28045 (grub_cmd_sleep): Use grub_term_save_pos.
28046 * commands/terminal.c: New file.
28047 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28048 commands/terminal.c and lib/charset.c.
28049 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28050 (pkglib_MODULES): Add terminal.mod.
28051 (terminal_mod_SOURCES): New variable.
28052 (terminal_mod_CFLAGS): Likewise.
28053 (terminal_mod_LDFLAGS): Likewise.
28054 * genhandlerlist.sh: Don't handle terminals.
28055 * genmk.rb: Generate terminal-*.lst.
28056 * genterminallist.sh: New file.
28057 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28058 (grub_is_valid_utf8): Likewise.
28059 (grub_utf8_to_ucs4_alloc): Likewise.
28060 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28061 (grub_menu_register_viewer): Changed argument.
28062 (grub_menu_try_text): New proto.
28063 (grub_gfxmenu_try_hook): New declaration.
28064 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28065 (grub_menu_init_page): Additional argument term.
28066 (grub_normal_init_page): Likewise.
28067 (grub_cmdline_get): Arguments simplified.
28068 (grub_utf8_to_ucs4_alloc): Removed.
28069 (grub_print_ucs4): Additional argument term.
28070 (grub_getstringwidth): Likewise.
28071 (grub_print_message_indented): Likewise.
28072 (grub_menu_text_register_instances): New proto.
28073 (grub_show_menu): Likewise.
28074 (read_terminal_list): Likewise.
28075 (grub_set_more): Likewise.
28076 * include/grub/parser.h: Include handler.h.
28077 * include/grub/reader.h: Rewritten.
28078 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28079 (GRUB_TERM_WIDTH): Changed to function.
28080 (GRUB_TERM_HEIGHT): Likewise.
28081 (GRUB_TERM_BORDER_WIDTH): Likewise.
28082 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28083 (GRUB_TERM_NUM_ENTRIES): Likewise.
28084 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28085 (GRUB_TERM_CURSOR_X): Likewise.
28086 (grub_term_input_class): Likewise.
28087 (grub_term_output_class): Likewise.
28088 (grub_term_outputs_disabled): New declaration.
28089 (grub_term_inputs_disabled): Likewise.
28090 (grub_term_outputs): Likewise.
28091 (grub_term_inputs): Likewise.
28092 (grub_term_register_input): Rewritten.
28093 (grub_term_register_output): Likewise.
28094 (grub_term_unregister_input): Likewise.
28095 (grub_term_unregister_output): Likewise.
28096 (FOR_ACTIVE_TERM_INPUTS): New macro.
28097 (FOR_DISABLED_TERM_INPUTS): Likewise.
28098 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28099 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28100 * include/grub/terminfo.h: Add oterm argument to all protypes.
28101 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28102 Use grub_rescue_run.
28103 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28104 All users updated.
28105 * kern/reader.c: Removed. All users updated.
28106 * kern/rescue_reader.c (grub_rescue_init): Removed.
28107 (grub_rescue_reader): Likewise.
28108 (grub_register_rescue_reader): Likewise.
28109 (grub_rescue_run): New function based on kern/reader.c.
28110 * kern/term.c: Adapted for multiterm.
28111 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28112 (grub_is_valid_utf8): Likewise.
28113 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28114 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28115 right terminal.
28116 * loader/i386/linux.c (grub_linux_boot): Likewise.
28117 * normal/auth.c (grub_username_get): New function.
28118 (grub_auth_check_authentication): Use grub_username_get.
28119 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28120 * normal/color.c: Adapt for multiterm.
28121 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28122 (grub_normal_init_page): Additional argument term.
28123 (read_lists): Call read_terminal_lists.
28124 (grub_enter_normal_mode): Call grub_cmdline_run.
28125 Handle grub_normal_exit_level.
28126 (grub_cmd_normal): Make reentrant.
28127 (grub_cmd_normal_exit): New function.
28128 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28129 * normal/menu.c: Adapt for multiterm.
28130 * normal/menu_entry.c: Likewise.
28131 * normal/menu_text.c: Likewise.
28132 * normal/menu_viewer.c: Removed. All users updated.
28133 * normal/term.c: New file.
28134 * util/console.c: Change order of includes to workaround a bug in
28135 ncurses headers.
28136 * term/terminfo.c: New argument oterm on all exported functions.
28137 All users updated.
28138 * util/grub-editenv.c (grub_term_input_class): Removed.
28139 (grub_term_output_class): Likewise.
28140
1a064917
RM
281412010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28142
28143 Make loader output a bit more user-friendly.
28144
28145 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28146 is being loaded. Likewise for the Hurd.
28147
28148 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28149 that kernel of FreeBSD ${version} is being loaded.
28150
28151 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28152 grub_dprintf().
28153 (grub_cmd_initrd): Likewise.
28154 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28155 that Linux ${version} is being loaded. Likewise for initrd.
28156
5ce0a83a 281572010-01-09 Carles Pina i Estany <carles@pina.cat>
28158
28159 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28160
809bbfeb 281612010-01-08 Carles Pina i Estany <carles@pina.cat>
28162
28163 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28164 (GRUB_MOD_INIT): Gettextizze.
28165 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28166 (GRUB_MOD_INIT): Gettextizze.
28167 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28168 (grub_cmd_linux): Capitalise Linux.
28169 (GRUB_MOD_INIT): Gettextizze.
28170 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28171 (grub_cmd_linux): Capitalise Linux.
28172 (GRUB_MOD_INIT): Gettextizze.
28173 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28174 (grub_cmd_linux): Capitalise Linux.
28175 (GRUB_MOD_INIT): Gettextizze.
28176 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28177 (GRUB_MOD_INIT): Gettextizze.
28178 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28179 (grub_cmd_linux): Capitalise Linux.
28180 (GRUB_MOD_INIT): Gettextizze.
28181 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28182 (grub_cpu_xnu_init): Gettextizze.
28183 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28184 (GRUB_MOD_INIT): Gettextizze.
28185 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28186 (GRUB_MOD_INIT): Gettextizze.
28187 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28188 (grub_linux_load64): Capitalise Linux.
28189 (GRUB_MOD_INIT): Gettextizze.
28190 * loader/xnu.c: Include `<grub/i18n.h>'.
28191 (GRUB_MOD_INIT): Gettextizze.
28192 * po/POTFILES: Add `loader/efi/appleloader.c',
28193 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28194 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28195 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28196 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28197 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28198 and `loader/xnu.c'.
28199
b394b2ca
RM
282002010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28203
282042010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28205
28206 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28207 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28208 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28209
bc8b32b3
RM
282102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28211
28212 Reset Multiboot 2 support. New loader implements the draft in
28213 /branches/multiboot2 and shares as much code as possible with the
28214 production Multiboot 1 implementation.
28215
28216 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28217 * loader/multiboot2.c: Likewise.
28218 * loader/i386/multiboot_helper.S: Likewise.
28219 * include/multiboot2.h: Replace with latest version from the draft
28220 in /branches/multiboot2.
28221
28222 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28223 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28224 and `loader/multiboot2.c'.
28225 (pkglib_MODULES): Add `multiboot2.mod'.
28226 (multiboot2_mod_SOURCES): New variable.
28227 (multiboot2_mod_LDFLAGS): Likewise.
28228 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28229
28230 * conf/i386-pc.rmk: Likewise.
28231
28232 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28233 (multiboot_mod_SOURCES): Remove variable.
28234 (multiboot_mod_LDFLAGS): Likewise.
28235 (multiboot_mod_CFLAGS): Likewise.
28236
28237 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28238 `<multiboot2.h>' instead of `<multiboot.h>'.
28239 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28240 (MULTIBOOT_HEADER_MAGIC): New macros.
28241
28242 * loader/multiboot_loader.c (module_version_status): Remove variable.
28243 (find_multi_boot2_header): Remove function.
28244 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28245 logic. Always check for the Multiboot version we're compiling for.
28246 (grub_cmd_module_loader): Likewise.
28247 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28248 command instead of `multiboot'.
28249
5d2c52b8
RM
282502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28251
28252 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28253 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28254 all users.
28255
53108d92
RM
282562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
282572010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28258
28259 Fix breakage introduced with previous commit.
28260
28261 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28262 commands.
28263 * normal/handler.c (read_handler_list): Revert part of previous commit
28264 affecting this file.
28265 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28266 (grub_normal_execute): ... here.
28267
e2e936b2
RM
282682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28269
28270 Merge prefix-redefinition-fix branch.
28271
28272 * normal/autofs.c (read_fs_list): Make function capable of being
28273 run multiple times, gracefuly replacing the previous data
28274 structures.
28275 * normal/dyncmd.c (read_command_list): Likewise.
28276 * normal/handler.c (read_handler_list): Likewise.
28277 * normal/main.c (read_lists): New function. Calls all the
28278 list reading functions.
28279 (grub_normal_execute): Use read_lists() instead of calling all
28280 list reading functions explicitly. Register read_lists() as a
28281 variable hook attached to ${prefix}.
28282
607a3701
VS
282832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 Merge crypto branch.
28286
28287 * Makefile.in (pkglib_DATA): Add crypto.lst.
28288 (crypto.lst): New target.
28289 * commands/hashsum.c: New file.
28290 * commands/password.c (check_password): Use grub_crypto_memcmp.
28291 * commands/password_pbkdf2.c: New file.
28292 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28293 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28294 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28295 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28296 -I$(srcdir)/lib/libgcrypt_wrap.
28297 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28298 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28299 password_pbkdf2.mod.
28300 (crypto_mod_SOURCES): New variable.
28301 (crypto_mod_CFLAGS): Likewise.
28302 (crypto_mod_LDFLAGS): Likewise.
28303 (hashsum_mod_SOURCES): New variable.
28304 (hashsum_mod_CFLAGS): Likewise.
28305 (hashsum_mod_LDFLAGS): Likewise.
28306 (pbkdf2_mod_SOURCES): New variable.
28307 (pbkdf2_mod_CFLAGS): Likewise.
28308 (pbkdf2_mod_LDFLAGS): Likewise.
28309 (password_pbkdf2_mod_SOURCES): New variable.
28310 (password_pbkdf2_mod_CFLAGS): Likewise.
28311 (password_pbkdf2_mod_LDFLAGS): Likewise.
28312 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28313 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28314 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28315 Include conf/gcry.rmk.
28316 * include/grub/auth.h: Rewritten.
28317 * include/grub/crypto.h: New file.
28318 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28319 * include/grub/normal.h (read_crypto_list): New prototype.
28320 * lib/crypto.c: New file.
28321 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28322 * lib/pbkdf2.c: Likewise.
28323 * normal/auth.c (grub_auth_strcmp): Removed.
28324 (grub_iswordseparator): Likewise.
28325 (grub_auth_strword): Likewise.
28326 (is_authenticated): Use grub_strword.
28327 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28328 and grub_strword. Pass entered password to authentication callback.
28329 * normal/crypto.c: New file.
28330 * normal/main.c: Call read_crypto_list.
28331 * util/grub-mkpasswd-pbkdf2.c: New file.
28332 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28333
42841caa
VS
283342010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 Fix descent and ascent calculation.
28337
28338 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28339 (options): New option "asce".
28340 (usage): Likewise.
28341 (add_char): Ignore invalid glyphs for descent calculation.
28342 Calculate ascent from actual content.
28343 (print_glyphs): Use 'asce'.
28344 (write_font): Likewise. Allow ascent override.
28345 (main): Handle "asce" option.
28346
e7730de7 283472010-01-06 Carles Pina i Estany <carles@pina.cat>
28348
28349 * kern/err.c: Include `<grub/i18n.h>'.
28350 (grub_print_error): Add full stop. Gettextizze.
28351 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28352 (grub_bsd_load_elf): Capitalise ELF.
28353 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28354 (grub_cmd_freebsd_module): Likewise.
28355 (grub_cmd_freebsd_module_elf): Likewise.
28356 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28357
40e3a41f 283582010-01-06 Carles Pina i Estany <carles@pina.cat>
28359
28360 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28361 * commands/search_file.c (HELP_MESSAGE): New macro.
28362 * commands/search_label.c (HELP_MESSAGE): Likewise.
28363 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28364 * po/POTFILES: Add `commands/search_file.c',
28365 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28366 `commands/search.c'.
28367
83507e68
RM
283682010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28369
28370 * config.rpath: Update from Gnulib.
28371
465c787b
YB
283722010-01-05 Yves Blusseau <blusseau@zetam.org>
28373
28374 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28375
6581dd3a
YB
283762010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28377
28378 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28379
3bff18c5
CW
283802010-01-05 Colin Watson <cjwatson@ubuntu.com>
28381
28382 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28383 arguments to fread so that we get a return value in bytes, rather
28384 than something that will normally be rounded down to 0.
28385 Adjust error handling to avoid producing garbage when size_t is not
28386 the same size as long long.
28387
a1368118
CW
283882010-01-05 Colin Watson <cjwatson@ubuntu.com>
28389
28390 * util/mkisofs/write.c (padblock_write): Check return value of
28391 fread.
28392
7c302978
RM
283932010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28394
28395 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28396 floppy images now.
28397
28398 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28399
e33ace06
RM
284002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28401
28402 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28403 instead of manual alignment.
28404 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28405 verbose). Avoid attempts to read past end of the device
28406 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28407 but GRUB_DISK_CACHE_SIZE may exceed that).
28408
4b856776
RM
284092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28410
28411 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28412 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28413 it to upper layer.
28414
52c2d97f
VS
284152010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28416
28417 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28418 New constant.
28419 (grub_efi_piwg_device_path): New structure
28420 (grub_efi_piwg_device_path_t): New type.
28421 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28422 (devpath_1): Transform to a structure. All users updated.
28423 (devpath_2): Likewise.
28424 (devpath_3): Likewise.
28425 (devpath_4): Likewise.
28426 (devpath_5): Likewise.
28427
98ff6a54
VS
284282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28429
28430 * loader/efi/appleloader.c: Restored. Update all users.
28431
3a73dcb6
RM
284322010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28433
28434 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28435
28436 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28437 (struct boot_blocklist): Move from here ...
28438 * include/grub/i386/pc/boot.h [ASM_FILE]
28439 (struct grub_boot_blocklist): ... to here. Update all users.
28440 (setup): Only initialize `start' member of `first_block'
28441 structure. Add assert() calls to verify the other members.
28442
28443 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28444 (generate_image): Fix broken blocklist length initialization.
28445 Add assert() call to verify blocklist `segment' field.
28446
ab0eeb0c
RM
284472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * loader/efi/appleloader.c: Remove. Update all users.
28450
58bc8bd5
RM
284512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28452
28453 * boot/i386/pc/boot.S: Update copyright year.
28454 * boot/i386/pc/cdboot.S: Likewise.
28455 * boot/i386/pc/diskboot.S: Likewise.
28456 * boot/i386/pc/lnxboot.S: Likewise.
28457 * boot/i386/pc/pxeboot.S: Likewise.
28458 * bus/pci.c: Likewise.
28459 * commands/cmp.c: Likewise.
28460 * commands/help.c: Likewise.
28461 * commands/hexdump.c: Likewise.
28462 * commands/i386/pc/halt.c: Likewise.
28463 * commands/i386/pc/play.c: Likewise.
28464 * commands/i386/pc/vbeinfo.c: Likewise.
28465 * commands/ls.c: Likewise.
28466 * commands/test.c: Likewise.
28467 * disk/dmraid_nvidia.c: Likewise.
28468 * disk/i386/pc/biosdisk.c: Likewise.
28469 * disk/ieee1275/nand.c: Likewise.
28470 * disk/ieee1275/ofdisk.c: Likewise.
28471 * disk/lvm.c: Likewise.
28472 * disk/raid.c: Likewise.
28473 * disk/raid6_recover.c: Likewise.
28474 * disk/scsi.c: Likewise.
28475 * fs/affs.c: Likewise.
28476 * fs/cpio.c: Likewise.
28477 * fs/ext2.c: Likewise.
28478 * fs/hfs.c: Likewise.
28479 * fs/iso9660.c: Likewise.
28480 * fs/ntfs.c: Likewise.
28481 * fs/sfs.c: Likewise.
28482 * fs/udf.c: Likewise.
28483 * fs/ufs.c: Likewise.
28484 * fs/xfs.c: Likewise.
28485 * gencmdlist.sh: Likewise.
28486 * genmk.rb: Likewise.
28487 * include/grub/disk.h: Likewise.
28488 * include/grub/efi/api.h: Likewise.
28489 * include/grub/efi/efi.h: Likewise.
28490 * include/grub/efi/pe32.h: Likewise.
28491 * include/grub/elf.h: Likewise.
28492 * include/grub/fs.h: Likewise.
28493 * include/grub/i386/at_keyboard.h: Likewise.
28494 * include/grub/i386/pc/memory.h: Likewise.
28495 * include/grub/i386/pc/vbe.h: Likewise.
28496 * include/grub/i386/pci.h: Likewise.
28497 * include/grub/i386/tsc.h: Likewise.
28498 * include/grub/ieee1275/ieee1275.h: Likewise.
28499 * include/grub/ntfs.h: Likewise.
28500 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28501 * include/grub/sparc64/libgcc.h: Likewise.
28502 * include/grub/symbol.h: Likewise.
28503 * include/grub/types.h: Likewise.
28504 * include/multiboot2.h: Likewise.
28505 * io/gzio.c: Likewise.
28506 * kern/device.c: Likewise.
28507 * kern/disk.c: Likewise.
28508 * kern/efi/efi.c: Likewise.
28509 * kern/efi/mm.c: Likewise.
28510 * kern/elf.c: Likewise.
28511 * kern/file.c: Likewise.
28512 * kern/i386/dl.c: Likewise.
28513 * kern/i386/pc/init.c: Likewise.
28514 * kern/i386/pc/startup.S: Likewise.
28515 * kern/ieee1275/ieee1275.c: Likewise.
28516 * kern/ieee1275/init.c: Likewise.
28517 * kern/main.c: Likewise.
28518 * kern/mm.c: Likewise.
28519 * kern/powerpc/dl.c: Likewise.
28520 * kern/sparc64/dl.c: Likewise.
28521 * kern/x86_64/dl.c: Likewise.
28522 * lib/hexdump.c: Likewise.
28523 * loader/efi/appleloader.c: Likewise.
28524 * loader/i386/ieee1275/linux.c: Likewise.
28525 * loader/i386/pc/chainloader.c: Likewise.
28526 * loader/i386/pc/linux.c: Likewise.
28527 * loader/i386/pc/multiboot2.c: Likewise.
28528 * loader/ieee1275/multiboot2.c: Likewise.
28529 * loader/multiboot2.c: Likewise.
28530 * loader/multiboot_loader.c: Likewise.
28531 * loader/powerpc/ieee1275/linux.c: Likewise.
28532 * normal/completion.c: Likewise.
28533 * normal/menu_entry.c: Likewise.
28534 * partmap/apple.c: Likewise.
28535 * util/grub.d/10_hurd.in: Likewise.
28536 * util/hostfs.c: Likewise.
28537 * video/readers/png.c: Likewise.
28538
e2d70b5c
CW
285392010-01-03 Colin Watson <cjwatson@ubuntu.com>
28540
28541 * include/grub/misc.h (GNUC_PREREQ): New macro.
28542 (ATTRIBUTE_ERROR): New macro.
28543 * include/grub/list.h (grub_bad_type_cast_real): Use
28544 ATTRIBUTE_ERROR.
28545
a173283f 285462010-01-03 Carles Pina i Estany <carles@pina.cat>
28547
28548 * normal/menu_text.c (print_message): Change messages.
28549
7fa7ff74 285502010-01-03 Carles Pina i Estany <carles@pina.cat>
28551
28552 * normal/menu_entry.c (store_completion): Gettextizze.
28553
136d24f6 285542010-01-03 Carles Pina i Estany <carles@pina.cat>
28555
28556 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28557
f936862e 285582010-01-03 Carles Pina i Estany <carles@pina.cat>
28559
28560 * po/POTFILES: Sort correctly.
28561
29c44ad1 285622010-01-03 Carles Pina i Estany <carles@pina.cat>
28563
28564 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28565 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28566 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28567 full stop.
28568 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28569 summary. Gettextizze the strings.
28570 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28571 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28572 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28573 full stop.
28574 (GRUB_MOD_INIT): Remove command name from summary.
28575 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28576 summary.
28577 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28578 * term/i386/pc/serial.c (options): Add full stops.
28579 (GRUB_MOD_INIT): Remove command name from the summary.
28580
77a79592 285812010-01-03 Carles Pina i Estany <carles@pina.cat>
28582
28583 * commands/acpi.c: Gettextizze help strings and/or options. Include
28584 `grub/i18n.h' if needed.
28585 * commands/blocklist.c: Likewise.
28586 * commands/boot.c: Likewise.
28587 * commands/cat.c: Likewise.
28588 * commands/cmp.c: Likewise.
28589 * commands/configfile.c: Likewise.
28590 * commands/crc.c: Likewise.
28591 * commands/date.c: Likewise.
28592 * commands/echo.c: Likewise.
28593 * commands/efi/fixvideo.c: Likewise.
28594 * commands/efi/loadbios.c: Likewise.
28595 * commands/gptsync.c: Likewise.
28596 * commands/halt.c: Likewise.
28597 * commands/handler.c: Likewise.
28598 * commands/hdparm.c: Likewise.
28599 * commands/hexdump.c: Likewise.
28600 * commands/i386/cpuid.c: Likewise.
28601 * commands/i386/pc/drivemap.c: Likewise.
28602 * commands/i386/pc/halt.c: Likewise.
28603 * commands/i386/pc/pxecmd.c: Likewise.
28604 * commands/i386/pc/vbeinfo.c: Likewise.
28605 * commands/i386/pc/vbetest.c: Likewise.
28606 * commands/ieee1275/suspend.c: Likewise.
28607 * commands/keystatus.c: Likewise.
28608 * commands/loadenv.c: Likewise.
28609 * commands/ls.c: Likewise.
28610 * commands/lsmmap.c: Likewise.
28611 * commands/lspci.c: Likewise.
28612 * commands/memrw.c: Likewise.
28613 * commands/minicmd.c: Likewise.
28614 * commands/parttool.c: Likewise.
28615 * commands/password.c: Likewise.
28616 * commands/probe.c: Likewise.
28617 * commands/read.c: Likewise.
28618 * commands/reboot.c: Likewise.
28619 * commands/search.c: Likewise.
28620 * commands/sleep.c: Likewise.
28621 * commands/test.c: Likewise.
28622 * commands/true.c: Likewise.
28623 * commands/usbtest.c: Likewise.
28624 * commands/videotest.c: Likewise.
28625 * commands/xnu_uuid.c: Likewise.
28626 * disk/loopback.c: Likewise.
28627 * hello/hello.c: Likewise.
28628 * loader/i386/bsd.c: Likewise.
28629 * term/i386/pc/serial.c: Likewise.
28630 * po/POTFILES: Add new files.
28631
da8d5c53
CW
286322010-01-02 Colin Watson <cjwatson@ubuntu.com>
28633
28634 * term/i386/pc/at_keyboard.c
28635 (keyboard_controller_wait_untill_ready): Rename to ...
28636 (keyboard_controller_wait_until_ready): ... this. Update all users.
28637
33937904 286382010-01-01 Carles Pina i Estany <carles@pina.cat>
28639
28640 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28641 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28642 string using string width.
28643 * normal/menu_text.c (grub_print_message_indented): Use
28644 grub_print_spaces and not print_spaces.
28645 (print_timeout): Likewise.
28646 (print_spaces): Move to...
28647 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28648
3fd3b8d8
RM
286492010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28650
28651 Import from Gnulib.
28652
28653 * gnulib/getdelim.c: New file.
28654 * gnulib/getline.c: Likewise.
28655
33433555
VS
286562009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28657
28658 * include/grub/list.h (grub_assert_fail): Removed.
28659 (grub_bad_type_cast_real): New function.
28660 (grub_bad_type_cast): New macro.
28661 (GRUB_AS_LIST): Use grub_bad_type_cast.
28662 (GRUB_AS_LIST_P): Likewise.
e44721e8 28663 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28664 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28665 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28666 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28667 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28668
f5a51306
VS
286692009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28672 Fix syntax error.
28673
90d1e879
RM
286742009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28675
28676 * configure.ac: Check for TARGET_CFLAGS initialization before we
28677 initialize it ourselves (sigh).
28678 Move a few modifications to TARGET_CFLAGS to be unconditional
28679 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28680 eh_frame)
28681
28682 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28683 * term/i386/pc/at_keyboard.c
28684 (keyboard_controller_wait_untill_ready): Likewise.
28685 (keyboard_controller_led): Rename `led_status' paramter to avoid
28686 name conflict.
28687
465b5a81 286882009-12-28 Carles Pina i Estany <carles@pina.cat>
28689
28690 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28691 quotes.
28692
c181849b
VS
286932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28694
28695 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28696
9c8739a4
VS
286972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28698
28699 * normal/menu_text.c (grub_print_message_indented): Prevent
28700 past-the-end-of-array dereference.
28701
3e74249c
VS
287022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28703
28704 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28705 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28706
64fd18ed 287072009-12-27 Carles Pina i Estany <carles@pina.cat>
28708
28709 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28710 * normal/main.c (grub_normal_read_line): Remove a space from the
28711 default prompt.
28712
714af9b9 287132009-12-27 Carles Pina i Estany <carles@pina.cat>
28714
28715 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28716 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28717 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28718 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28719 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28720 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28721 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28722
82f3e412 287232009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28724
28725 * video/readers/jpeg.c (cmd): Declare.
28726 (grub_cmd_jpegtest): Use `grub_command_t' type.
28727 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28728 Assign to `cmd'.
28729 (GRUB_MOD_FINI): Use `cmd' to unregister.
28730 * video/readers/png.c (cmd): Declare.
28731 (grub_cmd_pngtest): Use `grub_command_t' type.
28732 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28733 Assign to `cmd'.
28734 (GRUB_MOD_FINI): Use `cmd' to unregister.
28735 * video/readers/tga.c (cmd): Declare.
28736 (grub_cmd_tgatest): Use `grub_command_t' type.
28737 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28738 Assign to `cmd'.
28739 (GRUB_MOD_FINI): Use `cmd' to unregister.
28740
82f3e412 287412009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28742
28743 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28744 stops.
28745 * kern/corecmd.c (grub_register_core_commands): Likewise.
28746 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28747 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28748 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28749 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28750 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28751 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28752 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28753 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28754 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28755 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28756 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28757 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28758 * normal/handler.c (insert_handler): Likewise.
28759 * normal/main.c (GRUB_MOD_INIT): Likewise.
28760 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28761
fdcdbb66 287622009-12-26 Carles Pina i Estany <carles@pina.cat>
28763
28764 * commands/help.c (grub_cmd_help): Print the command name before the
28765 summary.
28766 (GRUB_MOD_INIT): Remove command name from the summary.
28767 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28768 string as summary.
fdcdbb66 28769 * lib/arg.c (find_long): Print the command name before the summary.
28770 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28771 summary.
28772 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28773 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28774 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28775 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28776 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28777 * commands/date.c (GRUB_MOD_INIT): Likewise.
28778 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28779 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28780 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28781 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28782 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28783 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28784 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28785 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28786 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28787 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28788 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28789 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28790 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28791 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28792 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28793 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28794 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28795 * commands/password.c (GRUB_MOD_INIT): Likewise.
28796 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28797 * commands/read.c (GRUB_MOD_INIT): Likewise.
28798 * commands/search.c (GRUB_MOD_INIT): Likewise.
28799 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28800 * commands/test.c (GRUB_MOD_INIT): Likewise.
28801 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28802 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28803 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28804 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28805 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28806 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28807 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28808 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28809 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28810 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28811 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28812 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28813 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28814 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28815
9c288be2
VS
288162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 Use search command for preliminar UUID search.
28819
28820 * commands/search.c: Split into ...
28821 * commands/search_wrap.c: ...this
28822 * commands/search.c: ...and this.
28823 * commands/search_file.c: New file.
28824 * commands/search_label.c: New file.
28825 * commands/search_uuid.c: New file.
28826 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28827 Add commands/search_wrap.c, commands/search_file.c,
28828 commands/search_label.c and commands/search_uuid.c.
28829 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28830 (search_mod_SOURCES): Set to commands/search_wrap.c.
28831 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28832 search_label.mod.
28833 (search_fs_file_mod_SOURCES): New variable.
28834 (search_fs_file_mod_CFLAGS): Likewise.
28835 (search_fs_file_mod_LDFLAGS): Likewise.
28836 (search_label_mod_SOURCES): Likewise.
28837 (search_label_mod_CFLAGS): Likewise.
28838 (search_label_mod_LDFLAGS): Likewise.
28839 (search_fs_uuid_mod_SOURCES): New variable.
28840 (search_fs_uuid_mod_CFLAGS): Likewise.
28841 (search_fs_uuid_mod_LDFLAGS): Likewise.
28842 (fs_file_mod_SOURCES): Removed.
28843 (fs_file_mod_CFLAGS): Likewise.
28844 (fs_file_mod_LDFLAGS): Likewise.
28845 (fs_uuid_mod_SOURCES): Removed.
28846 (fs_uuid_mod_CFLAGS): Likewise.
28847 (fs_uuid_mod_LDFLAGS): Likewise.
28848 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28849 Set to util/grub-install.in.
28850 * disk/fs_file.c: Removed.
28851 * disk/fs_uuid.c: Likewise.
28852 * include/grub/search.h: New file.
28853 * util/grub-install.in: Handle sparc64.
28854 Create and use load.cfg.
28855 * util/sparc64/ieee1275/grub-install.in: Removed.
28856
db943399
VS
288572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28858
28859 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28860 Ignore return status if CF is cleared.
28861 (grub_biosdisk_get_diskinfo_standard): Likewise.
28862
3fdae612
RM
288632009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28864
28865 * term/i386/pc/at_keyboard.c
28866 (keyboard_controller_wait_untill_ready): New function.
28867 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28868 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28869 for keyboard polling, rather than duplicate the same loop. This
28870 saves a few bytes in code size.
28871
7ebaa2b4
VS
288722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 Support for (pxe[:server[:gateway]]) syntax and
28875 use environment variable for PXE.
28876
28877 * commands/i386/pc/pxecmd.c (options): Removed.
28878 (print_ip): Removed.
28879 (grub_cmd_pxe): Removed
28880 (grub_cmd_pxe_unload): New function.
28881 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28882 (grub_pxe_your_ip): Made static.
28883 (grub_pxe_default_server_ip): Likewise.
28884 (grub_pxe_default_gateway_ip): Likewise.
28885 (grub_pxe_blksize): Likewise.
28886 (parse_ip): New function.
28887 (grub_pxe_open): Support server and gateway specification.
28888 (grub_pxe_close): Free disk->data.
28889 (grub_pxefs_open): Use disk->data.
28890 (grub_pxefs_read): Likewise.
28891 (grub_env_write_readonly): New function.
28892 (set_mac_env): Likewise.
28893 (set_env_limn_ro): Likewise.
28894 (parse_dhcp_vendor): Likewise.
28895 (grub_pxe_detect): Set the environment variables.
28896 (set_ip_env): New function.
28897 (write_ip_env): Likewise.
28898 (grub_env_write_pxe_default_server): Likewise.
28899 (grub_env_write_pxe_default_gateway): Likewise.
28900 (grub_env_write_pxe_blocksize): Likewise.
28901 (GRUB_MOD_INIT(pxe)): Set environment variables.
28902 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28903 (grub_pxe_mac_addr_t): ... this. All users updated.
28904 (grub_pxe_your_ip): Removed.
28905 (grub_pxe_server_ip): Likewise.
28906 (grub_pxe_gateway_ip): Likewise.
28907 (grub_pxe_blksize): Likewise.
28908
ec5f98ab 289092009-12-25 Carles Pina i Estany <carles@pina.cat>
28910
28911 * commands/help.c: Include `<grub/i18n.h>'.
28912 (grub_cmd_help): Gettextizze.
28913 (GRUB_MOD_INIT): Likewise.
28914 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28915 (GRUB_MOD_INIT): Gettextizze.
28916 * commands/search.c: Include `<grub/i18n.h>'.
28917 (options): Gettextizze.
28918 (GRUB_MOD_INIT): Gettextizze.
28919 * lib/arg.c: Include `<grub/i18n.h>'.
28920 (help_options): Gettextizze.
28921 (find_long): Likewise.
28922 (grub_arg_show_help): Likewise.
28923 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28924 (read_command_list): Gettextizze.
28925 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28926 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28927
22815526
RM
289282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28929
28930 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28931 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28932 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28933 (led_status): New variable.
28934 (keyboard_controller_led): New function.
28935 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28936 update led status for caps lock, num lock and scroll lock.
28937
0ad46fd7
FZ
289382009-12-25 Felix Zielcke <fzielcke@z-51.de>
28939
28940 * util/hostdisk.c (open_device): Fix a comment.
28941
d0e158c2
RM
289422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 * util/grub-install.in (host_os): New variable.
28945 * util/i386/efi/grub-install.in (host_os): Likewise.
28946
401c0ad6
RM
289472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28948
28949 * util/mkisofs/write.c (padblock_write): Abort when given an
28950 excedingly large embed image, instead of silently truncating it.
28951
d14d3370
RM
289522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28953
28954 * include/multiboot.h: Indentation fixes.
28955
eeed10b4
RM
289562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28957
28958 * include/multiboot.h (struct multiboot_aout_symbol_table)
28959 (struct multiboot_elf_section_header_table): New structure
28960 declarations (stolen from GRUB Legacy).
28961 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28962 table information.
28963
28964 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28965 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28966 type aliases.
28967
681c70ab
RM
289682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28969
28970 * include/multiboot.h: Make comments src2texi-friendly.
28971
e4d47d8d
RM
289722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28973
28974 For consistency with [multiboot]/docs/boot.S.
28975
28976 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28977 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28978 (MULTIBOOT_MAGIC2): Rename from this ...
28979 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28980
a0b70bda
RM
289812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28982
28983 * include/multiboot.h: Remove `<grub/types.h>'.
28984 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28985 types. Update all users.
28986
61ba42be 289872009-12-25 Carles Pina i Estany <carles@pina.cat>
28988
28989 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28990 `couldn't' and `can not' by `cannot'.
28991 * commands/i386/pc/drivemap.c: Likewise.
28992 * disk/ata.c: Likewise.
28993 * disk/ieee1275/nand.c: Likewise.
28994 * fs/affs.c: Likewise.
28995 * fs/fat.c: Likewise.
28996 * fs/hfs.c: Likewise.
28997 * fs/hfsplus.c: Likewise.
28998 * fs/iso9660.c: Likewise.
28999 * fs/jfs.c: Likewise.
29000 * fs/minix.c: Likewise.
29001 * fs/reiserfs.c: Likewise.
29002 * fs/sfs.c: Likewise.
29003 * fs/udf.c: Likewise.
29004 * fs/ufs.c: Likewise.
29005 * fs/xfs.c: Likewise.
29006 * loader/powerpc/ieee1275/linux.c: Likewise.
29007 * loader/sparc64/ieee1275/linux.c: Likewise.
29008 * util/grub-probe.c: Likewise.
29009 * util/misc.c: Likewise.
29010
7fd0baee 290112009-12-24 Carles Pina i Estany <carles@pina.cat>
29012
29013 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29014 grub_errno calls.
29015 * commands/acpi.c: Likewise.
29016 * commands/blocklist.c: Likewise.
29017 * commands/efi/loadbios.c: Likewise.
29018 * commands/i386/pc/drivemap.c: Likewise.
29019 * commands/loadenv.c: Likewise.
29020 * commands/memrw.c: Likewise.
29021 * commands/password.c: Likewise.
29022 * commands/videotest.c: Likewise.
29023 * disk/ata.c: Likewise.
29024 * disk/ata_pthru.c: Likewise.
29025 * disk/dmraid_nvidia.c: Likewise.
29026 * disk/ieee1275/nand.c: Likewise.
29027 * disk/ieee1275/ofdisk.c: Likewise.
29028 * disk/loopback.c: Likewise.
29029 * disk/lvm.c: Likewise.
29030 * disk/mdraid_linux.c: Likewise.
29031 * disk/raid.c: Likewise.
29032 * disk/raid6_recover.c: Likewise.
29033 * disk/scsi.c: Likewise.
29034 * efiemu/main.c: Likewise.
29035 * efiemu/mm.c: Likewise.
29036 * efiemu/pnvram.c: Likewise.
29037 * efiemu/symbols.c: Likewise.
29038 * font/font.c: Likewise.
29039 * fs/cpio.c: Likewise.
29040 * fs/hfsplus.c: Likewise.
29041 * fs/iso9660.c: Likewise.
29042 * fs/jfs.c: Likewise.
29043 * fs/minix.c: Likewise.
29044 * fs/ntfs.c: Likewise.
29045 * fs/ntfscomp.c: Likewise.
29046 * fs/reiserfs.c: Likewise.
29047 * fs/ufs.c: Likewise.
29048 * fs/xfs.c: Likewise.
29049 * gettext/gettext.c: Likewise.
29050 * include/grub/auth.h: Likewise.
29051 * kern/elf.c: Likewise.
29052 * kern/file.c: Likewise.
29053 * kern/ieee1275/init.c: Likewise.
29054 * kern/ieee1275/mmap.c: Likewise.
29055 * kern/ieee1275/openfw.c: Likewise.
29056 * kern/powerpc/dl.c: Likewise.
29057 * kern/sparc64/dl.c: Likewise.
29058 * lib/arg.c: Likewise.
29059 * loader/i386/bsd.c: Likewise.
29060 * loader/i386/bsdXX.c: Likewise.
29061 * loader/i386/efi/linux.c: Likewise.
29062 * loader/i386/efi/xnu.c: Likewise.
29063 * loader/i386/ieee1275/linux.c: Likewise.
29064 * loader/i386/linux.c: Likewise.
29065 * loader/i386/multiboot.c: Likewise.
29066 * loader/i386/pc/linux.c: Likewise.
29067 * loader/i386/pc/multiboot2.c: Likewise.
29068 * loader/i386/xnu.c: Likewise.
29069 * loader/ieee1275/multiboot2.c: Likewise.
29070 * loader/macho.c: Likewise.
29071 * loader/machoXX.c: Likewise.
29072 * loader/multiboot2.c: Likewise.
29073 * loader/multiboot_loader.c: Likewise.
29074 * loader/powerpc/ieee1275/linux.c: Likewise.
29075 * loader/sparc64/ieee1275/linux.c: Likewise.
29076 * loader/xnu.c: Likewise.
29077 * loader/xnu_resume.c: Likewise.
29078 * mmap/i386/pc/mmap.c: Likewise.
29079 * normal/menu_viewer.c: Likewise.
29080 * partmap/acorn.c: Likewise.
29081 * partmap/amiga.c: Likewise.
29082 * partmap/apple.c: Likewise.
29083 * script/lexer.c: Likewise.
29084 * term/gfxterm.c: Likewise.
29085 * term/i386/pc/serial.c: Likewise.
29086 * term/i386/pc/vga.c: Likewise.
29087 * term/ieee1275/ofconsole.c: Likewise.
29088 * term/terminfo.c: Likewise.
29089 * video/bitmap.c: Likewise.
29090 * video/efi_gop.c: Likewise.
29091 * video/efi_uga.c: Likewise.
29092 * video/fb/video_fb.c: Likewise.
29093 * video/i386/pc/vbe.c: Likewise.
29094 * video/readers/tga.c: Likewise.
29095 * video/video.c: Likewise.
29096
0ad46fd7 290972009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29098
29099 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29100 * commands/lspci.c: Likewise.
29101 * commands/probe.c: Likewise.
29102 * commands/xnu_uuid.c: Likewise.
29103 * conf/i386-coreboot.rmk: Likewise.
29104 * conf/i386-efi.rmk: Likewise.
29105 * conf/i386-ieee1275.rmk: Likewise.
29106 * conf/i386-pc.rmk: Likewise.
29107 * conf/powerpc-ieee1275.rmk: Likewise.
29108 * conf/sparc64-ieee1275.rmk: Likewise.
29109 * conf/x86_64-efi.rmk: Likewise.
29110 * fs/i386/pc/pxe.c: Likewise.
29111 * gettext/gettext.c: Likewise.
29112 * include/grub/efi/graphics_output.h: Likewise.
29113 * include/grub/i386/pc/memory.h: Likewise.
29114 * kern/env.c: Likewise.
29115 * kern/i386/qemu/startup.S: Likewise.
29116 * lib/i386/pc/biosnum.c: Likewise.
29117 * lib/i386/relocator.c: Likewise.
29118 * lib/i386/relocator_asm.S: Likewise.
29119 * lib/relocator.c: Likewise.
29120 * loader/i386/bsd.c: Likewise.
29121 * loader/i386/multiboot.c: Likewise.
29122 * loader/i386/pc/chainloader.c: Likewise.
29123 * loader/i386/xnu.c: Likewise.
29124 * loader/xnu.c: Likewise.
29125 * normal/main.c: Likewise.
29126 * normal/menu_text.c: Likewise.
29127 * util/getroot.c: Likewise.
29128 * util/grub-mkconfig_lib.in: Likewise.
29129 * util/grub.d/00_header.in: Likewise.
29130 * util/i386/pc/grub-mkimage.c: Likewise.
29131 * util/mkisofs/eltorito.c: Likewise.
29132 * util/mkisofs/exclude.h: Likewise.
29133 * util/mkisofs/hash.c: Likewise.
29134 * util/mkisofs/iso9660.h: Likewise.
29135 * util/mkisofs/joliet.c: Likewise.
29136 * util/mkisofs/mkisofs.c: Likewise.
29137 * util/mkisofs/mkisofs.h: Likewise.
29138 * util/mkisofs/multi.c: Likewise.
29139 * util/mkisofs/name.c: Likewise.
29140 * util/mkisofs/rock.c: Likewise.
29141 * util/mkisofs/tree.c: Likewise.
29142 * util/mkisofs/write.c: Likewise.
29143 * video/efi_gop.c: Likewise.
29144
009ec743
VS
291452009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29146
29147 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29148 size counting.
29149
0ad46fd7 291502009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29151
29152 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29153 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29154
d3d30ea0
VS
291552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29158 (GRUB_MOD_INIT(memrw)): Update help line.
29159
a34f5c70
VS
291602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29163 Use grub_extcmd_t. All users updated.
29164 (options): New variable.
29165 (grub_cmd_read): Restructure for readability. Support "-v" option.
29166 (grub_cmd_write): Restructure for readability.
29167
0ad46fd7 291682009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29169
29170 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29171
0ad46fd7 291722009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29173
29174 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29175 with the actual contents of the correspondending make variable.
29176 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29177 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29178 specifying `*.lst' and `efiemu??.o'
29179
0ad46fd7 291802009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29181
29182 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29183 after function name.
29184 Noticed by Rene Engelhard <rene@debian.org>.
29185
dc77a799
VS
291862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29187
29188 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29189 (options): New variable.
29190 (iospace): Likewise.
29191 (grub_lspci_iter): List IO spaces if "-i" was given.
29192 (grub_cmd_lspci): Parse options.
29193 (GRUB_MOD_INIT(lspci)): Use extcmd.
29194 (GRUB_MOD_FINI(lspci)): Likewise.
29195
0ad46fd7 291962009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29197
29198 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29199 `function' keyword.
29200 Patch by Tony Mancill <tmancill@debian.org>.
29201
b5d5993b
VS
292022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29203
29204 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29205 (grub_uhci_portstatus): Likewise.
29206 (grub_uhci_portstatus): Add necessary delay.
11d18281 29207 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29208
941903f2 292092009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29210
941903f2 29211 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29212 (GRUB_MOD_INIT): Likewise.
29213 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29214 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29215 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29216 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29217 (enable_rom_area): Likewise.
29218 (GRUB_MOD_INIT): Likewise.
29219 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29220 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29221 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29222 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29223 * commands/hexdump.c (options): Likewise.
29224 * commands/i386/cpuid.c (options): Likewise.
29225 (GRUB_MOD_INIT): Likewise.
29226 * commands/i386/pc/drivemap.c (options): Likewise.
29227 (GRUB_MOD_INIT): Likewise.
29228 * commands/i386/pc/halt (options): Likewise.
29229 (GRUB_MOD_INIT): Likewise.
29230 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29231 * commands/i386/pc/pxecmd.c (options): Likewise.
29232 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29233 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29234 * commands/keystatus.c (options): Likewise.
29235 (GRUB_MOD_INIT): Likewise.
29236 * commands/loadenv.c (options): Likewise.
29237 * commands/ls.c (options): Likewise.
29238 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29239 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29240 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29241 * commands/parttool.c (helpmsg): Likewise.
29242 * commands/probe.c (options): Likewise.
29243 * commands/read.c (GRUB_MOD_INIT): Likewise.
29244 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29245 * commands/search.c (options): Likewise.
29246 * commands/sleep.c (options): Likewise.
29247 * commands/test.c (GRUB_MOD_INIT): Likewise.
29248 * commands/true.c (GRUB_MOD_INIT): Likewise.
29249 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29250 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29251 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29252 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29253 `$(XGETTEXT)'.
98a50553 29254 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29255
0ad46fd7 292562009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29257
ef3c2c3a 29258 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29259 instead of specifying them explicit.
29260
7922f68b
RM
292612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29262
29263 * NEWS: Add grub-probe support for GNU/Hurd.
29264
537ce47f
RM
292652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29266
29267 * NEWS: gettext was added after 1.97.
29268
9b214e3a
RM
292692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29270
29271 * util/mkisofs/msdos_partition.h: New file (based on
29272 include/grub/msdos_partition.h).
29273 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29274 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29275 (ld_options, main): Recognize --protective-msdos-label.
29276 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29277 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29278 (padblock_write): If `use_protective_msdos_label' is set, patch a
29279 protective DOS-style label in the output image.
29280
29281 * util/grub-mkrescue.in: Use --protective-msdos-label.
29282
e9309813
RM
292832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29284
29285 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29286 boot.
29287
0ae56929
RM
292882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29289
29290 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29291 variables.
29292 (ld_options, main): Recognize `--embedded-boot'.
29293 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29294 declarations.
29295 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29296 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29297 (padblock_write): Likewise. Rewrite to support embedded boot image.
29298
29299 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29300 for BIOS-based disk boot instead of only ElTorito.
29301
b15937b1
RM
293022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29303
29304 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29305 build (not needed for bootstrap).
29306
52cc3ce0
RM
293072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29310 from i386-pc build (not needed for bootstrap).
29311 Rewrite a pair of strings.
29312
36f5ff04
RM
293132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29314
29315 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29316
973c6c85 293172009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29318
29319 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29320
05d21547
AB
293212009-12-21 Andreas Born <futur.andy@googlemail.com>
29322
29323 * kern/env.c (grub_env_context_open): Mark exported variable for
29324 reexport.
29325
0175d51f
AB
293262009-12-21 Andreas Born <futur.andy@googlemail.com>
29327
29328 * kern/env.c (grub_env_export): Create nonexistent variables before
29329 exporting.
29330
7f39d92f 293312009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29332
7f39d92f 29333 * include/grub/auth.h: Include `<grub/i18n.h>'.
29334 (GRUB_GET_PASSWORD): Gettextizze string.
29335 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29336 menu_text.c.
29337 (grub_utf8_to_ucs4_alloc): Fix indentation.
29338 (grub_print_ucs4): Likewise.
29339 (grub_getstringwidth): Likewise.
29340 (print_message_indented): New declaration.
29341 * normal/auth.c: Include `<grub/i18n.h>'.
29342 (grub_auth_check_authentication): Gettexttize string.
29343 * normal/cmdline.c: Include `<grub/i18n.h>'.
29344 (grub_cmdline_get): Gettextizze.
29345 * normal/color.c: Include `<grub/i18n.h>'.
29346 (grub_parse_color_name_pair): Gettexttize strings.
29347 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29348 string (use `print_message_indented').
29349 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29350 `include/grub/normal.h'.
29351 (print_message_indented): Renamed to ...
29352 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29353 used in normal/main.c).
29354 (print_message): Use `grub_print_message_indented' instead of
29355 `print_message_indented'.
29356 (print_timeout): Likewise.
29357 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29358 (grub_normal_print_device_info): Gettexttize strings.
29359 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29360
3041d898
VS
293612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29364 of arguments. Return number of tokens and not arguments. All users
29365 updated.
29366
de15bf8e
VS
293672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29370 non-MSDOS paritions.
29371
e0a6ca52
VS
293722009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 * include/grub/types.h (UNUSED): Removed since it conflicts with
29375 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29376 Reported by Grégoire Sutre.
29377
b99518d1 293782009-12-19 Carles Pina i Estany <carles@pina.cat>
29379
29380 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29381 (grub_print_ucs4_alloc): Likewise.
29382 (grub_getstringwidth): Likewise.
29383 * normal/main.c (grub_normal_init_page): Gettextize version string.
29384 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29385 (getstringwidth): Renamed to ...
29386 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29387 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29388 (grub_print_ucs4): Remove `static' qualifer (now used in
29389 normal/main.c).
29390 * po/POTFILES: Add normal/main.c.
29391
bfd5e52b 293922009-12-19 Carles Pina i Estany <carles@pina.cat>
29393
29394 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29395 (print_message_indented): Add `margin_left' and `margin_right'
29396 parameters.
29397 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29398 strings.
29399 (print_timeout): Use `print_message_indented' to print the message.
29400 Deletes `second_stage' parameter.
29401 (run_menu): Update `print_timeout' calls.
29402
5a1ad2b9
VS
294032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29404
29405 Fix console palette on OpenFirmware.
29406
29407 * term/ieee1275/ofconsole.c (MAX): Removed.
29408 (colors): Redone based on VGA palette.
29409 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29410 colors are supported.
29411 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29412
b045f00a
VS
294132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29414
29415 Fix potential EfiEmu double prepare.
29416
29417 * efiemu/main.c (prepared): New variable
29418 (grub_efiemu_unload): Set prepare to '0'.
29419 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29420
29421 set_virtual_address_map support.
29422
29423 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29424 prototype.
29425 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29426 prototype.
29427 (grub_efiemu_crc32): Likewise.
29428 (grub_efiemu_crc64): Likewise.
29429 (grub_efiemu_set_virtual_address_map): Likewise.
29430 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29431 New definition.
29432 (grub_autoefi_set_virtual_address_map): Likewise.
29433 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29434 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29435 Restructure flow to accomodate it.
29436 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29437 (grub_efiemu_crc): Recompute CRC32.
29438 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29439 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29440 * efiemu/symbols.c (relocated_handle): New variable.
29441 (grub_efiemu_free_syms): Free relocated_handle.
29442 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29443 (grub_efiemu_write_sym_markers): New function.
29444 (grub_efiemu_set_virtual_address_map): Likewise.
29445
29446 Newer XNU parameters.
29447
29448 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29449 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29450 (grub_xnu_fill_devicetree): New prototype.
29451 (grub_xnu_heap_real_start): New variable.
29452 * loader/xnu.c (get_name_ptr): New function.
29453 (grub_xnu_load_driver): Fill namelen and name.
29454
29455 64-bit xnu support.
29456
29457 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29458 and 'loader/macho64.c'.
29459 * conf/i386-pc.rmk: Likewise.
29460 * conf/x86_64-efi.rmk: Likewise.
29461 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29462 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29463 * include/grub/macho.h (grub_macho_segment64): New structure.
29464 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29465 (grub_macho_size32): ... to this.
29466 (grub_macho32_get_entry_point): Renamed from ...
29467 (grub_macho_get_entry_point32): ... to this.
29468 (grub_macho_contains_macho64): New prototype.
29469 (grub_macho_size64): Likewise.
29470 (grub_macho_get_entry_point64): Likewise.
29471 (grub_macho32_load): Renamed from ...
29472 (grub_macho_load32): ... to this.
29473 (grub_macho32_filesize): Renamed from ...
29474 (grub_macho_filesize32): ... to this.
29475 (grub_macho32_readfile): Renamed from ...
29476 (grub_macho_readfile32): ... to this.
29477 (grub_macho_filesize64): New prototype.
29478 (grub_macho_readfile64): Likewise.
29479 (grub_macho_parse32): Likewise.
29480 (grub_macho_parse64): Likewise.
29481 * loader/macho.c: Split into ...
29482 * loader/machoXX.c: ... and this. Replace 32 with XX.
29483 * loader/macho32.c: New file.
29484 * loader/macho64.c: Likewise.
29485 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29486 (grub_cmd_xnu_kernel): Make 32-bit only.
29487 (grub_cmd_xnu_kernel64): New function.
29488 (grub_xnu_load_driver): Support Mach-O 64.
29489 (grub_cmd_xnu_mkext): Likewise.
29490 * util/grub.d/30_os-prober.in (osx_entry): New function.
29491 Generate entries for 64-bit boot too.
29492
29493 Eliminate ad-hoc tree format in XNU and EfiEmu.
29494
29495 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29496 * efiemu/pnvram.c: Rewritten to use environment variables.
29497 All users updated.
29498
29499 Inline utf16_to_utf8.
29500
29501 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29502 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29503 All users updated.
29504 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29505
29506 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29507 * commands/usbtest.c (grub_usb_get_string): ... move here.
29508 (usb_print_str): Fix error handling.
29509 * include/grub/usb.h (grub_usb_get_string): Remove.
29510
29511 UTF-8 to UTF-16 transformation.
29512
29513 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29514 (charset_mod_SOURCES): New variable.
29515 (charset_mod_CFLAGS): Likewise.
29516 (charset_mod_LDFLAGS): Likewise.
29517 * include/grub/utf.h: New file.
29518 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29519
29520 Support for device properties.
29521
29522 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29523 (grub_xnu_devprop_device_header): Likewise.
29524 (grub_xnu_devprop_device_descriptor): Likewise.
29525 (grub_xnu_devprop_add_device): New prototype.
29526 (grub_xnu_devprop_remove_device): Likewise.
29527 (grub_xnu_devprop_remove_property): Likewise.
29528 (grub_xnu_devprop_add_property_utf8): Likewise.
29529 (grub_xnu_devprop_add_property_utf16): Likewise.
29530 (grub_cpu_xnu_init): Likewise.
29531 (grub_cpu_xnu_fini): Likewise.
29532 (grub_cpu_xnu_unload): Likewise.
29533 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29534 (property_descriptor): Likewise.
29535 (devices): New variable.
29536 (grub_xnu_devprop_remove_property): New function.
29537 (grub_xnu_devprop_add_device): Likewise.
29538 (grub_xnu_devprop_remove_device): Likewise.
29539 (grub_xnu_devprop_add_property): Likewise.
29540 (grub_xnu_devprop_add_property_utf8): Likewise.
29541 (grub_xnu_devprop_add_property_utf16): Likewise.
29542 (hextoval): Likewise.
29543 (grub_cpu_xnu_fill_devprop): Likewise.
29544 (grub_cmd_devprop_load): Likewise.
29545 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29546 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29547 (cmd_devprop_load): New variable.
29548 (grub_cpu_xnu_init): New function.
29549 (grub_cpu_xnu_fini): Likewise.
29550 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29551 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29552 (grub_cmd_xnu_devtree): Likewise.
29553 (hextoval): New function.
29554 (unescape): Likewise.
29555 (grub_xnu_fill_devicetree): Likewise.
29556
29557 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29558 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29559
0945f181
VS
295602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 Workaround for broken ATI VBE.
29563
29564 * video/i386/pc/vbe.c (last_set_mode): New variable.
29565 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29566 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29567 (grub_video_vbe_setup): Don't check for reserved flag.
29568
0ad46fd7 295692009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29570
29571 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29572 the `find' command.
29573
c179ebe4
VS
295742009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29575
29576 UUID support for HFS.
29577
29578 * fs/hfs.c (grub_hfs_uuid): New function.
29579 (grub_hfs_fs): New value .uuid.
29580 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29581
0ad46fd7 295822009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29583
29584 Fix a segfault with parsing unknown long options.
29585
29586 * util/grub-mkrelpath.c (options): Zero terminate it.
29587
c4a3e41a
CPE
295882009-12-13 Carles Pina i Estany <carles@pina.cat>
29589
29590 * include/grub/misc.h (grub_puts): New declaration.
29591 (grub_puts_): Likewise.
a22008a6 29592 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29593 (grub_puts_): Likewise.
29594
2e8a7602
RM
295952009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29596
29597 * util/grub-probe.c (probe): Improve error message.
29598
b50b77b9
RM
295992009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29600
29601 * loader/i386/multiboot_elfxx.c
29602 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29603 initialization.
29604
296052009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29606
29607 Relocator framework
29608
29609 * loader/i386/xnu_helper.S: Removed. All users updated.
29610 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29611 (relocator_mod_SOURCES): New variable.
29612 (relocator_mod_CFLAGS): Likewise.
29613 (relocator_mod_LDFLAGS): Likewise.
29614 (relocator_mod_ASFLAGS): Likewise.
29615 * conf/x86_64.rmk: Likewise.
29616 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29617 (grub_multiboot_payload_entry_offset): Likewise.
29618 (grub_multiboot_forward_relocator): Likewise.
29619 (grub_multiboot_forward_relocator_end): Likewise.
29620 (grub_multiboot_backward_relocator): Likewise.
29621 (grub_multiboot_backward_relocator_end): Likewise.
29622 (grub_multiboot_payload_eip): New variable.
29623 (grub_multiboot_payload_orig): Likewise.
29624 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29625 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29626 * include/grub/i386/memory.h
29627 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29628 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29629 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29630 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29631 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29632 * include/grub/i386/relocator.h: New file.
29633 * include/grub/x86_64/relocator.h: Likewise.
29634 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29635 (XNU_RELOCATOR): New macro.
29636 (grub_xnu_launcher_start): Remove.
29637 (grub_xnu_launcher_end): Likewise.
29638 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29639 (grub_xnu_heap_real_start): Remove.
29640 (grub_xnu_heap_start): Change to void *. All users updated.
29641 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29642 * lib/i386/relocator.c: New file.
29643 * lib/i386/relocator_asm.S: Likewise.
29644 * lib/i386/relocator_backward.S: Likewise.
29645 * lib/mips/relocator.c: Likewise.
29646 * lib/mips/relocator_asm.S: Likewise.
29647 * lib/relocator.c: Likewise.
29648 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29649 (entry): Removed.
29650 (playground): Likewise.
29651 (grub_multiboot_payload_orig): New variable.
29652 (grub_multiboot_payload_dest): Likewise.
29653 (grub_multiboot_payload_size): Likewise.
29654 (grub_multiboot_payload_eip): Likewise.
29655 (grub_multiboot_payload_esp): Likewise.
29656 (grub_multiboot_boot): Use grub_relocator32_boot.
29657 (grub_multiboot_unload): Free relocators.
29658 (grub_multiboot): Setup stack. Use relocators.
29659 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29660 (grub_multiboot_load_elfXX): Use relocators.
29661 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29662 (grub_multiboot_payload_size): Likewise.
29663 (grub_multiboot_payload_dest): Likewise.
29664 (grub_multiboot_payload_entry_offset): Likewise.
29665 (grub_multiboot_forward_relocator): Likewise.
29666 (grub_multiboot_backward_relocator): Likewise.
29667 (grub_multiboot_real_boot): Likewise.
29668 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29669 (grub_xnu_entry_point): Likewise.
29670 (grub_xnu_arg1): Likewise.
29671 (grub_xnu_stack): Likewise.
29672 (grub_xnu_launch): Removed.
29673 (grub_xnu_boot_resume): New function.
29674 (grub_xnu_boot): Use relocators.
29675 * loader/i386/xnu_helper.S: Removed.
29676 * loader/xnu.c (grub_xnu_heap_start): New variable.
29677 (grub_xnu_heap_size): Likewise.
29678 (grub_xnu_heap_malloc): Use relocators.
29679 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29680
29eb90c6
VS
296812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29684 anything.
29685
31027430
CPE
296862009-12-13 Carles Pina i Estany <carles@pina.cat>
29687
29688 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29689 GRUB_ERR_NONE before calling grub_env_set.
29690
dc0c71d9
RM
296912009-12-12 Robert Millan <rmh@aybabtu.com>
29692
29693 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29694 * genmk.rb (video): New variable.
29695 (CLEANFILES, VIDEOFILES): Add #{video}.
29696 (#{video}): New target rule.
29697 * genvideolist.sh: New file.
29698 * Makefile.in (pkglib_DATA): Add video.lst.
29699 (video.lst): New target rule.
29700 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29701 `video.lst'.
29702 * util/grub.d/30_os-prober.in: Replace `vbe' with
29703 ${GRUB_VIDEO_BACKEND}.
29704
2a4bfcf0
RM
297052009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29706
29707 * THANKS: Add David Miller.
29708
2a3aa4d5
RM
297092009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29710
29711 libpciaccess support.
29712
29713 * Makefile.in (LIBPCIACCESS): New variable.
29714 (enable_grub_emu_pci): Likewise.
29715 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29716 util/pci.c and commands/lspci.c.
29717 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29718 * configure.ac (grub-emu-pci): New option.
29719 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29720 (grub_pci_device_unmap_range): Likewise.
29721 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29722 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29723 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29724 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29725 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29726 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29727 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29728 * include/grub/pciutils.h: New file.
29729 * util/pci.c: Likewise.
29730
0ad46fd7 297312009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29732
29733 * util/misc.c: Don't include <errno.h> twice.
29734
0ad46fd7 297352009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29736
29737 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29738 name in an error message.
29739 (grub_biosdisk_rw): Likewise.
29740
2e59983c
VS
297412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29742
29743 Eliminate NTFS 4Gib barrier.
29744
29745 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29746 (read_run_data): Likewise.
29747 (grub_ntfs_read_run_list): Likewise.
29748 (grub_ntfs_read_block): Likewise.
29749 (grub_ntfs_iterate_dir): Likewise.
29750 (read_mft): Likewise.
29751 (read_data): Likewise.
29752 Use COM_LOG_LEN.
29753 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29754 to avoid 64-bit division
29755 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29756 (grub_ntfs_rlst): Use grub_disk_addr_t.
29757
71ee178a
VS
297582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29759
29760 Eliminate grub-fstest 4Gib barrier.
29761
29762 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29763 (read_file): Fix error reporting.
29764
2520d4b8
VS
297652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29766
29767 Eliminate hexdump 4Gib barrier.
29768
29769 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29770 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29771
e1f27065
VS
297722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29773
29774 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29775 Fixes amarsh bug.
29776
1a0f7f45
RM
297772009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29778
29779 Remove miscellaneous files in distclean target.
29780
29781 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29782
c631d9fb
CW
297832009-12-09 Colin Watson <cjwatson@ubuntu.com>
29784
29785 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29786 if they're already set. This resolves the conflict between my
29787 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29788 fixing the --grub-probe option again.
29789 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29790 change on 2009-10-06, so that we now once again source
29791 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29792
7c7b6106
RM
297932009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29794
29795 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29796 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29797 `util/devicemap.c'.
29798
e3069ec1
CPE
297992009-12-08 Carles Pina i Estany <carles@pina.cat>
29800
29801 * include/grub/misc.h (grub_printf_): New declaration.
29802 * kern/misc.c (grub_printf_): New definition.
29803 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29804 instead of `grub_printf' and `_'.
29805 * normal/menu_entry.c (store_completion): Likewise.
29806 (run): Likewise.
29807 (grub_menu_entry_run): Likewise.
29808 * normal/menu_text.c (grub_wait_after_message): Likewise.
29809 (notify_booting): Likewise.
29810 (notify_fallback): Likewise.
29811 (notify_execution_failure): Likewise.
29812
d6ceebf1
CW
298132009-12-07 Colin Watson <cjwatson@ubuntu.com>
29814
29815 * configure.ac: Check for vasprintf.
29816 * util/misc.c (asprintf): Move allocation from here ...
29817 (vasprintf): ... to here. New function.
29818 (xasprintf): New function.
29819 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29820 prototypes.
29821 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29822 * util/grub-mkfont.c (write_font): Likewise.
29823 * util/grub-probe.c (probe): Likewise.
29824 * util/hostdisk.c (make_device_name): Likewise.
29825
de6daa8b
DM
298262009-12-06 David S. Miller <davem@sunset.davemloft.net>
29827
29828 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29829 anything even prefixed with 'cdrom' as a cdrom.
29830
0ad46fd7 298312009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29832
29833 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29834 mount points.
29835
98d3dc02
CPE
298362009-12-05 Carles Pina i Estany <carles@pina.cat>
29837
29838 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29839 grub_gettext_msg_list.
29840 (grub_gettext_gettranslation_from_position): Return const char *
29841 and not char *.
a2c1332b 29842 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29843 returns from the list if existing there.
29844 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29845 (grub_gettext_delete_list): Delete the list.
29846 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29847 lang environment variable is changed.
29848 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29849
b283f108
VS
298502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29851
29852 Rename kernel.mod to kernel.img.
29853
29854 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29855 (kernel_mod_EXPORTS): Rename to ...
29856 (kernel_img_EXPORTS): ... this.
29857 (kernel_mod_SOURCES): Rename to ...
29858 (kernel_img_SOURCES): ... this.
29859 (kernel_mod_HEADERS): Rename to ...
29860 (kernel_img_HEADERS): ... this. All users updated.
29861 (kernel_mod_CFLAGS): Rename to ...
29862 (kernel_img_CFLAGS): ... this.
29863 (kernel_mod_ASFLAGS): Rename to ...
29864 (kernel_img_ASFLAGS): ... this.
29865 (kernel_mod_LDFLAGS): Rename to ...
29866 (kernel_img_LDFLAGS): ... this.
29867 * conf/x86_64-efi.rmk: Likewise.
29868 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29869 (read_kernel_image): ... this. All users updated.
29870 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29871
69055f8a
CPE
298722009-12-05 Carles Pina i Estany <carles@pina.cat>
29873
29874 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29875 (print_spaces): New function.
29876 (grub_print_ucs4): New function.
29877 (getstringwidth): New function.
29878 (print_message_indented): New function.
29879 (print_message): Gettexttize strings using print_message_indented.
29880 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29881 width.
29882 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29883 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29884 Gettextize.
29885 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29886 string.
29887 (run): Likewise.
29888 (grub_menu_entry_run): Likewise.
29889 * PO/POTFILES: Add normal/menu_entry.c.
29890
f616f51c
VS
298912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29892
29893 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29894
57bbe3be
CPE
298952009-12-05 Carles Pina i Estany <carles@pina.cat>
29896
29897 * util/grub-install.in: Install gettext .mo files.
29898 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29899
013d67a1
CPE
299002009-12-05 Carles Pina i Estany <carles@pina.cat>
29901
29902 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29903 grub_dprintf.
29904
fb954db0
RM
299052009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29906
29907 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29908 non-firmware-dependant one in realmode.S takes precedence.
29909
6b8474f8
RM
299102009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * commands/halt.c: Replace misc arch-specific headers with
29913 `<grub/misc.h>'.
29914 * commands/reboot.c: Likewise.
29915 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29916 `<grub/misc.h>'.
29917 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29918 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29919 (kernel_img_SOURCES): ... to here.
29920
29921 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29922 * include/grub/i386/pc/init.h: Likewise.
29923 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29924 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29925
29926 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29927
29928 * include/grub/i386/halt.h: Remove.
29929 * include/grub/i386/reboot.h: Likewise.
29930
29931 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29932
4b2e6ca2
DM
299332009-12-03 David S. Miller <davem@sunset.davemloft.net>
29934
29935 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29936 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29937 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29938 "progname.h"
29939 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29940 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29941 (usage): Add missing comma in printf.
29942
5239348f
RM
299432009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29944
29945 Use the same reboot approach on i386 coreboot and qemu as we do on
29946 BIOS.
29947
29948 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29949 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29950 * kern/i386/reboot.c: Remove.
29951 * include/grub/i386/reboot.h (grub_reboot): Export function.
29952 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29953 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29954 0xf000:0xfff0 instead of 0xffff:0x0000.
29955 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29956 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29957
ef34cbd4
RM
299582009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29959
29960 Fix $srcdir != $objdir build.
29961
29962 * Makefile.in (po/%.po): Rewrite as ...
29963 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29964
dc9837ea
ST
299652009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29966
29967 Fix GNU/Hurd grub-install crash.
29968 * util/grub-probe.c (probe): Try to access `path' only when it is not
29969 NULL.
29970
2f857f98
VS
299712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29972
29973 Correct module naming.
29974
29975 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29976 (GRUB_MOD_INIT(efi_uga)): ... to this
29977 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29978 (GRUB_MOD_FINI(efi_uga)): ... to this
29979 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29980 (GRUB_MOD_INIT(efi_gop)): ... to this
29981 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29982 (GRUB_MOD_FINI(efi_gop)): ... to this
29983
c5448046
RM
299842009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29985
29986 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29987 translatable.
29988 (usage): Translate `arg' strings using gettext().
29989 Thanks to Jordi Mallach for the suggestion.
29990
c85184ad
VS
299912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29992
29993 GOP support. Based on patch from Bean
29994 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29995
29996 * video/efi_gop.c: New file.
29997 * include/grub/efi/graphics_output.h: Likewise.
29998 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29999 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30000 variables.
30001 * conf/x86_64-efi.rmk: Likewise.
30002
8a4c48d8
VS
300032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 Rename efi_fb to efi_uga.
30006
30007 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30008 'efi_uga.mod'.
30009 (efi_fb_mod_SOURCES): Rename this ...
30010 (efi_uga_mod_SOURCES): ... to this.
30011 (efi_fb_mod_CFLAGS): Rename this ...
30012 (efi_uga_mod_CFLAGS): ... to this.
30013 (efi_fb_mod_LDFLAGS): Rename this ...
30014 (efi_uga_mod_LDFLAGS): ... to this.
30015 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30016 'efi_uga.mod'.
30017 (efi_fb_mod_SOURCES): Rename this ...
30018 (efi_uga_mod_SOURCES): ... to this.
30019 (efi_fb_mod_CFLAGS): Rename this ...
30020 (efi_uga_mod_CFLAGS): ... to this.
30021 (efi_fb_mod_LDFLAGS): Rename this ...
30022 (efi_uga_mod_LDFLAGS): ... to this.
30023 * video/efi_fb.c: Move this ...
30024 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30025
fb6c1a7b
RM
300262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * po/README: New file. Explain our PO file workflow.
30029
3bc7896c
RM
300302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30031
30032 * po/ChangeLog: Remove. Move relevant entries back to ...
30033 * ChangeLog: ... here.
30034 * po/ca.po: Remove (now handled by TLP).
30035 * po/id.po: Likewise.
30036 * po/zh_CN.po: Likewise.
30037 * Makefile.in (LINGUAS): Initialize in a way that supports
30038 empty set.
30039
9ed4841d
RM
300402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30041
30042 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30043 reliing on po/LINGUAS.
30044 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30045 (po/%.po): ... this.
30046
0ad46fd7 300472009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30048
30049 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30050 (main): Use `program_name' instead of nonexistent `progname'.
30051
e30dd392
FZ
300522009-11-26 Felix Zielcke <fzielcke@z-51.de>
30053
30054 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30055 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30056
7656de4f
RM
300572009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30058
30059 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30060 commit.
30061 * conf/i386-efi.rmk: Likewise.
30062 * conf/i386-ieee1275.rmk: Likewise.
30063 * conf/powerpc-ieee1275.rmk: Likewise.
30064 * conf/sparc64-ieee1275.rmk: Likewise.
30065 * conf/x86_64-efi.rmk: Likewise.
30066
db77c4d4
FZ
300672009-11-26 Felix Zielcke <fzielcke@z-51.de>
30068
30069 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30070
a755bb04
FZ
300712009-11-26 Felix Zielcke <fzielcke@z-51.de>
30072
30073 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30074
8a4c07fd
RM
300752009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30076
30077 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30078 (grub_mkdevicemap_SOURCES): New variable.
30079 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30080 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30081 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30082 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30083 (grub_mkdevicemap_SOURCES): Remove.
30084 * conf/i386-efi.rmk: Likewise.
30085 * conf/i386-ieee1275.rmk: Likewise.
30086 * conf/i386-pc.rmk: Likewise.
30087 * conf/powerpc-ieee1275.rmk: Likewise.
30088 * conf/sparc64-ieee1275.rmk: Likewise.
30089 * conf/x86_64-efi.rmk: Likewise.
30090 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30091 (usage): Fix strings to use `program_name'.
30092 (main): Initialize gettext.
30093 * util/grub-editenv.c: Likewise.
30094 * util/grub-emu.c: Likewise.
30095 * util/grub-fstest.c: Likewise.
30096 * util/grub-mkdevicemap.c: Likewise.
30097 * util/grub-mkfont.c: Likewise.
30098 * util/grub-mkrelpath.c: Likewise.
30099 * util/grub-pe2elf.c: Likewise.
30100 * util/grub-probe.c: Likewise.
30101 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30102 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30103 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30104
30105 * util/misc.c: Include `"progname.h"'.
30106 (progname): Remove variable.
30107 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30108
6f61ed55
FZ
301092009-11-25 Felix Zielcke <fzielcke@z-51.de>
30110
30111 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30112 printf and print a newline after the menuentry header line.
30113 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30114
f022876b
FZ
301152009-11-25 Felix Zielcke <fzielcke@z-51.de>
30116
30117 autoconf >= 2.60 support $(localedir).
30118
30119 * INSTALL: Note that autoconf 2.60 is required.
30120 * configure.ac (AC_PREREQ): Bump to 2.60.
30121 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30122 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30123
6717926e
YB
301242009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30125
30126 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30127 aclocal is run.
30128
08806a54
RM
301292009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30130
30131 * normal/main.c (grub_normal_read_line): Fix off-by-one
30132 buffer overflow.
30133
13b33fba
RM
301342009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30135
30136 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30137 "parser.grub" in grub_command_execute() call.
30138
4a8572e9
CPE
301392009-11-24 Carles Pina i Estany <carles@pina.cat>
30140
30141 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30142 * conf/i386-efi.rmk: Likewise.
30143 * conf/i386-ieee1275.rmk: Likewise.
30144 * conf/i386-pc.rmk: Likewise.
30145 * conf/powerpc-ieee1275.rmk: Likewise.
30146 * conf/sparc64-ieee1275.rmk: Likewise.
30147 * conf/x86_64-efi.rmk: Likewise.
30148 * gettext/gettex.c: Include <grub/i18n.h>.
30149 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30150 here ...
30151 * include/grub/i18n.h: ... to here
30152 * include/grub/i18n.h: ... to here.
30153 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30154 (grub_gettext_dummy): Move above user.
4a8572e9 30155
bee48093
FZ
301562009-11-24 Felix Zielcke <fzielcke@z-51.de>
30157
30158 * util/Makefile.in (install-local): Convert a `for' into a normal
30159 shell expansion.
30160
a031e91c
RM
301612009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30162
30163 * autogen.sh: Add automake call.
30164 * config.guess: Remove.
30165 * config.sub: Likewise.
30166 * install-sh: Likewise.
30167
26bec39d
FZ
301682009-11-24 Felix Zielcke <fzielcke@z-51.de>
30169
30170 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30171
8e2532fd
FZ
301722009-11-24 Felix Zielcke <fzielcke@z-51.de>
30173
30174 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30175 function to a normal shell `for'.
30176
fefa1b7d
FZ
301772009-11-24 Felix Zielcke <fzielcke@z-51.de>
30178
30179 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30180
4501250b
FZ
301812009-11-24 Felix Zielcke <fzielcke@z-51.de>
30182
30183 * util/grub-mkrelpath.c: New file.
30184 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30185 (grub_mkrelpath_SOURCES): New variable.
30186 * include/grub/util/misc.h: New function prototype.
30187 * util/misc.c (make_system_path_relative_to_its_root): New function.
30188
30189 * util/grub-mkconfig_lib.in (bindir): New variable.
30190 (grub_mkrelpath): Likewise.
30191 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30192
30193 * util/probe.c (probe): Make the file path relative to its root.
30194 Change a info message to use the GRUB path. Enable again the
30195 check if we can read the file with GRUB facilities.
30196
30197 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30198 to its root.
30199
11d9778b
FZ
302002009-11-24 Felix Zielcke <fzielcke@z-51.de>
30201
30202 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30203 platform.
30204
4465287d
FZ
302052009-11-24 Felix Zielcke <fzielcke@z-51.de>
30206
30207 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30208 strncmp().
30209
62b47f22
FZ
302102009-11-24 Felix Zielcke <fzielcke@z-51.de>
30211
30212 * util/getroot.c (grub_util_is_dmraid): New function.
30213 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30214 devices as normal ones, not as LVM.
30215
1eafb9b9 302162009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30217
30218 * conf/common.rmk: Add grub-gettext_lib target and updates
30219 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30220 LDFLAGS.
30221 * gettext/gettext.c: New file. (Reads mo files).
30222 * include/grub/file.h (grub_file_pread): New prototype.
30223 * include/grub/i18n.h (_): New prototype.
30224 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30225 prototypes.
30226 * kern/misc.c (grub_gettext_dummy): New function.
30227 * normal/menu_text.c: Include <grub/i18n.h>.
30228 * normal/menu_text.c (print_timeout): Gettexttize string.
30229 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30230 * po/POTFILES: Add `normal/menu_text.c'.
30231 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30232 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30233 gettext module and defines locale_dir and lang in grub.cfg.
30234 * NEWS: Add gettext support.
30235
0fdb2568
RM
302362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30237
30238 * util/hostdisk.c: Include `<grub/i18n.h>'.
30239 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30240 (make_device_name): Rewrite using asprintf.
30241 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30242 (find_system_device): If a device is not found, generate one just
30243 by reusing the OS path name.
30244 (read_device_map): Make it permissible for device.map not to exist.
30245
f515aa62
RM
302462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30247
30248 * script/sh/execute.c: Move from here ...
30249 * script/execute.c: ... to here. Update all users.
30250 * script/sh/function.c: Move from here ...
30251 * script/function.c: ... to here. Update all users.
30252 * script/sh/lexer.c: Move from here ...
30253 * script/lexer.c: ... to here. Update all users.
30254 * script/sh/main.c: Move from here ...
30255 * script/main.c: ... to here. Update all users.
30256 * script/sh/parser.y: Move from here ...
30257 * script/parser.y: ... to here. Update all users.
30258 * script/sh/script.c: Move from here ...
30259 * script/script.c: ... to here. Update all users.
30260
f84b481b
RM
302612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30262
30263 * configure.ac: Detect all `emu' platforms. Define
30264 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30265 --enable-grub-emu logic. Disable include/grub/machine
30266 symlink on `emu' platforms.
30267
30268 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30269 * gensymlist.sh.in: Likewise.
30270
30271 * include/grub/i386/coreboot/machine.h: Remove file.
30272 * include/grub/i386/efi/machine.h: Likewise.
30273 * include/grub/i386/ieee1275/machine.h: Likewise.
30274 * include/grub/i386/pc/machine.h: Likewise.
30275 * include/grub/i386/qemu/machine.h: Likewise.
30276 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30277 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30278 * include/grub/x86_64/efi/machine.h: Likewise.
30279
30280 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30281 * commands/halt.c: Likewise.
30282 * commands/reboot.c: Likewise.
30283 * include/grub/autoefi.h: Likewise.
30284 * include/grub/i386/at_keyboard.h: Likewise.
30285 * include/grub/i386/kernel.h: Likewise.
30286 * include/grub/i386/loader.h: Likewise.
30287 * include/grub/i386/pc/memory.h: Likewise.
30288 * kern/dl.c: Likewise.
30289 * kern/i386/coreboot/init.c: Likewise.
30290 * loader/i386/bsd.c: Likewise.
30291 * loader/i386/linux.c: Likewise.
30292 * loader/multiboot_loader.c: Likewise.
30293 * term/i386/pc/serial.c: Likewise.
30294 * term/usb_keyboard.c: Likewise.
30295
30296 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30297 `<grub/machine/machine.h>'
30298 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30299 * util/misc.c: Remove `<grub/machine/machine.h>' and
30300 `<grub/machine/time.h>'.
30301
30302 * Makefile.in (enable_grub_emu): Remove variable.
30303 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30304
30305 * conf/any-emu.rmk: New file.
30306 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30307 (grub_emu_init.c): Move from here ...
30308 * conf/any-emu.rmk: ... to here.
30309
30310 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30311 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30312 * conf/any-emu.rmk: ... to here.
30313
4efeab03
RM
303142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30315
30316 * include/grub/parser.h (grub_parser_register): Document need
30317 of `name' parameter.
30318 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30319 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30320 "sh" to "grub".
30321
ea1dd8bf
RM
303222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30323
30324 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30325 `$(XGETTEXT)'.
30326 * include/grub/i18n.h (N_): New macro.
30327 * util/mkisofs/mkisofs.h: Likewise.
30328 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30329 around N_().
30330 (usage): Use gettext() to translate help strings when printing them.
30331
0c140626
RM
303322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30333
30334 Based on patch from Bean
30335 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30336
30337 * video/efi_fb.c: New file.
30338 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30339 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30340 variables.
30341 * conf/x86_64-efi.rmk: Likewise.
30342
87d58298
RM
303432009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30344
30345 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30346 * util/i386/pc/grub-setup.c: Likewise.
30347
994cc3a3
ST
303482009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30349
30350 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30351 <hurd/fs.h>
30352 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30353 file_get_storage_info to implement grub_guess_root_device.
30354
26a61d6a
FZ
303552009-11-21 Felix Zielcke <fzielcke@z-51.de>
30356
30357 * Makefile.in (target): Use make's builtin $(shell) function
30358 instead of calling directly $(SHELL) to create the locale directories,
30359 inside the $(foreach) function.
30360
74ff1dd5
FZ
303612009-11-21 Felix Zielcke <fzielcke@z-51.de>
30362
30363 * util/grub-mkrescue.in: Print an error and usage if output option
30364 has not been given.
30365
0b787d0e
FZ
303662009-11-21 Felix Zielcke <fzielcke@z-51.de>
30367
30368 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30369 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30370 root and /boot are on different devices.
30371
1164b270
RM
303722009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30373
30374 Fix build for srcdir != objdir.
30375
30376 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30377 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30378 $(srcdir).
30379 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30380 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30381 reference for input.
30382
13774a2f
RM
303832009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30384
30385 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30386 or hardlinking it). Remove -J option, Joliet is not compatible with
30387 multiple source directories.
30388
efda854e
RM
303892009-11-21 Carles Pina i Estany <carles@pina.cat>
303902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30391
30392 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30393 (process_input_dir): New function. Process an arbitrary input
30394 directory.
30395 Misc adjustments to support both "override mode" and system-wide mode.
30396
6c09890c
FZ
303972009-11-20 Felix Zielcke <fzielcke@z-51.de>
30398
30399 * configure.ac (UNIFONT_BDF): Rename to ...
30400 (FONT_SOURCE): ... this. Update all users.
30401
a797824f
FZ
304022009-11-20 Felix Zielcke <fzielcke@z-51.de>
30403
30404 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30405 to the list of unifont files to look for.
30406
cd4f42b0
RM
304072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30408
30409 Patch from Joe Auricchio <jauricchio@gmail.com>
30410 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30411 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30412 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30413
393c783d
FZ
304142009-11-19 Felix Zielcke <fzielcke@z-51.de>
30415
30416 * Makefile.in (install-local): Add a missing backslash.
30417
b2f1e327
FZ
304182009-11-19 Felix Zielcke <fzielcke@z-51.de>
30419
30420 * include/grub/x86_64/io.h: New file.
30421
f577f7a0
RM
304222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30423
30424 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30425 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30426 Include `"progname.h"'.
30427 (main): Initialize gettext.
30428 * util/i386/pc/grub-setup.c: Gettexttize.
30429 * util/i386/pc/grub-mkimage.c: Likewise.
30430
30431 * Makefile.in (po/*.po): Redefine as ...
30432 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30433
3bc7896c
RM
30434 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30435
c37943b6
RM
304362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30437
30438 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30439 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30440 (program_name): Remove.
30441 (main): Initialize gettext support.
6323f705
RM
30442 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30443 Include `<libintl.h>'.
30444 (_): New macro.
c37943b6
RM
30445
30446 * util/mkisofs/eltorito.c: Gettexttize.
30447 * util/mkisofs/joliet.c: Likewise.
30448 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30449 * util/mkisofs/multi.c: Likewise.
30450 * util/mkisofs/rock.c: Likewise.
30451 * util/mkisofs/tree.c: Likewise.
30452 * util/mkisofs/write.c: Likewise.
30453
3bc7896c
RM
30454 * po/POTFILES: Update with new files.
30455
5ce77c6e
RM
304562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30457
30458 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30459 * util/mkisofs/iso9660.h: Likewise.
30460 * util/mkisofs/joliet.c: Likewise.
30461 * util/mkisofs/mkisofs.c: Likewise.
30462 * util/mkisofs/mkisofs.h: Likewise.
30463 * util/mkisofs/rock.c: Likewise.
30464 * util/mkisofs/tree.c: Likewise.
30465 * util/mkisofs/write.c: Likewise.
30466
30467 * util/mkisofs/eltorito.c (rcsid): Remove.
30468 * util/mkisofs/hash.c: Likewise.
30469 * util/mkisofs/joliet.c: Likewise.
30470 * util/mkisofs/name.c: Likewise.
30471 * util/mkisofs/rock.c: Likewise.
30472 * util/mkisofs/tree.c: Likewise.
30473 * util/mkisofs/write.c: Likewise.
30474
1dabbc77
RM
304752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30478 instead of static allocation.
30479 * util/mkisofs/match.h: Likewise.
30480
633877cb
RM
304812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30482
3bc7896c
RM
30483 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30484 and `util/grub.d/10_linux.in'.
633877cb
RM
30485 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30486 translatable Shell files.
30487
af1c0c85
RM
304882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30489
30490 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30491
769ae37b
RM
304922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30493
30494 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30495 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30496 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30497 Add gettext initialization.
30498 (kfreebsd_entry): Make menuentry output translatable.
30499
305002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30501
30502 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30503 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30504 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30505 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30506 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30507 * po/LINGUAS: New file.
769ae37b
RM
30508
305092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30510
30511 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30512 other things).
30513 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30514 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30515 bindtextdomain() calls for gettext initialization.
30516
305172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30518
30519 * gnulib/progname.c: New file (imported from Gnulib).
30520 * gnulib/progname.h: Likewise.
30521 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30522 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30523 (usage): Replace `progname' with `program_name'.
30524 (main): Use set_program_name() for program name initialization.
30525
305262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30529 from here ...
30530 * Makefile.in (CPPFLAGS): ... to here.
30531
305322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30533
30534 * aclocal.m4: Move from here ...
30535 * acinclude.m4: ... to here.
30536 * autogen.sh: Add call to `aclocal'.
30537 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30538
305392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30540
30541 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30542 (LINGUAS): New variable.
30543 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30544 (install-local): Install MO files.
30545 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30546 * include/grub/i18n.h: New file.
3bc7896c
RM
30547 * po/POTFILES: New file.
30548 * po/ca.po: New file.
769ae37b
RM
30549 * util/grub.d/10_linux.in (bindir): New variable.
30550 Add gettext initialization.
30551 (linux_entry): Make menuentry output translatable.
30552 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30553 (usage): Make --help output translatable.
30554 (main): Initialize gettext.
30555
02c0a6ad
RM
305562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30557
30558 * import_gcry.py: New file (written by Vladimir with minor
30559 adjustments).
30560 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30561 ciphers.
30562 * INSTALL: Document that Python is required for bootstrap.
30563
305642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30565
30566 Import ciphers from libgcrypt 1.4.4.
30567
30568 * lib/libgcrypt/cipher/ChangeLog
30569 * lib/libgcrypt/cipher/ac.c
30570 * lib/libgcrypt/cipher/arcfour.c
30571 * lib/libgcrypt/cipher/bithelp.h
30572 * lib/libgcrypt/cipher/blowfish.c
30573 * lib/libgcrypt/cipher/camellia-glue.c
30574 * lib/libgcrypt/cipher/camellia.c
30575 * lib/libgcrypt/cipher/camellia.h
30576 * lib/libgcrypt/cipher/cast5.c
30577 * lib/libgcrypt/cipher/cipher.c
30578 * lib/libgcrypt/cipher/crc.c
30579 * lib/libgcrypt/cipher/des.c
30580 * lib/libgcrypt/cipher/dsa.c
30581 * lib/libgcrypt/cipher/ecc.c
30582 * lib/libgcrypt/cipher/elgamal.c
30583 * lib/libgcrypt/cipher/hash-common.c
30584 * lib/libgcrypt/cipher/hash-common.h
30585 * lib/libgcrypt/cipher/hmac-tests.c
30586 * lib/libgcrypt/cipher/md.c
30587 * lib/libgcrypt/cipher/md4.c
30588 * lib/libgcrypt/cipher/md5.c
30589 * lib/libgcrypt/cipher/primegen.c
30590 * lib/libgcrypt/cipher/pubkey.c
30591 * lib/libgcrypt/cipher/rfc2268.c
30592 * lib/libgcrypt/cipher/rijndael-tables.h
30593 * lib/libgcrypt/cipher/rijndael.c
30594 * lib/libgcrypt/cipher/rmd.h
30595 * lib/libgcrypt/cipher/rmd160.c
30596 * lib/libgcrypt/cipher/rsa.c
30597 * lib/libgcrypt/cipher/seed.c
30598 * lib/libgcrypt/cipher/serpent.c
30599 * lib/libgcrypt/cipher/sha1.c
30600 * lib/libgcrypt/cipher/sha256.c
30601 * lib/libgcrypt/cipher/sha512.c
30602 * lib/libgcrypt/cipher/tiger.c
30603 * lib/libgcrypt/cipher/twofish.c
30604 * lib/libgcrypt/cipher/whirlpool.c
30605
af2f93ac
RM
306062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30607
30608 Fix build for systems without error().
30609
30610 * gnulib/error.c: New file (imported from Gnulib).
30611 * gnulib/error.h: Likewise.
30612 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30613 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30614 (this variable is now used by error()).
30615
73fb3dd5
FZ
306162009-11-16 Felix Zielcke <fzielcke@z-51.de>
30617
814f5e96
FZ
30618 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30619 instead of relying that char is signed.
73fb3dd5 30620
a691ca33
VS
306212009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30622
30623 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30624 blocksize different from specified.
30625 (grub_pxefs_read): Likewise.
30626
2af8f0f4
FZ
306272009-11-16 Felix Zielcke <fzielcke@z-51.de>
30628
30629 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30630
30631 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30632 (grub_ata_readwrite): Likewise. Update 2 format strings.
30633 (grub_atapi_read): Likewise.
30634
30635 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30636 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30637 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30638 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30639 (ata_mod_LDFLAGS): Move from here ...
30640 * conf/i386.rmk: ... to here ...
30641 * conf/x86_64-efi.rmk: ... and here.
30642 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30643 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30644
83bdecaf
RM
306452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 Relicense multiboot.h, with RMS' blessing.
30648
30649 * include/multiboot.h: Change to X11 license.
30650
fd6fd3d7
RM
306512009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30652
30653 Support --version in grub-mkisofs.
30654
30655 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30656 (OPTION_VERSION): New macro.
30657 (ld_options): Recognize --version.
30658 (usage): Move `program_name' from here ...
30659 (program_name): ... to here. Add `static' qualifier.
30660 (main): Recognize `OPTION_VERSION'.
30661
16a88c49
FZ
306622009-11-15 Felix Zielcke <fzielcke@z-51.de>
30663
30664 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30665 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30666
a4158476
RM
306672009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30668
30669 Fix help2man generation for mkisofs.
30670
30671 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30672 (usage): Send output to stdout (rather than stderr).
30673
fc2208b0
RM
306742009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30675
30676 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30677 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30678 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30679 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30680 (bin_SCRIPTS): Add `grub-mkfloppy'.
30681 (grub_mkfloppy_SOURCES): New variable.
30682
30683 * util/grub-mkrescue.in: New file.
30684 * util/i386/pc/grub-mkfloppy.in: New file.
30685
30686 * util/i386/coreboot/grub-mkrescue.in: Remove.
30687 * util/i386/pc/grub-mkrescue.in: Remove.
30688
8d0edf4a
RM
306892009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30690
30691 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30692 from here ...
30693 * include/multiboot.h (struct multiboot_header): ... to here. Update
30694 all users.
30695 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30696 from here ...
30697 * include/multiboot.h (struct multiboot_info): ... to here. Update
30698 all users.
30699 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30700 from here ...
30701 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30702 Update all users.
30703 * include/grub/multiboot.h (struct grub_mod_list): Move
30704 from here ...
30705 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30706 Update all users.
30707
a73f5969
RM
307082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30709
30710 * include/multiboot2.h (multiboot_word): Rename from this ...
30711 (multiboot2_word): ... to this. Update all users.
30712 (multiboot_header): Rename from this ...
30713 (multiboot2_header): ... to this. Update all users.
30714 (multiboot_tag_header): Rename from this ...
30715 (multiboot2_tag_header): ... to this. Update all users.
30716 (multiboot_tag_start): Rename from this ...
30717 (multiboot2_tag_start): ... to this. Update all users.
30718 (multiboot_tag_name): Rename from this ...
30719 (multiboot2_tag_name): ... to this. Update all users.
30720 (multiboot_tag_module): Rename from this ...
30721 (multiboot2_tag_module): ... to this. Update all users.
30722 (multiboot_tag_memory): Rename from this ...
30723 (multiboot2_tag_memory): ... to this. Update all users.
30724 (multiboot_tag_unused): Rename from this ...
30725 (multiboot2_tag_unused): ... to this. Update all users.
30726 (multiboot_tag_end): Rename from this ...
30727 (multiboot2_tag_end): ... to this. Update all users.
30728
1c8927f0
RM
307292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30730
30731 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30732 this platform we should support Multiboot1 first.
30733
30734 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30735 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30736 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30737
6e1e0d89
RM
307382009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30739
30740 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30741 of write calls (converting them to fwrite() if they aren't already).
30742 (get_torito_desc): Likewise.
30743 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30744
7f2b34d8
RM
307452009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30746
30747 * util/i386/pc/grub-install.in: Move from here ...
30748 * util/grub-install.in: ... to here. Update all users.
30749
c0ef3311
CW
307502009-11-11 Colin Watson <cjwatson@ubuntu.com>
30751
30752 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30753
e1f240ff
RM
307542009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30755
30756 Support for El Torito without floppy emulation.
30757
30758 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30759 (init_boot_catalog): Improve error handling.
30760 (get_torito_desc): Don't use floppy emulation unless requested by
30761 user. Patch boot information table when requested via
30762 `-boot-info-table'.
30763 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30764 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30765 (use_boot_info_table): New variables.
30766 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30767 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30768 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30769 `--eltorito-emul-floppy'.
30770 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30771 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30772 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30773 (use_boot_info_table, get_731): New prototypes.
30774 * util/mkisofs/write.c (get_731): New function.
30775
af7d4de5
FZ
307762009-11-11 Felix Zielcke <fzielcke@z-51.de>
30777
30778 Fix the generation of the man page.
30779
30780 * util/pc/i386/grub-install.in: Source
30781 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30782
2c55dbc0
RM
307832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30784
30785 Large file support for grub-mkisofs.
30786
30787 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30788 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30789 (session_start): Upgrade type to `uint64_t'. Update all users.
30790 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30791 (struct directory_entry): Upgrade type of `starting_block' and
30792 `size' to `uint64_t'. Update all users.
30793 (struct deferred): Remove unused structure.
30794 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30795 Update all users.
30796 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30797 file is larger than `UINT32_MAX'.
30798 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30799 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30800 return value.
30801 (struct deferred_write): Upgrade type of `extent' and `size' to
30802 `uint64_t'. Update all users.
30803 (last_extent_written): Upgrade type to `uint64_t'. Update all
30804 users.
30805 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30806 Update all users. Upgrade type of `remain' to `int64_t' and
30807 `use' to `size_t'. Use error() to handle fread() errors.
30808 (write_files): Rely on write_one_file() rather than calling
30809 xfwrite() directly.
30810
6a9cead5
FZ
308112009-11-09 Felix Zielcke <fzielcke@z-51.de>
30812
30813 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30814
4825d790
RM
308152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30816
30817 * util/mkisofs/fnmatch.c: Remove.
30818 * util/mkisofs/getopt1.c: Likewise.
30819 * util/mkisofs/getopt.c: Likewise.
30820 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30821 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30822 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30823 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30824 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30825
30826 * configure.ac: Detect `mingw32msvc' host_os.
30827 Check for lstat(), getuid() and getgid().
30828
30829 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30830 instances of `u_char' with `uint8_t'.
30831
30832 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30833 [!HAVE_GETUID] (getuid): New function (stub).
30834 [!HAVE_GETGID] (getgid): Likewise.
30835 [!HAVE_LSTAT] (lstat): Likewise.
30836 [!S_IROTH] (S_IROTH): New macro (dummy).
30837 [!S_IRGRP] (S_IRGRP): Likewise.
30838
84b860d8
RM
308392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30842 conditional expression).
30843
66e9b712
RM
308442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 Import from Gnulib.
30847
30848 * gnulib/fnmatch.c: New file.
30849 * gnulib/fnmatch.h: Likewise.
30850 * gnulib/fnmatch_loop.c: Likewise.
30851 * gnulib/getopt.c: Likewise.
30852 * gnulib/getopt.h: Likewise.
30853 * gnulib/getopt1.c: Likewise.
30854 * gnulib/getopt_int.h: Likewise.
30855 * gnulib/gettext.h: Likewise.
30856
34f4a5b0
RM
308572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30858
30859 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30860 * normal/handler.c (read_handler_list): Likewise.
30861
ac451143
RM
308622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 Misc cleanup.
30865
30866 * kern/command.c (grub_register_command_prio): Use
30867 grub_zalloc() instead of explicitly zeroing data.
30868 * kern/list.c: Include `<grub/mm.h>'.
30869 (grub_named_list_find): Replace `0' with `NULL'.
30870 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30871 (fs_module_list): Change type to `grub_named_list_t'. Update all
30872 users.
30873 * normal/dyncmd.c (read_command_list): Add space between function
30874 call and parenthesis.
30875 * normal/handler.c (read_handler_list): Likewise.
30876
4089b167
RM
308772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30878
30879 * normal/auth.c (punishment_delay): Moved from here ...
30880 (grub_auth_strcmp): ... to here (inside function).
30881
325f5037
RM
308822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * include/grub/list.h (struct grub_named_list): Remove `const'
30885 qualifier from `name'.
30886 (struct grub_prio_list): Likewise.
30887
7aea29a3
RM
308882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30889
30890 * normal/auth.c: Include `<grub/time.h>'.
30891 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30892
3fd6f044
RM
308932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30894
30895 * normal/auth.c (punishment_delay): New variable.
30896 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30897 (grub_auth_check_authentication): Punish failed login attempts with
30898 an incremental (2^N) delay.
30899
a4cd68e4
RM
309002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30901
30902 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30903 path with $(srcdir).
30904
7ad12f43
VS
309052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30906
30907 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30908
c1129f03
RM
309092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30910
30911 * util/i386/coreboot/grub-mkrescue.in: New file.
30912 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30913 variables.
30914
30915 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30916 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30917 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30918 requirements.
30919 * util/mkisofs/defaults.h: New file.
30920 * util/mkisofs/eltorito.c: Likewise.
30921 * util/mkisofs/exclude.h: Likewise.
30922 * util/mkisofs/fnmatch.c: Likewise.
30923 * util/mkisofs/getopt.c: Likewise.
30924 * util/mkisofs/getopt1.c: Likewise.
30925 * util/mkisofs/hash.c: Likewise.
30926 * util/mkisofs/include/fctldefs.h: Likewise.
30927 * util/mkisofs/include/mconfig.h: Likewise.
30928 * util/mkisofs/include/prototyp.h: Likewise.
30929 * util/mkisofs/include/statdefs.h: Likewise.
30930 * util/mkisofs/iso9660.h: Likewise.
30931 * util/mkisofs/joliet.c: Likewise.
30932 * util/mkisofs/match.c: Likewise.
30933 * util/mkisofs/match.h: Likewise.
30934 * util/mkisofs/mkisofs.c: Likewise.
30935 * util/mkisofs/mkisofs.h: Likewise.
30936 * util/mkisofs/multi.c: Likewise.
30937 * util/mkisofs/name.c: Likewise.
30938 * util/mkisofs/rock.c: Likewise.
30939 * util/mkisofs/tree.c: Likewise.
30940 * util/mkisofs/write.c: Likewise.
30941
ec8bb77d
VS
309422009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30943
30944 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30945 being insecure.
30946
3716b12c
RM
309472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30948
30949 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30950 `grub-mkimage' (and use $0 when possible).
30951
b97b7b91
RM
309522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30955 error message for excessively large memory map.
30956
04114812
RM
309572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30958
30959 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30960 executable bit.
30961
e4eb2373
RM
309622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30963
30964 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30965 message for coreboot users.
30966
c926e1d5 309672009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30968
30969 Fix build with GNU gold.
30970
30971 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30972 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30973 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30974 link addresses.
30975 * aclocal.m4: Likewise.
30976
86e5b1db 309772009-11-04 Felix Zielcke <fzielcke@z-51.de>
30978
30979 * configure.ac (AC_PREREQ): Bump to 2.59d.
30980 * INSTALL: Make it more clear when Autoconf and Ruby are
30981 needed and when to run `./autogen.sh'.
30982
246cd78f 309832009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30984
30985 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30986 OSes.
30987
4f9dfb37 309882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30989
30990 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30991
b82bd5e1 309922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30993
30994 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30995 giving it to GNU Mach.
30996
ff1a9bca 309972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30998
30999 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31000 GNU partition number to get internal GRUB partition number.
31001
61697d9c 310022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31003
31004 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31005 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31006
a50569e1 310072009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31008
31009 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31010 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31011 case.
31012
5b153867 310132009-11-01 Felix Zielcke <fzielcke@z-51.de>
31014
31015 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31016
d9e2cd70 310172009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31018
31019 Fix build problem.
31020
31021 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31022 `-isystem=$(srcdir)/include'.
31023
805111a4 310242009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31025
31026 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31027 checked (grub-install doesn't currently rely on it).
31028
fa6e945f 310292009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 Revert SVN r2660.
31032
31033 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31034 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31035 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31036 * conf/i386-ieee1275.rmk: Likewise.
31037 * conf/i386-pc.rmk: Likewise.
31038 * conf/powerpc-ieee1275.rmk: Likewise.
31039 * conf/sparc64-ieee1275.rmk: Likewise.
31040 * conf/x86_64-efi.rmk: Likewise.
31041
cee15086 310422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31043
31044 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31045
95b9239e 310462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31047
31048 * include/grub/misc.h: Stop checking for APPLE_CC.
31049
2ed19dfd 310502009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31051
31052 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31053 doesn't cause an infinite call loop.
31054
fdcdde19 310552009-10-28 Felix Zielcke <fzielcke@z-51.de>
31056
31057 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31058 strings.
31059
cefabfe1 310602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31061
31062 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31063 variable.
31064 * Makefile.in: Likewise.
31065
ed96ab6d 310662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31067
31068 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31069
0579b753 310702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31073
478df409 310742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31077
083d1679 310782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31079
31080 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31081 from here ...
31082 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31083
5947ae32 310842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31085
31086 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31087 in $(MAKEINFO) invocation. This makes it clear in output that
31088 errors are being ignored.
31089
94180ff6 310902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31091
31092 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31093 from here ...
31094 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31095 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31096 * conf/i386-ieee1275.rmk: Likewise.
31097 * conf/i386-pc.rmk: Likewise.
31098 * conf/powerpc-ieee1275.rmk: Likewise.
31099 * conf/sparc64-ieee1275.rmk: Likewise.
31100 * conf/x86_64-efi.rmk: Likewise.
31101
9031b03a 311022009-10-26 Colin Watson <cjwatson@ubuntu.com>
31103
31104 * util/grub-editenv.c (main): If only a command is given, use
31105 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31106 (usage): FILENAME is now optional and has a default.
31107
e4f6809b 311082009-10-26 Colin Watson <cjwatson@ubuntu.com>
31109
31110 Improve grub-mkconfig performance when there are several menu
31111 entries on a single filesystem.
31112
31113 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31114 prepare_grub_to_access_device.
31115 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31116 * util/grub.d/30_os-prober.in: Likewise.
31117
67937d4d 311182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31119
31120 * util/grub.d/10_freebsd.in: Remove.
31121 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31122 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31123
ee3756cc 311242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31125
5c35048e 31126 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31127
4dea1c6f 311282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31129
31130 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31131 grub_util_error() call.
31132
042484d7 311332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31134
31135 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31136 `reserved_first_sector' member.
31137 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31138 `reserved_first_sector' to 1.
31139 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31140 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31141 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31142 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31143 filesystems which begin at first sector.
31144 (options): New option --skip-fs-probe.
31145 (main): Handle --skip-fs-probe and pass it to setup().
31146
d64448a7 311472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31148
31149 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31150 (memset): Fix function prototype.
31151
508d42ec 311522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
311532009-10-25 Vasily Averin <vvs@parallels.com>
31154
31155 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31156 `dirent.direntlen == 0'.
31157
b240e30c 311582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31159
31160 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31161 `cpio'.
31162 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31163
346e7fbe 311642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31165
31166 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31167 `__trampoline_setup' and `__ucmpdi2'.
31168 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31169 that libgcc provides.
31170
cdb308b0 311712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31172
31173 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31174 * include/grub/sparc64/libgcc.h (memset): Likewise.
31175 * include/grub/misc.h (memset, memcmp): New function prototypes.
31176
fb26abc2 311772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31178
31179 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31180 `cpio'.
31181 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31182
f6693890 311832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31184
31185 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31186 * docs/grub.cfg: Compensate for recent change in multiboot
31187 loader (since 2009-08-14 it won't pass filename to payload).
31188 * util/grub.d/10_hurd.in: Likewise.
31189
0933cdc0 311902009-10-21 Felix Zielcke <fzielcke@z-51.de>
31191
31192 * config.guess: Update to latest version from config git
31193 repository.
31194 * config.sub: Likewise.
31195
3b2fe8c2 311962009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31197
31198 Fix build on sparc64.
31199
31200 * configure.ac: Perform checks for libgcc symbols before
31201 adding `-nostdlib' to LDFLAGS.
31202
46695a62 312032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31204
31205 Let user specify OpenBSD root device.
31206
31207 * loader/i386/bsd.c (openbsd_root): New variable.
31208 (openbsd_opts): New option 'root'.
31209 (OPENBSD_ROOT_ARG): New macro.
31210 (grub_openbsd_boot): Use 'openbsd_root'.
31211 (grub_cmd_openbsd): Fill 'openbsd_root'.
31212
d2b6b7fc 312132009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31214
31215 * NEWS: Misc adjustments.
31216
421bd7ac 312172009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31218
31219 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31220
f1d29d87 312212009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31222
31223 * configure.ac: Bump version to 1.97.
31224
6f3cd880 312252009-10-16 Colin Watson <cjwatson@ubuntu.com>
31226
31227 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31228 -mno-3dnow on x86 architectures. Some toolchains enable these
31229 features by default, but they rely on registers that aren't enabled
31230 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31231
035f7122 312322009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31233
31234 Make entry text a bit more readable.
31235
31236 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31237
44998e58 312382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31239
31240 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31241
cd2851b3 312422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31243
31244 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31245 operations.
31246
c6f3b249 312472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31248
31249 * configure.ac: Add missing dollar.
31250
6b5886ba 312512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31252
31253 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31254
31255 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31256 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31257 exports.
31258 * include/grub/sparc64/libgcc.h: Likewise. Use
31259 preprocessor conditionals.
31260
e9d66f6d 312612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31262
31263 * conf/common.rmk (grub-dumpbios): Remove rule.
31264 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31265 * util/grub-dumpbios.in: Remove file.
31266
9155bc17 312672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31268
31269 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31270 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31271
31272 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31273 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31274 users.
31275
31276 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31277 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31278 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31279 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31280 users.
31281
bf7f7a18 312822009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * term/tparm.c: Switch to GPLv3.
31285
86564c26 312862009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31287
31288 * include/grub/i386/cpuid.h: Add header protection.
31289
5c936493 312902009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31291
31292 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31293
31294 * include/grub/i386/cpuid.h: New file.
31295 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31296 (has_longmode): Rename to ...
31297 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31298 `static' attribute.
31299 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31300 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31301 on a CPU that doesn't implement AMD64 instruction set.
31302
186e7cf2 313032009-10-06 Colin Watson <cjwatson@ubuntu.com>
31304
31305 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31306 that version.texi is rebuilt on version number changes.
31307
83b65c4a 313082009-10-06 Colin Watson <cjwatson@ubuntu.com>
31309
31310 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31311 Fixes bug #27602.
31312
d244281c 313132009-10-06 Colin Watson <cjwatson@ubuntu.com>
31314
31315 * util/i386/pc/grub-install.in: Source
31316 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31317 that the --grub-probe option will work.
31318 * util/sparc64/ieee1275/grub-install.in: Likewise.
31319
da25306d 313202009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31321
31322 * configure.ac: Bump version to 1.97~beta4.
31323
e8ee83c0 313242009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31325
31326 Resync grub-mkdevicemap in x86_64-efi.
31327
31328 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31329 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31330 `util/devicemap.c'.
31331
50dcabcf 313322009-10-01 Colin Watson <cjwatson@ubuntu.com>
31333
31334 * util/grub-editenv.c (create_envblk_file): Write new block with a
31335 .new suffix and then rename it into place, to ensure atomic
31336 creation.
31337
0e51c3a7 313382009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31339
31340 Do not automatically install headers.
31341
31342 * Makefile.in (include_DATA): Remove. Update all users.
31343
31299a95 313442009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31345
31346 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31347 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31348
31349 * util/osdetect.lua: Remove.
31350 * script/lua/lauxlib.c: Likewise.
31351 * script/lua/ldebug.c: Likewise.
31352 * script/lua/grub_main.c: Likewise.
31353 * script/lua/lauxlib.h: Likewise.
31354 * script/lua/ldebug.h: Likewise.
31355 * script/lua/ltablib.c: Likewise.
31356 * script/lua/liolib.c: Likewise.
31357 * script/lua/lstrlib.c: Likewise.
31358 * script/lua/lualib.h: Likewise.
31359 * script/lua/ldo.c: Likewise.
31360 * script/lua/ldump.c: Likewise.
31361 * script/lua/ldo.h: Likewise.
31362 * script/lua/loslib.c: Likewise.
31363 * script/lua/lundump.c: Likewise.
31364 * script/lua/grub_lib.c: Likewise.
31365 * script/lua/ldblib.c: Likewise.
31366 * script/lua/lundump.h: Likewise.
31367 * script/lua/lmem.c: Likewise.
31368 * script/lua/grub_lib.h: Likewise.
31369 * script/lua/lmathlib.c: Likewise.
31370 * script/lua/lstate.c: Likewise.
31371 * script/lua/ltm.c: Likewise.
31372 * script/lua/lvm.c: Likewise.
31373 * script/lua/lmem.h: Likewise.
31374 * script/lua/lstate.h: Likewise.
31375 * script/lua/ltm.h: Likewise.
31376 * script/lua/ltable.c: Likewise.
31377 * script/lua/lvm.h: Likewise.
31378 * script/lua/llex.c: Likewise.
31379 * script/lua/lgc.c: Likewise.
31380 * script/lua/grub_lua.h: Likewise.
31381 * script/lua/loadlib.c: Likewise.
31382 * script/lua/lfunc.c: Likewise.
31383 * script/lua/lopcodes.c: Likewise.
31384 * script/lua/lparser.c: Likewise.
31385 * script/lua/ltable.h: Likewise.
31386 * script/lua/llex.h: Likewise.
31387 * script/lua/lgc.h: Likewise.
31388 * script/lua/lfunc.h: Likewise.
31389 * script/lua/lbaselib.c: Likewise.
31390 * script/lua/lopcodes.h: Likewise.
31391 * script/lua/lparser.h: Likewise.
31392 * script/lua/lzio.c: Likewise.
31393 * script/lua/linit.c: Likewise.
31394 * script/lua/lobject.c: Likewise.
31395 * script/lua/llimits.h: Likewise.
31396 * script/lua/lstring.c: Likewise.
31397 * script/lua/lzio.h: Likewise.
31398 * script/lua/lapi.c: Likewise.
31399 * script/lua/lcode.c: Likewise.
31400 * script/lua/lua.h: Likewise.
31401 * script/lua/lobject.h: Likewise.
31402 * script/lua/lstring.h: Likewise.
31403 * script/lua/lapi.h: Likewise.
31404 * script/lua/lcode.h: Likewise.
31405 * script/lua/luaconf.h: Likewise.
31406
cb8a2c38 314072009-09-26 Colin Watson <cjwatson@ubuntu.com>
31408
31409 * docs/grub.texi (Command-line and menu entry commands): Document
31410 date and echo commands.
31411
6b9b6276 314122009-09-24 Pavel Roskin <proski@gnu.org>
31413
31414 * include/grub/kernel.h (struct grub_module_header): Remove
31415 `grub_module_header_types'. Make `type' unsigned. Make `size'
31416 32-bit on all platforms.
31417 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31418 8-bit field. Use grub_host_to_target32() for `size'.
31419 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31420 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31421 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31422
4e5a02a7 314232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31424
31425 Fix "lost keypress" bug in at_keyboard.
31426
31427 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31428 Checks for readyness of input buffer (without flushing it).
31429 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31430 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31431
c6dcedf6 314322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31433
31434 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31435 size check within GRUB_MACHINE_PCBIOS section.
31436
74c958b1 314372009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31438
31439 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31440 return value.
31441 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31442 KEYBOARD_ISREADY check.
31443 (grub_at_keyboard_checkkey): Rename to ...
31444 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31445 Remove gratuitous cast.
31446
ff420223 314472009-09-23 Colin Watson <cjwatson@ubuntu.com>
31448
31449 * configure.ac: Call AC_PROG_MKDIR_P.
31450 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31451 version.texi in $(builddir) rather than $(srcdir).
31452 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31453 to makeinfo's @include search path.
31454
d96875df 314552009-09-23 Felix Zielcke <fzielcke@z-51.de>
31456
31457 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31458
9b3f8365 314592009-09-23 Felix Zielcke <fzielcke@z-51.de>
31460
31461 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31462 for `*.dpkg-new'.
31463
c44c90db 314642009-09-21 Colin Watson <cjwatson@ubuntu.com>
31465
31466 Build info documentation. Some code borrowed from Automake.
31467
31468 * configure.ac: Check for makeinfo.
31469 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31470 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31471 docs/version.texi.
31472 (MOSTLYCLEANFILES): Add vti.tmp.
31473 (docs/version.texi, docs/stamp-vti): Update automatically.
31474 (docs/grub.info): Build info documentation. Use --force and ignore
31475 errors for now.
31476 (all-local): Add $(INFOS).
31477 (install-local): Install info files.
31478 (uninstall): Uninstall info files.
31479 * docs/version.texi: Remove from revision control. This file is
31480 automatically generated on build now.
31481 * gendistlist.sh: Add `*.info'.
31482
e0b37bb5 314832009-09-21 Felix Zielcke <fzielcke@z-51.de>
31484
31485 * kern/term.c: Fix indentation.
31486
5a78865b 314872009-09-21 Felix Zielcke <fzielcke@z-51.de>
31488
31489 * util/hostdisk.c: Fix a comment.
31490
dace7e8a 314912009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31492
31493 Fix regression introduced in r2539.
31494
31495 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31496 to 0xA1.
31497
a83d079b 314982009-09-19 Colin Watson <cjwatson@ubuntu.com>
31499
31500 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31501 os-prober. Under normal operation, it does not print anything to
31502 stderr; if it does, we need to debug it, and throwing away stderr
31503 makes that excessively difficult.
a83d079b 31504
be94a509 315052009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31506
31507 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31508
63f745e8 315092009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31510
31511 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31512 AC_LANG_PROGRAM from autoconf.
31513 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31514 prototypes (fixes warning).
31515
31516 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31517 `--disable-werror' was used.
31518
bbb2a70f 315192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31520
31521 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31522 uninitialized `lastaddr'.
31523
77c24f1d 315242009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31525
0f0b8c87 31526 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31527
07197f23 315282009-09-14 Colin Watson <cjwatson@ubuntu.com>
31529
31530 * commands/test.c (get_fileinfo): Return immediately if
31531 grub_fs_probe fails.
31532
dabf1798 315332009-09-14 José Martínez <xosemp@gmail.com>
31534
31535 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31536
d52109a7 315372009-09-14 Colin Watson <cjwatson@ubuntu.com>
31538
31539 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31540 output.
31541
56532179 315422009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31543
31544 * configure.ac: Remove --enable-grub-pe2elf. Only build
31545 grub-pe2elf when needed by the build system itself.
31546 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31547
8ef070f5 315482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31549
31550 * configure.ac: Bump version to 1.97~beta3.
31551 * docs/version.texi: Likewise.
31552
61229557 315532009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31554
31555 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31556 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31557 from here ...
31558 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31559 (grub_linux_setup_video): ... to here (with some adjustments).
31560
5c9f8d84 315612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31562
31563 Fix memory corruption issue (spotted by Colin Watson).
31564
31565 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31566 causing returned size to be stored in an incorrect memory location.
31567 Fix use of uninitialized value when storing the returned size.
31568
e8f5d6e9 315692009-09-12 Yves Blusseau <blusseau@zetam.org>
31570
31571 Change clean rules to properly remove files
31572
31573 * genmk.rb: add new clean rules
31574 * Makefile.in (clean): add the new targets
31575 (mostlyclean): likewise
31576
cda2a409 315772009-09-11 Colin Watson <cjwatson@ubuntu.com>
31578
31579 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31580 to grub_uint64_t.
31581 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31582 non-resident files.
31583
86695375 315842009-09-11 Colin Watson <cjwatson@ubuntu.com>
31585
31586 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31587 part of bug #27349.
31588
8aa1541a 315892009-09-10 Felix Zielcke <fzielcke@z-51.de>
31590
31591 * util/grub-mkconfig.in: Make the created config mode 400 and
31592 print a warning if it fails.
31593
48d9bb0a 315942009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31595
31596 * util/grub.d/40_custom.in: Ask user to type custom entries below
31597 comment, rather than below 'exec tail' line.
31598
3b0521be 315992009-09-10 Colin Watson <cjwatson@ubuntu.com>
31600
31601 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31602 visible in grub.cfg.
31603
50051d55 316042009-09-10 Colin Watson <cjwatson@ubuntu.com>
31605
31606 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31607 file.
31608
c0d34387 316092009-09-10 Felix Zielcke <fzielcke@z-51.de>
31610
31611 * docs/grub.cfg: Add an example menu entry for memtest86+.
31612
80a608f3 316132009-09-09 Felix Zielcke <fzielcke@z-51.de>
31614
a2094832 31615 * config.guess: Update to latest version from config git.
80a608f3 31616 * config.sub: Likewise.
31617
99423078 316182009-09-08 Colin Watson <cjwatson@ubuntu.com>
31619
31620 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31621 unknown-command case. Fixes bug #27320.
31622
44454e4c 316232009-09-08 Felix Zielcke <fzielcke@z-51.de>
31624
31625 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31626 `help' if the command exists.
31627
e30d87ad 316282009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31629
31630 * INSTALL: Require GCC 4.1.3 or later.
31631
9a86f1ec 316322009-09-06 Yves Blusseau <blusseau@zetam.org>
31633
31634 * Makefile.in (RMKFILES): add i386-qemu.rmk
31635 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31636 $(srcdir)/stamp-h.in
31637
7f26d466 316382009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31639
31640 * util/grub-probe.c (probe): Comment out buggy codepath, which
31641 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31642 should be re-enabled after 1.97.
31643
3a613259 316442009-09-05 Felix Zielcke <fzielcke@z-51.de>
31645
31646 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31647 find searches for.
31648
197f76c7 316492009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31652 unnecessary calls to grub_error.
31653
70ba68ce 316542009-09-04 Colin Watson <cjwatson@ubuntu.com>
31655
31656 * NEWS: Mention `keystatus' and Unicode fonts.
31657
4ff0d7a4 316582009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31659
31660 * configure.ac: Bump version to 1.97~beta2.
31661 * docs/version.texi: Likewise.
31662
77c55a87 316632009-09-03 Colin Watson <cjwatson@ubuntu.com>
31664
31665 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31666 containing unwind information in some cases where it previously did
31667 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31668 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31669 discussion.
31670
f79572cd 316712009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31672
31673 Embedding loadenv module into grub-emu
31674
31675 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31676 commands/loadenv.c
31677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31678 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31681 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31682 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31683
93a81088 316842009-09-03 Magnus Granberg <zorry@ume.nu>
31685
31686 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31687 include -fPIE in the default specs.
31688 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31689 to TARGET_CFLAGS.
31690
160034b2 316912009-09-03 Felix Zielcke <fzielcke@z-51.de>
31692
31693 * INSTALL: Note that GNU Bison 2.3 or later is required.
31694
087c07c4 316952009-09-03 Colin Watson <cjwatson@ubuntu.com>
31696
31697 * kern/i386/pc/startup.S: Fix typo.
31698
cbf978c0 316992009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31700
31701 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31702 according to GCS.
31703
317042009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31705
31706 * docs/grub.texi (Naming convention): Describe one-based partition
31707 numbering.
31708 (Device syntax): Likewise.
31709 (File name syntax): Likewise.
31710 (Block list syntax): Likewise.
31711 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31712 menu.lst.
31713 (File name syntax): Likewise.
31714 (Command-line and menu entry commands): Document acpi, blocklist,
31715 crc, export, insmod, keystatus, ls, set, and unset commands.
31716
f3e8cdfd 317172009-09-02 Colin Watson <cjwatson@ubuntu.com>
31718
31719 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31720 to avoid implying that only one of --shift, --ctrl, or --alt may be
31721 used.
31722
c0bc232b 317232009-09-02 Colin Watson <cjwatson@ubuntu.com>
31724
31725 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31726 rather than comparing against S_IFREG, which will almost never work.
31727
aa0f752d 317282009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31729
31730 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31731 (write_blocklists): Likewise.
31732
ecb3166a 317332009-09-01 Colin Watson <cjwatson@ubuntu.com>
31734
31735 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31736 argument to grub_printf.
31737
c403a125 317382009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31739
31740 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31741 non GNU test.
31aba781 31742
b5e7312c 317432009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31744
31745 * kern/file.c (grub_file_read): Spelling fix
31746
fe00f472 317472009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31748
31749 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31750 loading of headers in some cases.
31751
cc55302e 317522009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31753
31754 * configure.ac: Bump version to 1.97~beta1.
31755 * docs/version.texi: Likewise.
31756
5c90cdd2 317572009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31758
31759 * include/grub/i386/xnu.h: Add license header.
31760 include grub/err.h explicitly.
31761
c90edae4 317622009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31763
31764 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31765 to `ufs' in the vfs.root.mountfrom kernel parameter.
31766
d8888b5c 317672009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31768
31769 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31770
31771 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31772 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31773
31774 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31775 `ARRAY_SIZE' macro.
31776
6f07b921 317772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31778
31779 * kern/file.c (grub_file_read): Check offset.
31780 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31781 * fs/jfs.c (grub_jfs_read_file): Likewise.
31782 * fs/ntfs.c (grub_ntfs_read): Likewise.
31783 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31784 * fs/minix.c (grub_minix_read_file): Correct offset check.
31785 * fs/ufs.c (grub_ufs_read_file): Likewise.
31786
b4f34077 317872009-08-28 Colin Watson <cjwatson@ubuntu.com>
31788
31789 * term/i386/pc/console.c (bios_data_area): Cast
31790 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31791
e7c69859 317922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 1-bit optimised blitters.
31795
31796 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31797 prototype.
31798 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31799 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31800 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31801 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31802 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31803 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31804 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31805 function.
31806 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31807 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31808 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31809 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31810 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31811 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31812 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31813 when possible.
31814 * video/video.c (grub_video_get_blit_format): Return
31815 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31816
a57da43f 318172009-08-28 Colin Watson <cjwatson@ubuntu.com>
31818
31819 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31820 the first argument to grub_printf.
31821
4cbe67e5 318222009-08-28 Colin Watson <cjwatson@ubuntu.com>
318232009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31824
31825 Add `getkeystatus' terminal method. Add a new `keystatus' command
31826 to query it.
31827
31828 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31829 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31830 modifier key bitmasks.
31831 (struct grub_term_input): Add `getkeystatus' member.
31832 (grub_getkeystatus): Add prototype.
31833 * kern/term.c (grub_getkeystatus): New function.
31834
31835 * include/grub/i386/pc/memory.h
31836 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31837 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31838 Data Area layout.
31839 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31840 (grub_console_term_input): Set `getkeystatus' member.
31841 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31842 constants.
31843 (grub_usb_keyboard_getreport): Likewise.
31844 (grub_usb_keyboard_checkkey): Likewise.
31845 (grub_usb_keyboard_getkeystatus): New function.
31846 (grub_usb_keyboard_term): Set `getkeystatus' member.
31847
31848 * commands/keystatus.c: New file.
31849 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31850 (keystatus_mod_SOURCES): New variable.
31851 (keystatus_mod_CFLAGS): Likewise.
31852 (keystatus_mod_LDFLAGS): Likewise.
31853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31854 commands/keystatus.c.
31855 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31856 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31860 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31861
6e2a9085 318622009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 Split befs.mod and afs.mod into *_be.mod and *.mod
31865
31866 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31867 (grub_fstest_SOURCES): Likewise.
31868 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31869 (afs_be_mod_SOURCES): New variable.
31870 (afs_be_mod_CFLAGS): Likewise.
31871 (afs_be_mod_LDFLAGS): Likewise.
31872 (befs_be_mod_SOURCES): Likewise.
31873 (befs_be_mod_CFLAGS): Likewise.
31874 (befs_be_mod_LDFLAGS): Likewise.
31875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31876 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31877 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31878 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31879 (grub_emu_SOURCES): Likewise.
31880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31881 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31882 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31883 * fs/afs_be.c: New file.
31884 * fs/befs_be.c: New file.
31885 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31886 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31887 (U16): Replaced with ...
31888 (grub_afs_to_cpu16): ...this. All users updated.
31889 (U32): Replaced with ...
31890 (grub_afs_to_cpu32): ...this. All users updated.
31891 (U64): Replaced with ...
31892 (grub_afs_to_cpu64): ...this. All users updated.
31893 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31894 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31895 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31896 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31897 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31898 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31899 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31900 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31901 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31902 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31903 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31904
32a71655 319052009-08-26 Bean <bean123ch@gmail.com>
31906
31907 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31908 64-bit number.
31909 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31910 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31911 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31912
552bf6c5 319132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31914
31915 NetBSD memory map support.
31916
31917 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31918 (grub_netbsd_btinfo_mmap_header): New structure.
31919 (grub_netbsd_btinfo_mmap_entry): Likewise.
31920 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31921
1ae2078c 319222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31923
31924 Enable bsd.mod on coreboot.
31925
31926 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31927 (bsd_mod_SOURCES): New variable.
31928 (bsd_mod_CFLAGS): Likewise.
31929 (bsd_mod_LDFLAGS): Likewise.
31930 (bsd_mod_ASFLAGS): Likewise.
31931 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31932 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31933
beefc598 319342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31935
31936 Cleanup NetBSD root support.
31937
31938 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31939 grub_bsd_get_device.
31940 Fix typo.
31941
3b76e68b 319422009-08-25 Felix Zielcke <fzielcke@z-51.de>
31943
31944 * util/grub.d/00_header.in: Move check for the video backend of
31945 gfxterm from here ...
31946 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31947 a suitable video backend.
31948
aea664ea 319492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31950
31951 Fix breakage in grub-setup.
31952
31953 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31954 "msdos_partition_map".
31955
ff747d50 319562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31957
31958 Fix breakage in normal/auth.c.
31959
31960 * normal/auth.c (grub_iswordseparator): New function.
31961
e7e1f93f 319622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31963
31964 Authentication support.
31965
31966 * commands/password.c: New file.
31967 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31968 (password_mod_SOURCES): New variable.
31969 (password_mod_CFLAGS): Likewise.
31970 (password_mod_LDFLAGS): Likewise.
31971 (normal_mod_SOURCES): Add normal/auth.c.
31972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31973 normal/auth.c.
31974 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31975 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31976 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31979 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31980 * include/grub/auth.h: New file.
31981 * include/grub/err.h (grub_err_t): New enum value
31982 GRUB_ERR_ACCESS_DENIED.
31983 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31984 'users'.
31985 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31986 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31987 users updated.
31988 * normal/auth.c: New file.
31989 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31990 (grub_cmdline_run): Don't allow to go to command line without
31991 authentication.
31992 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31993 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31994 menuentry without superuser rights.
31995 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31996 user isn't a superuser.
31997
70f1161d 319982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31999
32000 Save space by inlining misc.c functions.
32001
32002 * kern/misc.c (grub_iswordseparator): Made static.
32003 * kern/misc.c (grub_strcat): Moved from here ...
32004 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32005 * kern/misc.c (grub_strncat): Moved from here ...
32006 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32007 * kern/misc.c (grub_strcasecmp): Moved from here ...
32008 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32009 * kern/misc.c (grub_strncasecmp): Moved from here ...
32010 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32011 * kern/misc.c (grub_isalpha): Moved from here ...
32012 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32013 * kern/misc.c (grub_isdigit): Moved from here ...
32014 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32015 * kern/misc.c (grub_isgraph): Moved from here ...
32016 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32017 * kern/misc.c (grub_tolower): Moved from here ...
32018 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32019
48e40bff 320202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32021
32022 * script/sh/function.c (grub_script_function_find): Cut error message
32023 not to flood terminal.
32024 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32025 limit.
32026 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32027
c385bfc3 320282009-08-24 Colin Watson <cjwatson@ubuntu.com>
32029
32030 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32031 `report' grub_uint8_t *.
32032 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32033 Use a 50-millisecond timeout rather than just repeating
32034 grub_usb_keyboard_getreport 50 times.
32035 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32036
2d21e3e8 320372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32038
32039 Rename *_partition_map to part_*
32040
32041 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32042 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32043 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32044 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32045 All users updated.
32046 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32047 All users updated.
32048 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32049 * util/grub-probe.c (probe_partmap): Don't transform partition name
32050 to get module name.
32051
dd103c4e 320522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32053
32054 Fix OpenBSD and NetBSD support.
32055
32056 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32057 memory address conflict.
32058 (OPENBSD_MMAP_ACPI): New definition.
32059 (OPENBSD_MMAP_NVS): Likewise.
32060 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32061 and OPENBSD_MMAP_NVS.
32062 Add memory map terminator
32063 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32064 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32065
16c84d74 320662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32067
32068 Let user specify NetBSD root device.
32069
32070 * loader/i386/bsd.c (netbsd_root): New variable.
32071 (netbsd_opts): New option 'root'.
32072 (NETBSD_ROOT_ARG): New macro.
32073 (grub_netbsd_boot): Use 'netbsd_root'.
32074 (grub_bsd_unload): Free 'netbsd_root'.
32075 (grub_cmd_netbsd): Fill 'netbsd_root'.
32076
adb29902 320772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32078
32079 Support for 64-bit NetBSD.
32080
32081 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32082 point when booting non-FreeBSD.
32083
f5ae9f74 320842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32085
32086 Support --no-smp and --no-acpi for NetBSD.
32087
32088 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32089 (NETBSD_AB_NOACPI): Likewise.
32090 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32091 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32092
de74f136 320932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32096 errors.
32097 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32098 errors. Call grub_error when needed.
32099
e9a925da 321002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32101
32102 * commands/search.c (search_fs): Try searching without autoload first.
32103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32104 filesystem module explicitly for faster booting.
32105
5174302b 321062009-08-23 Colin Watson <cjwatson@ubuntu.com>
32107
32108 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32109
c8c80635 321102009-08-23 Colin Watson <cjwatson@ubuntu.com>
32111
32112 * util/grub.d/30_os-prober.in: Disable os-prober if
32113 `GRUB_DISABLE_OS_PROBER' was set to true.
32114
71acf5e5 321152009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32116
32117 * partmap/pc.c: Rename to ...
32118 * partmap/msdos.c: ... this. Update all users.
32119 (grub_pc_partition_map): Rename to ...
32120 (grub_msdos_partition_map): ... this. Update all users.
32121
32122 * parttool/pcpart.c: Rename to ...
32123 * parttool/msdospart.c: ... this. Update all users.
32124
32125 * include/grub/pc_partition.h: Rename to ...
32126 * include/grub/msdos_partition.h: ... this. Update all users.
32127 (grub_pc_partition_bsd_entry): Rename to ...
32128 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32129 (grub_pc_partition_disk_label): Rename to ...
32130 (grub_msdos_partition_disk_label): ... this. Update all users.
32131 (grub_pc_partition_entry): Rename to ...
32132 (grub_msdos_partition_entry): ... this. Update all users.
32133 (grub_pc_partition_mbr): Rename to ...
32134 (grub_msdos_partition_mbr): ... this. Update all users.
32135 (grub_pc_partition): Rename to ...
32136 (grub_msdos_partition): ... this. Update all users.
32137 (grub_pc_partition_is_empty): Rename to ...
32138 (grub_msdos_partition_is_empty): ... this. Update all users.
32139 (grub_pc_partition_is_extended): Rename to ...
32140 (grub_msdos_partition_is_extended): ... this. Update all users.
32141 (grub_pc_partition_is_bsd): Rename to ...
32142 (grub_msdos_partition_is_bsd): ... this. Update all users.
32143
32144 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32145 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32146 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32147 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32148 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32149 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32150 (gpt_mod_LDFLAGS): Rename to ...
32151 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32152 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32153 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32154 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32155 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32156 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32157 (part_gpt_mod_LDFLAGS): ... this.
32158 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32159 `pcpart.mod' to `msdospart.mod'.
32160 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32161 to ...
32162 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32163 (msdospart_mod_LDFLAGS): ... this.
32164
c11fded5 321652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32166
32167 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32168 (openbsd_opts): Likewise.
32169 (netbsd_opts): Likewise.
32170 (freebsd_flags): Added 0 terminator.
32171 (openbsd_flags): Likewise.
32172 (netbsd_flags): Likewise.
32173 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32174 (grub_cmd_freebsd): Transformed into extended command.
32175 (grub_cmd_openbsd): Likewise.
32176 (grub_cmd_netbsd): Likewise.
32177 (cmd_freebsd): Changed type to grub_extcmd_t.
32178 (cmd_openbsd): Likewise.
32179 (cmd_netbsd): Likewise.
32180 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32181 grub_cmd_openbsd as extended commands.
32182 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32183 cmd_netbsd and cmd_openbsd
32184
11d1c769 321852009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32186
32187 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32188
7a9094e5 321892009-08-21 Pavel Roskin <proski@gnu.org>
32190
5496c37e 32191 * Makefile.in (install-local): When checking if a file is in the
32192 build directory, use "test -e" to detect symlinks.
32193
7a9094e5 32194 * Makefile.in (install-local): Remove all files in
32195 $(DESTDIR)$(pkglibdir) before installing new files there.
32196
e53cea11 321972009-08-18 Felix Zielcke <fzielcke@z-51.de>
32198
32199 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32200 grub-mkelfimage.
32201
9aced544 322022009-08-18 Felix Zielcke <fzielcke@z-51.de>
32203
32204 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32205 explicitly specified by the user.
32206
b7da6bab 322072009-08-18 Pavel Roskin <proski@gnu.org>
32208
32209 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32210 grub_uint8_t pointer for data.
32211 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32212 Likewise.
32213 * video/fb/fbutil.c: Remove unnecessary casts.
32214
19f1b335 322152009-08-17 Michal Suchanek <hramrach@centrum.cz>
32216
32217 VBE cleanup.
32218
32219 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32220 (grub_vbe_set_video_mode): Save active mode info
32221 only after setting the mode.
32222 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32223 second argument.
32224
2f467aa9 322252009-08-17 Michal Suchanek <hramrach@centrum.cz>
32226
32227 Rename variables for clarity.
32228
32229 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32230 (active_vbe_mode_info): ... this. All users updated.
32231 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32232 All users updated.
32233 (initial_mode): Rename to ...
32234 (initial_vbe_mode): ... this. All users updated.
32235 (mode_in_use): Rename to ..
32236 (vbe_mode_in_use): ... this. All users updated.
32237 (mode_list): Rename to ..
32238 (vbe_mode_list): ... this. All users updated.
32239 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32240 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32241 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32242 'mode_list_size' to 'vbe_mode_list_size'.
32243 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32244 'best_mode_info' to 'best_vbe_mode_info' and
32245 'best_mode' to 'best_vbe_mode'
32246
6025fcd7 322472009-08-17 Michal Suchanek <hramrach@centrum.cz>
32248
32249 Remove duplicate grub_video_fb_get_video_ptr.
32250
32251 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32252 (grub_video_fb_get_video_ptr): ... this.
32253 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32254 * video/fb/fbutil.c: Add comment about addressing.
32255 (get_data_ptr): Rename to ...
32256 (grub_video_fb_get_video_ptr): ... this. All users updated.
32257 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32258
cc8c6faf 322592009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32260
32261 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32262 grub_dprintf() that was just added.
32263
08aa61f0 322642009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32265
32266 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32267 (DEFAULT_VIDEO_MODE): Remove macros.
32268 (grub_linux_boot): Remove assumption that Linux has FB support,
32269 and use "text" as default video mode.
32270
7cef4f75 322712009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32272
32273 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32274 grub_dprintf.
32275 * fs/fat.c (grub_fat_read_data): Likewise.
32276
e1f39873 322772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32278
32279 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32280 payload.
32281 (grub_module): Likewise.
32282
c166d79e 322832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32284
32285 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32286 mbi->cmdline but free playground.
32287
c60cee8e 322882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 Handle group offset on UFS1.
32291
32292 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32293 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32294
c0d8b5d4 322952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32296
32297 Split ufs.mod into ufs1.mod and ufs2.mod.
32298
32299 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32300 (grub_fstest_SOURCES): Likewise.
32301 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32302 (ufs_mod_SOURCES): Remove.
32303 (ufs_mod_CFLAGS): Likewise.
32304 (ufs_mod_LDFLAGS): Likewise.
32305 (ufs1_mod_SOURCES): New variable.
32306 (ufs1_mod_CFLAGS): Likewise.
32307 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32308 (ufs2_mod_SOURCES): New variable.
32309 (ufs2_mod_CFLAGS): Likewise.
32310 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32312 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32313 Likewise.
32314 (grub_emu_SOURCES): Likewise.
32315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32316 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32317 (grub_setup_SOURCES): Likewise.
32318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32319 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32320 (grub_setup_SOURCES): Likewise.
32321 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32322 Likewise.
32323 * fs/ufs2.c: New file.
32324 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32325
d3539132 323262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32327
32328 Framebuffer split.
32329
32330 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32331 subsystem at the end.
32332 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32333 (video_fb_mod_SOURCES): New variable.
32334 (video_fb_mod_CFLAGS): Likewise.
32335 (video_fb_mod_LDFLAGS): Likewise.
32336 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32337 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32338 * video/i386/pc/vbeblit.c: Moved from here ...
32339 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32340 * video/i386/pc/vbefill.c: Moved from here ...
32341 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32342 * video/i386/pc/vbeutil.c: Moved from here ...
32343 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32344 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32345 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32346 * include/grub/i386/pc/vbefill.h: Moved from here ...
32347 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32348 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32349 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32350 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32351 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32352 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32353 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32354 (grub_video_adapter): Added 'get_info_and_fini'.
32355 (grub_video_get_info_and_fini): New prototype.
32356 (grub_video_set_mode): make modestring const char *.
32357 * loader/i386/linux.c (grub_linux_setup_video): Use
32358 grub_video_get_info_and_fini.
32359 (grub_linux_boot): Move modesetting just before booting.
32360 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32361 grub_video_get_info_and_fini.
32362 * video/i386/pc/vbe.c: Moved framebuffer part ...
32363 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32364 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32365 grub_video_fbstd_colors and grub_video_fb_set_palette.
32366 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32367 grub_video_fb_init.
32368 (grub_video_vbe_fini): Use grub_video_fb_fini.
32369 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32370 render_target and use grub_video_fb_set_active_render_target and
32371 grub_video_fb_set_palette.
32372 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32373 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32374 (grub_video_vbe_adapter): Use framebuffer.
32375 * video/video.c (grub_video_get_info_and_fini): New function.
32376 (grub_video_set_mode): Make modestring const char *.
32377 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32378 values are already initialised.
32379
d404ee56 323802009-08-14 Pavel Roskin <proski@gnu.org>
32381
32382 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32383 ABS and APPLE_CC.
32384 * boot/i386/pc/diskboot.S: Likewise.
32385 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32386 sectors allow compilation on MacOSX.
32387 * conf/i386-pc.rmk: Enable unconditional compilation of
32388 lnxboot.img.
32389
9a10df16 323902009-08-13 Colin Watson <cjwatson@ubuntu.com>
32391
32392 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32393 * util/grub.d/00_header.in: Enter interruptible sleep if
32394 GRUB_HIDDEN_TIMEOUT is set.
32395
be3c9ca7 323962009-08-13 Yves Blusseau <blusseau@zetam.org>
32397
32398 * include/grub/symbol.h: Add the LOCAL macro.
32399 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32400 starting with "L_".
32401
1f9e557e 324022009-08-13 Pavel Roskin <proski@gnu.org>
32403
9ca62843 32404 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32405 any modern compilers we support.
32406
1f9e557e 32407 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32408 Use local labels starting with "L_" so that Apple assembler
32409 knows they are local.
32410
81623db6 324112009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32412
32413 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32414 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32415 (bsd_kernel_types): ... this enum.
32416
32417 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32418 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32419 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32420
32421 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32422 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32423 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32424 messages.
32425
f5d35e7a 324262009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32427
32428 * util/grub-dumpdevtree: Moved from here ...
32429 * util/i386/efi/grub-dumpdevtree: ... to here.
32430 (hexify): New function. Converts a string to its hex version.
32431 Generate hex versions of "efi" and "device-properties" by calling
32432 hexify() on the ASCII strings rather than by hardcoding numbers.
32433
d1e1d527 324342009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32435
32436 * fs/jfs.c: Update copyright year.
32437
1ebbe064 324382009-08-08 Felix Zielcke <fzielcke@z-51.de>
32439
32440 * util/grub.d/00_header.in: Fix a comment.
32441 * util/grub.d/10_linux.in: Likewise.
32442 * util/grub.d/10_windows.in: Likewise.
32443 * util/grub.d/10_hurd.in: Likewise.
32444
a78c8d24 324452009-08-08 Felix Zielcke <fzielcke@z-51.de>
32446
32447 * util/grub-mkconfig.in: Allow the user to specify the used font
32448 with GRUB_FONT.
32449
29a6b9e8 324502009-08-08 Pavel Roskin <proski@gnu.org>
32451
b5f16cc4 32452 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32453 available, xfs.mod needs it now.
32454
2f5cb827 32455 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32456 the "g" modifier in sed when the intention is to strip something
32457 once. This fixes comparison of kernels with multiple dashes.
32458
29a6b9e8 32459 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32460 on it. Add missing space before closing bracket. Fix
32461 misleading formatting.
32462
892a3d98 324632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32464
32465 * docs/grub.texi: Major overhaul. Remove all sections that are
32466 specific to GRUB Legacy, or mostly composed of Legacy-specific
32467 information.
32468
ed94253f 324692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 * docs/version.texi: New file. Provides version information for
32472 grub.texi.
32473
126d6628 324742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32475
32476 * docs/grub.texi: Update CVS information to SVN.
32477 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32478
998b5aa9 324792009-08-07 Felix Zielcke <fzielcke@z-51.de>
32480
32481 * util/grub-mkconfig.in: Remove a wrong `fi'.
32482
818e094a 324832009-08-07 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32486 (grub_jfs_uuid): New function.
32487 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32488
b969c52f 324892009-08-07 Felix Zielcke <fzielcke@z-51.de>
32490
32491 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32492 of it to ...
32493 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32494 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32495
7a4894cc 324962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32497
32498 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32499 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32500 Update all users.
32501
32502 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32503 not just "vmlinu[zx]".
32504 Moved from here ...
32505 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32506 all users.
32507
32508 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32509 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32510 all users.
32511
4e2171f8 325122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32513
32514 * util/grub.d/10_freebsd.in: Use an absolute device path for
32515 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32516
6dcfcb32 325172009-08-06 Felix Zielcke <fzielcke@z-51.de>
32518
32519 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32520 handling of multiple abstraction modules.
32521
f56a8756 325222009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32523
32524 Fix a bug resulting in black screen when loading Linux using a
32525 packed video mode.
32526
32527 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32528 function.
32529
32530 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32531 (grub_vbe_bios_getset_dac_palette_width): New function.
32532 (grub_vbe_bios_get_dac_palette_width)
32533 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32534 grub_vbe_bios_getset_dac_palette_width()).
32535
32536 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32537 check for return status.
32538 (grub_vbe_get_video_mode_info): When getting information for a packed
32539 mode (<= 8 bpp), obtain DAC palette width using
32540 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32541 {red,green,blue}_mark_size.
32542
222671b2 325432009-08-04 Felix Zielcke <fzielcke@z-51.de>
32544
ecb1a6d9 32545 * commands/search.c (options): Fix help output to match actual code.
222671b2 32546
f84114f5 325472009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32548
32549 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32550 of homegrown code.
32551
bd288a20 325522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32553
32554 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32555 on XFS or ReiserFS.
32556
8aab5e25 325572009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32558
32559 Support Apple partition map with sector size different from 512 bytes.
32560
32561 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32562 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32563 and 'apart.partmap_size'.
32564
6ad6258a 325652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
325662009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32567
32568 Fix cpuid command.
32569
32570 * commands/i386/cpuid.c (options): New variable.
32571 (grub_cmd_cpuid): Return real error.
32572 (GRUB_MOD_INIT(cpuid)): Declare options.
32573
67459bc6 325742009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32575
32576 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32577 valid.
32578
fbc6ab54 325792009-07-31 Bean <bean123ch@gmail.com>
32580
32581 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32582 log2_inode.
32583 (grub_fshelp_node): Move inode field to the end.
32584 (grub_xfs_data): Remove inode field.
32585 (grub_xfs_inode_block): Calculate inode size using sblock.
32586 (grub_xfs_inode_offset): Likewise.
32587 (grub_xfs_read_inode): Calculate inode size using sblock.
32588 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32589 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32590 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32591 to match inode size.
32592 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32593 not accessible when data is null.
32594 (grub_xfs_open): Likewise.
32595
f45d6cfc 325962009-07-31 Bean <bean123ch@gmail.com>
32597
32598 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32599 Don't change pv->disk if it's already set.
32600
32601 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32602 (grub_raid_register): ... here.
32603 (grub_raid_rescan): Removed.
32604
32605 * include/grub/raid.h (grub_raid_rescan): Removed.
32606
32607 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32608 (fstest): Replace grub_raid_rescan with module fini function followed
32609 by init function.
32610
32611 * util/grub-probe.c: Add include file <grub/raid.h>.
32612 (probe_raid_level): New function.
32613 (probe): Detect abstraction by walking the disk device, support two
32614 level of abstraction (LVM on RAID) when detecting partition map.
32615
24443b5a 326162009-07-31 Pavel Roskin <proski@gnu.org>
32617
32618 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32619 to grub_zalloc(), it was erroneous.
32620 Reported by Bean <bean123ch@gmail.com>
32621
a275d9e7 326222009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32623
32624 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32625 embedding zone, not only the first one.
a275d9e7 32626
56c5a47f 326272009-07-29 Joe Auricchio <jauricchio@gmail.com>
32628
32629 * term/gfxterm.c (clear_char): New function.
32630 (grub_virtual_screen_setup): Use clear_char.
32631 (scroll_up): Likewise.
32632 (grub_virtual_screen_cls): Likewise.
32633
67bb323a 326342009-07-29 Felix Zielcke <fzielcke@z-51.de>
32635
32636 * util/deviceiter.c (get_acceleraid_disk_name): New static
32637 function.
32638 (grub_util_iterate_devices): Handle Accelraid devices.
32639 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32640
388a7c75 326412009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32642
32643 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32644 separator for the suggested gfxpayload string (';' collides with the
32645 parser and needs escaping).
32646
3bb7abcf 326472009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32648
32649 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32650 Clear direction flag before jumping to OS.
32651 (grub_multiboot2_real_boot): Likewise.
32652
2ddd36d7 326532009-07-28 Felix Zielcke <fzielcke@z-51.de>
32654
32655 * util/i386/pc/grub-install: Fix parsing of --disk-module
32656 option.
32657
c521b62b 326582009-07-28 Felix Zielcke <fzielcke@z-51.de>
32659
32660 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32661 when embedding.
32662
880e0a0c 326632009-07-26 Felix Zielcke <fzielcke@z-51.de>
32664
32665 * util/grub-mkconfig.in (package_version): New variable.
32666 Use it do display the version.
32667
2366e356 326682009-07-25 Felix Zielcke <fzielcke@z-51.de>
32669
32670 * kern/file.c (grub_file_open): Revert to previous check with
32671 grub_errno.
32672
7ad8c80e 326732009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32674
32675 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32676 from help line. It's out of sync with code.
32677
72b9658b 326782009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32679
32680 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32681 entries on failed boot.
32682
77435277 326832009-07-25 Felix Zielcke <fzielcke@z-51.de>
32684
32685 * kern/file.c (grub_file_open): Fix an error check.
32686
fcaa8b21 326872009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32688
35d16c74 32689 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32690 partition map couldn't be identified.
fcaa8b21 32691
48904cd1 326922009-07-23 Pavel Roskin <proski@gnu.org>
32693
ef3c317f 32694 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32695 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32696 case of little endian words becomes just an optimization.
32697 Respect const modifier.
ad8ea1f4 32698 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32699
48904cd1 32700 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32701 to avoid loss of upper bits if align is unsigned and shorter
32702 than addr.
32703
260c9a89 327042009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32705
32706 UUID support for UFS
32707
32708 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32709 (grub_ufs_uuid): New function.
32710 (grub_ufs_fs): add .uuid
32711
f76ce889 327122009-07-21 Pavel Roskin <proski@gnu.org>
32713
32714 * kern/dl.c (grub_dl_check_header): Make static.
32715
6a6cbcaf 327162009-07-21 Felix Zielcke <fzielcke@z-51.de>
32717
32718 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32719 add drivemap for Vista. It breaks Windows 7.
32720
cffcddb2 327212009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32722
32723 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32724 128 bytes
32725
1ef44b80 327262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32727
32728 Add BFS support
32729
32730 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32731 (grub_fstest_SOURCES): Likewise.
32732 (pkglib_MODULES): Add befs.mod.
32733 (befs_mod_SOURCES): New variable.
32734 (befs_mod_CFLAGS): Likewise.
32735 (befs_mod_LDFLAGS): Likewise.
32736 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32737 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32738 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32739 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32740 (grub_setup_SOURCES): Likewise.
32741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32743 (grub_setup_SOURCES): Likewise.
32744 * fs/befs.c: New file.
32745 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32746 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32747 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32748 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32749 (B_KEY_INDEX_ALIGN): New declaration.
32750 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32751 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32752 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32753 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32754 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32755 (grub_afs_mount) [MODE_BFS]: Likewise.
32756 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32757 (grub_afs_fs): Use GRUB_AFS_FSNAME
32758 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32759 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32760 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32761 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32762
4f253044 327632009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32764
32765 * util/getroot.c (find_root_device): Add support for MacOSX.
32766 * util/hostdisk.c: Likewise.
32767
57a55913 327682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32769
32770 * font/font.c (find_glyph): Check whether a font is present to avoid
32771 segmentation fault.
75421ca9 32772
327732009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32774
32775 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32776
e98cd0c2 327772009-07-20 Pavel Roskin <proski@gnu.org>
32778
32779 * configure.ac: Trim excessively wordy excuses.
32780
1d2d169a 327812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32782
32783 Add symlink, mtime and label support to AtheFS.
32784
32785 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32786 (grub_afs_iterate_dir): Handle symlinks.
32787 (grub_afs_open): Use grub_afs_read_symlink.
32788 (grub_afs_dir): Likewise.
32789 Pass mtime.
32790 (grub_afs_label): New function.
32791 (grub_afs_fs): Add grub_afs_label.
32792 (grub_afs_read_symlink): New function.
32793
186f3189 327942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32795
32796 Fix AtheFS support.
32797
32798 * fs/afs.c: Fix comments style.
32799 (grub_afs_blockrun): Declare as packed.
32800 (grub_afs_datastream): Likewise.
32801 (grub_afs_bnode): Likewise.
32802 (grub_afs_btree): Likewise.
32803 (grub_afs_sblock): Likewise.
32804 Declare `name' as char.
32805 (grub_afs_inode): Declare as packed.
32806 Change void *vnode to grub_uint32_t unused.
32807 (grub_afs_iterate_dir): Check that key_size is positive.
32808 (grub_afs_mount): Don't read superblock twice.
75421ca9 32809 (grub_afs_dir): Don't free node in case of error,
186f3189 32810 grub_fshelp_find_file already handles this.
32811 (grub_afs_open): Likewise.
32812
5680109e 328132009-07-19 Pavel Roskin <proski@gnu.org>
32814
32815 * Makefile.in: Remove LIBLZO and enable_lzo.
32816 * conf/i386-pc.rmk: Remove lzo support.
32817 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32818 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32819 support.
32820 * kern/i386/pc/lzo1x.S: Remove.
32821 * kern/i386/pc/startup.S: Remove lzo support.
32822 * util/i386/pc/grub-mkimage.c: Likewise.
32823
ac70fa32 328242009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32825
32826 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32827 * fs/xfs.c (grub_xfs_dir): Likewise.
32828 * fs/afs.c (grub_afs_dir): Likewise.
32829 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32830 (grub_iso9660_open): Likewise.
32831 * fs/jfs.c (grub_jfs_open): Likewise.
32832 * fs/ext2.c (grub_ext2_dir): Likewise.
32833 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32834 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32835
eab58da2 328362009-07-16 Pavel Roskin <proski@gnu.org>
32837
d2838156 32838 * configure.ac: Never add "-c" to CFLAGS.
32839
55c70904 32840 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32841
43e6200c 32842 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32843 grub_cv_cc_efiemu should be used.
32844
ce7a733d 32845 * configure.ac: Typo fixes.
32846
eab58da2 32847 * kern/mm.c (grub_zalloc): New function.
32848 (grub_debug_zalloc): Likewise.
32849 * include/grub/mm.h: Declare grub_zalloc() and
32850 grub_debug_zalloc().
32851 * util/misc.c (grub_zalloc): New function.
32852 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32853 instead of grub_malloc(), remove unneeded initializations.
32854 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32855 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32856 * commands/parttool.c (grub_cmd_parttool): Likewise.
32857 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32858 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32859 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32860 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32861 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32862 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32863 (grub_cmd_efiemu_pnvram): Likewise.
32864 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32865 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32866 (grub_iso9660_iterate_dir): Likewise.
32867 * fs/jfs.c (grub_jfs_opendir): Likewise.
32868 * fs/ntfs.c (list_file): Likewise.
32869 (grub_ntfs_mount): Likewise.
32870 * kern/disk.c (grub_disk_open): Likewise.
32871 * kern/dl.c (grub_dl_load_core): Likewise.
32872 * kern/elf.c (grub_elf_file): Likewise.
32873 * kern/env.c (grub_env_context_open): Likewise.
32874 (grub_env_set): Likewise.
32875 (grub_env_set_data_slot): Likewise.
32876 * kern/file.c (grub_file_open): Likewise.
32877 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32878 * loader/i386/multiboot.c (grub_module): Likewise.
32879 * loader/xnu.c (grub_xnu_create_key): Likewise.
32880 (grub_xnu_create_value): Likewise.
32881 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32882 (read_config_file): Likewise.
32883 * normal/menu_entry.c (make_screen): Likewise.
32884 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32885 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32886 * script/sh/script.c (grub_script_parse): Likewise.
32887 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32888 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32889 * video/readers/png.c (grub_png_output_byte): Likewise.
32890 (grub_video_reader_png): Likewise.
32891
830afef7 328922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32893
32894 Enable all targets that can be built by default
32895
830afef7 32896 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32897 grub-mkfont and grub-fstest if they can be built
32898
ee293aee 328992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32900
32901 Fix hang and segmentation fault in grub-emu-usb
32902
32903 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32904 * util/usb.c (grub_libusb_devices): likewise
32905 (grub_libusb_init): rename to ...
32906 (GRUB_MOD_INIT (libusb)):...this
32907 (grub_libusb_fini): rename to ..
32908 (GRUB_MOD_FINI (libusb)):...this
32909 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32910 * include/grub/disk.h (grub_raid_init): removed, it's useless
32911 (grub_raid_fini): likewise
32912 (grub_lvm_init): likewise
32913 (grub_lvm_fini): likewise
32914 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32915 by grub_init_all
32916
94414221 329172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32918
32919 Fix libusb
32920
32921 * Makefile.in (LIBUSB): new macro
32922 * genmk.rb (Utility/print_tail): new method
32923 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32924 (top level): call util.print_tail at the end.
32925
59ade63d 329262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32927
32928 Make FreeBSD accept zpool.cache
32929
32930 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32931 type is /boot/zfs/zpool.cache
32932
a58da8c7 329332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32934
32935 Fix 64-bit efiemu
32936
32937 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32938 correct wrong typedef
32939 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32940
20591577 329412009-07-15 Pavel Roskin <proski@gnu.org>
32942
560ca572 32943 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32944 * kern/disk.c (struct grub_disk_cache): Likewise.
32945
e8e8e4fd 32946 * commands/probe.c (options): Typo fix.
32947
fde24e10 32948 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32949 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32950 accordingly.
32951 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32952
379c54c1 32953 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32954 the end of "Error" to make the message more readable.
32955
7bd8f5bf 32956 * boot/i386/pc/boot.S (kernel_segment): Remove.
32957 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32958 for destination.
32959
40b132c5 32960 * boot/i386/pc/boot.S (boot_version): Remove.
32961 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32962 Remove.
32963
20591577 32964 * include/grub/i386/pc/boot.h: Sort all offsets.
32965 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32966 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32967 * boot/i386/pc/boot.S: Assert location of every offset listed in
32968 include/grub/i386/pc/boot.h.
32969
2df32b2c 329702009-07-13 Pavel Roskin <proski@gnu.org>
32971
44b5d879 32972 * include/grub/i386/coreboot/machine.h: Rename
32973 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32974 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32975 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32976
17dc3751 32977 * kern/dl.c: Force native word size to suppress warnings when
32978 compiling grub-emu.
32979
2df32b2c 32980 * kern/device.c (grub_device_iterate): Change struct part_ent to
32981 hold the name, not a pointer to it. Use one grub_malloc() per
32982 partition, not two. Free partition_name if grub_malloc() fails.
32983 Set ents to NULL only before grub_partition_iterate() is called.
32984
75c59f59 329852009-07-11 Bean <bean123ch@gmail.com>
32986
32987 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32988 childname.
32989
0ae1bf88 329902009-07-10 Bean <bean123ch@gmail.com>
329912009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32992
32993 * kern/ieee1275/openfw.c (grub_children_iterate)
32994 (grub_devalias_iterate): Fix size evaluation for property or path
32995 strings, which was broken since r2132.
32996
8279cade 329972009-07-07 Pavel Roskin <proski@gnu.org>
32998
7d8a52d3 32999 * commands/search.c (search_file): Merge into ...
33000 (search_fs): ... this. Accept search type as argument.
33001 (grub_cmd_search): Pass search type to search_fs().
33002
25f9a05a 33003 * include/grub/util/console.h: New file.
33004 * util/console.c: Use it instead of grub/machine/console.h.
33005 * util/grub-emu.c: Likewise.
33006
8279cade 33007 * lib/arg.c (find_long_option): Remove.
33008 (find_long): Add `len' argument, make `s' const char *.
33009 (grub_arg_parse): Parse long options in place, not in a
33010 temporary buffer.
33011
4a11b60f 330122009-07-06 Pavel Roskin <proski@gnu.org>
33013
99f68041 33014 * commands/search.c (search_fs): Fix potential NULL pointer
33015 dereference.
33016
4a11b60f 33017 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33018 function pointer.
33019
e110f4de 330202009-07-06 Daniel Mierswa <impulze@impulze.org>
33021
33022 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33023 comparison.
33024
46eeb6a2 330252009-07-05 Pavel Roskin <proski@gnu.org>
33026
bab74958 33027 * include/grub/i386/linux.h (struct linux_kernel_params):
33028 Restore padding3, it's still needed.
33029
46eeb6a2 33030 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33031 FreeBSD.
33032 * util/osdetect.lua: Likewise.
33033
b4a1dc79 330342009-07-05 Bean <bean123ch@gmail.com>
33035
33036 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33037
33038 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33039 (grub_lua_getenv): Likewise.
33040 (grub_lua_setenv): Likewise.
33041 (save_errno): New function.
33042 (push_result): Likewise.
33043 (grub_lua_enum_device): Likewise.
33044 (grub_lua_enum_file): Likewise.
33045 (grub_lua_file_open): Likewise.
33046 (grub_lua_file_close): Likewise.
33047 (grub_lua_file_seek): Likewise.
33048 (grub_lua_file_read): Likewise.
33049 (grub_lua_file_getline): Likewise.
33050 (grub_lua_file_getsize): Likewise.
33051 (grub_lua_file_getpos): Likewise.
33052 (grub_lua_file_eof): Likewise.
33053 (grub_lua_file_exist): Likewise.
33054 (grub_lua_add_menu): Likewise.
33055
33056 * script/lua/grub_lua.h (isupper): New inline function.
33057 (islower): Likewise.
33058 (ispunct): Likewise.
33059 (isxdigit): Likewise.
33060 (strcspn): Change to normal function.
33061 (strpbkr): New function declaration.
33062 (memchr): Likewise.
33063
33064 * script/lua/grub_main.c (scan_str): New function.
33065 (strcspn): Likewise.
33066 (strpbrk): Likewise.
33067 (memchr): Likewise.
33068
33069 * script/lua/linit.c (lualibs): Enable the string library.
33070
33071 * util/osdetect.lua: New file.
33072
2da92295 330732009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33074
33075 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33076 `capabilities' member.
33077
b2582ec9 330782009-07-02 Pavel Roskin <proski@gnu.org>
33079
33080 * genparttoollist.sh: Add missing newline at the end.
33081
32622956 330822009-07-01 Pavel Roskin <proski@gnu.org>
33083
87a7339e 33084 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33085
d23af54e 33086 * util/hostdisk.c (open_device): Remove `const' from
33087 `sysctl_size', as sysctlbyname() can change it (in this case it
33088 doesn't actually happen).
33089
c94b18a9 33090 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33091 using signed long int constants.
33092
c6cd3ef0 33093 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33094 constant to avoid a warning on FreeBSD.
33095
0df63420 33096 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33097 where it's needed.
33098
999577f1 33099 * Makefile.in: Install include/grub/machine symlink.
33100
6f41557f 33101 * Makefile.in: When installing symlinks, use "cp -fR", which
33102 works on FreeBSD and MacOSX.
33103 From Yves Blusseau <cl7m42e02@sneakemail.com>
33104
c8d22988 33105 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33106 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33107
1b96e952 33108 * util/misc.c: Move grub_reboot() and grub_halt() ...
33109 * util/grub-emu.c: ... here. Make main_env static.
33110 * include/grub/util/misc.h: Remove main_env.
33111
2ef0084d 33112 * kern/mm.c: Use correct format to print size_t.
33113
32622956 33114 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33115 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33116 * kern/powerpc/dl.c: Likewise.
33117 * kern/sparc64/dl.c: Likewise.
33118 * kern/x86_64/dl.c: Likewise.
33119
3f7f0cd0 331202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33121
33122 Fix grub-emu build on sparc64-ieee1275.
33123
75421ca9 33124 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33126
211d06b5 331272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33128
33129 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33130 (grub_reboot, grub_halt): New functions.
33131
33132 * util/i386/pc/misc.c: Delete. Update all users.
33133 * util/sparc64/ieee1275/misc.c: Likewise.
33134 * util/powerpc/ieee1275/misc.c: Likewise.
33135
aaf53e3c 331362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * conf/i386.rmk (setjmp_mod_SOURCES)
33139 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33140 * conf/common.rmk (setjmp_mod_SOURCES)
33141 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33142 to use $(target_cpu).
33143 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33144 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33145 * conf/powerpc-ieee1275.rmk: Likewise.
33146 * conf/sparc64-ieee1275.rmk: Likewise.
33147
33148 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33149 $(target_cpu) for kern/$(target_cpu)/dl.c.
33150 * conf/i386-efi.rmk: Likewise.
33151 * conf/i386-ieee1275.rmk: Likewise.
33152 * conf/x86_64-efi.rmk: Likewise.
33153 * conf/i386-coreboot.rmk: Likewise.
33154 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33155 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33156 kern/$(target_cpu)/cache.S.
33157 * conf/sparc64-ieee1275.rmk: Likewise.
33158
a337130b 331592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33160
33161 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33162 type to `grub_uint8_t', and adjust `padding9' accordingly.
33163
c6fe4d53 331642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33165
b09db61d 33166 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33167
c6fe4d53 33168 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33169 assembly in final jump, using register constraints.
33170
b09db61d 33171 (grub_linux_boot): For text mode, initialize `have_vga' using
33172 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33173
33174 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33175 right before the final jump.
33176
33177 Set `video_mode' to 0x3.
33178
33179 Document initialization of `video_page', `video_mode' and
33180 `video_ega_bx'.
33181
28333ad0 331822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33183
33184 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33185 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33186 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33187
02164e1b 331882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33189
33190 Fix build on Debian / sparc.
33191
33192 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33193
18b6c557 331942009-06-28 Pavel Roskin <proski@gnu.org>
33195
85f2aab6 33196 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33197 fix a warning.
33198
18b6c557 33199 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33200
ad760f81 332012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33204 `err'.
33205
87a4623b 332062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33207
33208 Revert r2338.
33209
33210 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33211 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33212 grub_errno / grub_errmsg appropriately.
87a4623b 33213 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33214
8231fb77 332152009-06-27 Pavel Roskin <proski@gnu.org>
332162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33217
33218 * include/grub/dl.h: Include grub/elf.h.
33219 (struct grub_dl): Add symtab field.
33220 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33221 GRUB_MODULES_MACHINE_READONLY.
33222 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33223 of the header for read-only modules.
33224 (grub_dl_unload): Free mod->symtab for read-only modules.
33225 * kern/i386/dl.c: Use mod->symtab.
33226 * kern/powerpc/dl.c: Likewise.
33227 * kern/sparc64/dl.c: Likewise.
33228 * kern/x86_64/dl.c: Likewise.
33229
33230 * conf/i386-qemu.rmk: New file.
33231 * kern/i386/qemu/startup.S: Likewise.
33232 * kern/i386/qemu/mmap.c: Likewise.
33233 * boot/i386/qemu/boot.S: Likewise.
33234 * include/grub/i386/qemu/time.h: Likewise.
33235 * include/grub/i386/qemu/serial.h: Likewise.
33236 * include/grub/i386/qemu/kernel.h: Likewise.
33237 * include/grub/i386/qemu/console.h: Likewise.
33238 * include/grub/i386/qemu/boot.h: Likewise.
33239 * include/grub/i386/qemu/init.h: Likewise.
33240 * include/grub/i386/qemu/machine.h: Likewise.
33241 * include/grub/i386/qemu/loader.h: Likewise.
33242 * include/grub/i386/qemu/memory.h: Likewise.
33243
33244 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33245 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33246 [qemu] (pkglib_IMAGES): Add `boot.img'.
33247 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33248 [qemu] (boot_img_FORMAT): New variables.
33249 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33250 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33251 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33252 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33253 [qemu] (kernel_img_FORMAT): New variables.
33254
33255 * configure.ac: Recognise `i386-qemu'.
33256
33257 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33258 (for no compression).
33259 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33260 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33261 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33262 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33263 ifdefs).
33264
97fe384e 332652009-06-27 Pavel Roskin <proski@gnu.org>
33266
33267 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33268 read.
33269 * efiemu/prepare32.c: Likewise.
33270 * efiemu/prepare64.c: Likewise.
33271
c402ab17 332722009-06-26 Pavel Roskin <proski@gnu.org>
33273
33274 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33275 * include/grub/elf.h: Define symbols without "32" or "64" based
33276 on GRUB_TARGET_WORDSIZE.
33277 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33278 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33279 ELF definitions.
33280 * efiemu/loadcore64.c: Likewise.
33281 * loader/i386/bsd32.c: Likewise.
33282 * loader/i386/bsd64.c: Likewise.
33283 * kern/dl.c: Remove own ELF definitions.
33284 * util/i386/efi/grub-mkimage.c: Likewise.
33285
9bbdfd4d 332862009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33287
33288 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33289 segment 0x0 unconditionally, because the reference generated by
33290 GAS is an absolute address.
33291
a42ce6e9 332922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33293
33294 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33295 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33296
c952cf92 332972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33298
33299 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33300 indexes. Check for -f explicitly.
cc3752ad 33301 (search_file): Improve error message.
33302 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33303
132a0a59 333042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33305
33306 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33307 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33308
387a140c 333092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33310
33311 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33312 * conf/i386-ieee1275.rmk: Likewise.
33313 * conf/i386-coreboot.rmk: Likewise.
33314
33315 * kern/i386/pc/startup.S (grub_stop): Remove function.
33316 * kern/i386/ieee1275/startup.S: Likewise.
33317 * kern/i386/coreboot/startup.S: Likewise.
33318 * kern/i386/misc.S (grub_stop): New function.
33319
41da9665 333202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33321
33322 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33323 * kern/i386/realmode.S (real_to_prot): ... to here.
33324
bf337234 333252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33326
33327 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33328 with `kernel.img'.
33329 (kernel_elf_SOURCES): Rename to ...
33330 (kernel_img_SOURCES): ... this.
33331 (kernel_elf_HEADERS): Rename to ...
33332 (kernel_img_HEADERS): ... this. Update all users.
33333 (kernel_elf_ASFLAGS): Rename to ...
33334 (kernel_img_ASFLAGS): ... this.
33335 (kernel_elf_CFLAGS): Rename to ...
33336 (kernel_img_CFLAGS): ... this.
33337 (kernel_elf_LDFLAGS): Rename to ...
33338 (kernel_img_LDFLAGS): ... this.
33339 * conf/i386-coreboot.rmk: Likewise.
33340 * conf/powerpc-ieee1275.rmk: Likewise.
33341
33342 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33343 with "kernel.img".
33344
f52196ff 333452009-06-21 Pavel Roskin <proski@gnu.org>
33346
c3cee413 33347 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33348 to match nested functions.
33349 * loader/sparc64/ieee1275/linux.c: Likewise.
33350
f52196ff 33351 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33352
58750afc 333532009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33354
33355 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33356 all i386 platforms.
33357
15355c7d 333582009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33359
33360 Fix asm file handling on ELF, and remove workarounds.
33361
33362 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33363 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33364 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33365 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33366
3f3ec72b 333672009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33368
33369 Load BSD ELF modules
33370
33371 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33372 and loader/i386/bsd64.c
33373 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33374 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33375 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33376 (grub_freebsd_load_elfmodule32): New declaration
33377 (grub_freebsd_load_elfmoduleobj64): Likewise
33378 (grub_freebsd_load_elf_meta32): Likewise
33379 (grub_freebsd_load_elf_meta64): Likewise
33380 (grub_freebsd_add_meta): Likewise
33381 (grub_freebsd_add_meta_module): Likewise
33382 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33383 (grub_freebsd_add_meta_module): Likewise and move module-specific
33384 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33385 (grub_cmd_freebsd): Add elf-kernel specific parts
33386 based on grub_freebsd_add_meta_module
33387 (grub_cmd_freebsd_module): Add type parsing moved from
33388 grub_freebsd_add_meta_module
33389 (grub_cmd_freebsd_module_elf): New function
33390 (cmd_freebsd_module_elf): New variable
33391 (GRUB_MOD_INIT): Register freebsd_module_elf
33392 * loader/i386/bsd32.c: New file
33393 * loader/i386/bsd64.c: Likewise
33394 * loader/i386/bsdXX.c: Likewise
33395 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33396 (grub_elf64_load): Likewise
33397 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33398 All users updated
33399 (grub_elf64_load_hook_t): Likewise
33400
0db15301 334012009-06-21 Colin Watson <cjwatson@ubuntu.com>
33402
33403 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33404 variable.
33405 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33406 don't write a menu entry for recovery mode.
33407
546796c1 334082009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33409
33410 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33411 after it's no longer needed.
33412
cd7310d5 334132009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33414
33415 * include/grub/i386/loader.h (grub_linux_prot_size)
33416 (grub_linux_tmp_addr, grub_linux_real_addr)
33417 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33418 GRUB_MACHINE_PCBIOS.
33419 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33420 common grub_util_info() call to ...
33421 (generate_image): ... here.
33422 Fix use of uninitialized memory, comparison of signed with
33423 unsigned integers and memory leak.
33424 Remove bogus module address message.
33425
ab32d3b5 334262009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33427
33428 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33429 grub_raid_register
33430 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33431
024ef597 334322009-06-19 Pavel Roskin <proski@gnu.org>
33433
33434 * configure.ac: Remove stray AC_MSG_CHECKING.
33435
3ac72b51 334362009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33437
33438 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33439
e14cd814 334402009-06-18 Pavel Roskin <proski@gnu.org>
33441
33442 * conf/common.rmk: Add fs_file.mod.
33443 * disk/fs_file.c: New file.
33444 * include/grub/disk.h (enum grub_disk_dev_id): Add
33445 GRUB_DISK_DEVICE_FILE_ID.
33446
26586d98 334472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33448
33449 Fix build with Apple's toolchain. Part 2
33450
33451 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33452 a fake start
33453
26de2bcd 334542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33455
33456 Fix build with Apple's toolchain. Part 1
33457
33458 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33459 for long calls
33460 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33461 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33462 Apple's toolchain
33463
09b3490b 334642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33465
33466 Fix warnings
33467
33468 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33469 (decomp_block): initialize ch
33470 use grub_memcpy instead of memcpy
33471
c22a006a 334722009-06-17 Pavel Roskin <proski@gnu.org>
33473
d3638678 33474 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33475 version, use declarations needed to use vga_text as the startup
33476 console.
33477
c22a006a 33478 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33479 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33480 the kernel.
33481 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33482 and grub_at_keyboard_fini(), it's done on module load and
33483 unload.
33484
05b129e0 334852009-06-17 Felix Zielcke <fzielcke@z-51.de>
33486
33487 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33488 file can't be found.
33489 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33490
cf24ed9e 334912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33492
33493 Fix newline handling
33494
33495 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33496 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33497 (grub_script_yylex): don't segfault on unterminated script
33498 newline terminates command and variable
33499
74aa8e4b 335002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33501
33502 avoid double grub_adjust_range call. Bug reported by David Simner
33503
33504 * kern/disk.c (grub_disk_write): change to raw disk access before
33505 calling disk_read
33506
1bd265f3 335072009-06-17 Colin Watson <cjwatson@ubuntu.com>
33508
33509 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33510 spaces, for the benefit of help2man.
33511 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33512
a2d08c06 335132009-06-16 Pavel Roskin <proski@gnu.org>
33514
33515 * kern/i386/halt.c: Include grub/machine/init.h.
33516 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33517
b97bcb19 335182009-06-16 Felix Zielcke <fzielcke@z-51.de>
33519
33520 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33521 drivemap menuentry.
33522
0644f96c 335232009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33524
33525 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33526 `echo' command.
33527
3ef17a2e 335282009-06-16 Pavel Roskin <proski@gnu.org>
33529
33530 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33531 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33532 save %dx, we only need %dl and we never change it.
33533 * boot/i386/pc/cdboot.S: Don't set the root drive.
33534 * boot/i386/pc/pxeboot.S: Likewise.
33535 * include/grub/i386/pc/boot.h: Remove
33536 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33537 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33538 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33539 * kern/i386/pc/init.c (make_install_device): Remove references
33540 to grub_root_drive.
33541 * kern/i386/pc/startup.S: Likewise.
33542 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33543
693fe637 335442009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33545
33546 xnu_uuid command
33547
33548 * commands/xnu_uuid.c: new file
33549 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33550 (xnu_uuid_mod_SOURCES): new variable
33551 (xnu_uuid_mod_CFLAGS): likewise
33552 (xnu_uuid_mod_LDFLAGS): likewise
33553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33554 * conf/i386-ieee1275.rmk: likewise
33555 * conf/i386-pc.rmk: likewise
33556 * conf/powerpc-ieee1275.rmk: likewise
33557 * conf/sparc64-ieee1275.rmk: likewise
33558 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33559
c9da87d0 335602009-06-16 Pavel Roskin <proski@gnu.org>
33561
33562 * configure.ac: Avoid '==' in test command, it's not portable.
33563
9c6f4596 335642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33565
33566 Probe command
33567
33568 * commands/probe.c: new file
33569 * conf/common.rmk (pkglib_MODULES): add probe.mod
33570 (probe_mod_SOURCES): new variable
33571 (probe_mod_CFLAGS): likewise
33572 (probe_mod_LDFLAGS): likewise
33573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33574 * conf/i386-ieee1275.rmk: likewise
33575 * conf/i386-pc.rmk: likewise
33576 * conf/powerpc-ieee1275.rmk: likewise
33577 * conf/sparc64-ieee1275.rmk: likewise
33578
70b7f9fd 335792009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33580
33581 Fix handling of string like \"hello\" and "a
33582 b"
33583
33584 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33585 (grub_script_yylex): fix parsing of quoting, escaping and newline
33586
71c79a6b 335872009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33588
dd74360c 33589 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33590 handling
dd74360c 33591
0644f96c 335922009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33593
33594 * util/grub-mkconfig.in: Fix parsing of --output option.
33595
e40893c3 335962009-06-12 Pavel Roskin <proski@gnu.org>
33597
33598 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33599 genmk.rb don't need to be generated or installed.
33600
3a1acfe2 336012009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33602
33603 * commands/i386/pc/drivemap_int13h.S: add more comments
33604
3a4575d4 336052009-06-11 Pavel Roskin <proski@gnu.org>
33606
0658e928 33607 * Makefile.in (uninstall): Uninstall manuals.
33608
ca0388f0 33609 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33610 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33611 and update-grub_lib in two places.
33612 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33613
e3b27c39 33614 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33615 a compiler warning.
33616
3a4575d4 33617 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33618 `entry_lo' to fix variable shadowing.
33619
af1f4f55 336202009-06-11 Christian Franke <franke@computer.org>
33621
33622 * kern/misc.c (__enable_execute_stack): Add missing return type
33623 to prevent gcc warning.
33624
5225e649 336252009-06-11 Felix Zielcke <fzielcke@z-51.de>
33626
33627 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33628
7d83bd47 336292009-06-11 Pavel Roskin <proski@gnu.org>
33630
c1cb63ba 33631 * Makefile.in: Don't rely on any scripts being executable.
33632 Always use $(SHELL) to run shell scripts.
33633
7d83bd47 33634 * configure.ac: Always define ___main if using -nostdlib. This
33635 fixes tests on Cygwin.
33636
948f48e7 336372009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33638
33639 UDF fix
33640
7d83bd47 33641 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33642 is in bytes and not in blocks
7d83bd47 33643
8ada9bc1 336442009-06-11 Pavel Roskin <proski@gnu.org>
33645
33646 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33647 warning.
33648
25ad2323 336492009-06-11 Felix Zielcke <fzielcke@z-51.de>
33650
33651 * util/grub.d/30_os-prober.in: Fix a comment. Source
33652 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33653 to set the root device. Place drivemap command in the generated
33654 chain entry.
33655
e65acb0c 336562009-06-11 Pavel Roskin <proski@gnu.org>
33657
33658 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33659 have long been resolved.
33660
f285fe2d 336612009-06-11 Colin Watson <cjwatson@ubuntu.com>
33662
bd47b0b5 33663 * util/grub.d/10_linux.in: Capitalise "Linux".
33664
f285fe2d 33665 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33666
a0c62e4e 336672009-06-11 Pavel Roskin <proski@gnu.org>
33668
b6783cb2 33669 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33670 fix a gcc warning and ensure that the function won't ever exit.
33671
dde032e8 33672 * kern/i386/ieee1275/init.c: Add missing prototype for
33673 grub_stop_floppy().
33674
22cd079d 33675 * loader/ieee1275/multiboot2.c [__i386__]: Include
33676 grub/cpu/multiboot.h.
33677
a0c62e4e 33678 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33679 casts to short - they are not portable and cause warnings. Fix
33680 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33681
63963d17 336822009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33683
33684 Drivemap fixes
33685
33686 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33687 new function
33688 (grub_get_root_biosnumber_saved): new variable
33689 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33690 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33691 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33692 %dx after the call if necessary
33693 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33694 (boot_mod_SOURCES): remove
33695 (boot_mod_CFLAGS): remove
33696 (boot_mod_LDFLAGS): remove
33697 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33698 (boot_mod_SOURCES): new variable
33699 (boot_mod_CFLAGS): likewise
33700 (boot_mod_LDFLAGS): likewise
33701 * conf/i386-efi.rmk: likewise
33702 * conf/i386-ieee1275.rmk: likewise
33703 * conf/i386-pc.rmk: likewise
33704 * conf/powerpc-ieee1275.rmk: likewise
33705 * conf/sparc64-ieee1275.rmk: likewise
33706 * conf/x86_64-efi.rmk: likewise
33707 * include/grub/i386/pc/biosnum.h: new file
33708 * lib/i386/pc/biosnum.c: likewise
33709 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33710 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33711 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33712
33abf7ae 337132009-06-10 Pavel Roskin <proski@gnu.org>
33714
5ac35b35 33715 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33716 Use separate variables. Read only the file size at the end, but
33717 not the checksum that we don't use.
33718
5c5215d5 33719 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33720 Adjust all callers.
33721
27d5fef7 33722 * kern/ieee1275/openfw.c: Remove libc includes.
33723 * kern/ieee1275/cmain.c: Likewise.
33724 * include/grub/ieee1275/ieee1275.h: Likewise.
33725
33abf7ae 33726 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33727 compiler warnings.
33728
19d50c2b 337292009-06-10 Felix Zielcke <fzielcke@z-51.de>
33730
33731 * Makefile.in: Remove all trailing whitespace.
33732 * conf/i386-pc.rmk: Likewise.
33733 * conf/powerpc-ieee1275.rmk: Likewise.
33734 * conf/sparc64-ieee1275.rmk: Likewise.
33735 * docs/grub.texi: Likewise.
33736 * docs/texinfo.tex: Likewise.
33737 * disk/fs_uuid.c: Likewise.
33738 * disk/lvm.c: Likewise.
33739 * disk/scsi.c: Likewise.
33740 * disk/ata.c: Likewise.
33741 * disk/ieee1275/ofdisk.c: Likewise.
33742 * disk/i386/pc/biosdisk.c: Likewise.
33743 * disk/host.c: Likewise.
33744 * disk/raid.c: Likewise.
33745 * disk/efi/efidisk.c: Likewise.
33746 * disk/usbms.c: Likewise.
33747 * disk/memdisk.c: Likewise.
33748 * disk/loopback.c: Likewise.
33749 * kern/powerpc/dl.c: Likewise.
33750 * kern/device.c: Likewise.
33751 * kern/dl.c: Likewise.
33752 * kern/sparc64/dl.c: Likewise.
33753 * kern/ieee1275/ieee1275.c: Likewise.
33754 * kern/term.c: Likewise.
33755 * kern/fs.c: Likewise.
33756 * kern/i386/dl.c: Likewise.
33757 * kern/i386/pc/startup.S: Likewise.
33758 * kern/i386/pc/init.c: Likewise.
33759 * kern/i386/pc/mmap.c: Likewise.
33760 * kern/i386/pc/lzo1x.S: Likewise.
33761 * kern/i386/ieee1275/init.c: Likewise.
33762 * kern/i386/realmode.S: Likewise.
33763 * kern/i386/tsc.c: Likewise.
33764 * kern/partition.c: Likewise.
33765 * kern/corecmd.c: Likewise.
33766 * kern/file.c: Likewise.
33767 * kern/efi/efi.c: Likewise.
33768 * kern/efi/init.c: Likewise.
33769 * kern/efi/mm.c: Likewise.
33770 * kern/main.c: Likewise.
33771 * kern/err.c: Likewise.
33772 * kern/env.c: Likewise.
33773 * kern/disk.c: Likewise.
33774 * kern/generic/millisleep.c: Likewise.
33775 * kern/generic/rtc_get_time_ms.c: Likewise.
33776 * kern/misc.c: Likewise.
33777 * kern/parser.c: Likewise.
33778 * genmk.rb: Likewise.
33779 * configure.ac: Likewise.
33780 * boot/i386/pc/diskboot.S: Likewise.
33781 * boot/i386/pc/pxeboot.S: Likewise.
33782 * boot/i386/pc/boot.S: Likewise.
33783 * boot/i386/pc/lnxboot.S: Likewise.
33784 * boot/i386/pc/cdboot.S: Likewise.
33785 * parttool/pcpart.c: Likewise.
33786 * video/readers/tga.c: Likewise.
33787 * video/video.c: Likewise.
33788 * video/bitmap.c: Likewise.
33789 * lib/envblk.c: Likewise.
33790 * lib/i386/setjmp.S: Likewise.
33791 * fs/xfs.c: Likewise.
33792 * fs/afs.c: Likewise.
33793 * fs/fat.c: Likewise.
33794 * fs/ntfs.c: Likewise.
33795 * fs/udf.c: Likewise.
33796 * fs/affs.c: Likewise.
33797 * fs/iso9660.c: Likewise.
33798 * fs/hfs.c: Likewise.
33799 * fs/fshelp.c: Likewise.
33800 * fs/ext2.c: Likewise.
33801 * fs/jfs.c: Likewise.
33802 * fs/reiserfs.c: Likewise.
33803 * fs/hfsplus.c: Likewise.
33804 * fs/minix.c: Likewise.
33805 * fs/cpio.c: Likewise.
33806 * fs/sfs.c: Likewise.
33807 * fs/ufs.c: Likewise.
33808 * efiemu/prepare.c: Likewise.
33809 * efiemu/loadcore_common.c: Likewise.
33810 * efiemu/runtime/efiemu.sh: Likewise.
33811 * efiemu/runtime/efiemu.S: Likewise.
33812 * efiemu/runtime/efiemu.c: Likewise.
33813 * efiemu/pnvram.c: Likewise.
33814 * efiemu/main.c: Likewise.
33815 * efiemu/i386/pc/cfgtables.c: Likewise.
33816 * efiemu/i386/loadcore64.c: Likewise.
33817 * efiemu/i386/loadcore32.c: Likewise.
33818 * efiemu/loadcore.c: Likewise.
33819 * efiemu/symbols.c: Likewise.
33820 * efiemu/mm.c: Likewise.
33821 * include/grub/autoefi.h: Likewise.
33822 * include/grub/datetime.h: Likewise.
33823 * include/grub/term.h: Likewise.
33824 * include/grub/hfs.h: Likewise.
33825 * include/grub/lvm.h: Likewise.
33826 * include/grub/i386/tsc.h: Likewise.
33827 * include/grub/i386/linux.h: Likewise.
33828 * include/grub/i386/xnu.h: Likewise.
33829 * include/grub/i386/efiemu.h: Likewise.
33830 * include/grub/i386/pc/biosdisk.h: Likewise.
33831 * include/grub/i386/pc/memory.h: Likewise.
33832 * include/grub/i386/pc/vbe.h: Likewise.
33833 * include/grub/parttool.h: Likewise.
33834 * include/grub/video.h: Likewise.
33835 * include/grub/memory.h: Likewise.
33836 * include/grub/fs.h: Likewise.
33837 * include/grub/partition.h: Likewise.
33838 * include/grub/xnu.h: Likewise.
33839 * include/grub/efi/api.h: Likewise.
33840 * include/grub/efi/pe32.h: Likewise.
33841 * include/grub/efi/memory.h: Likewise.
33842 * include/grub/multiboot.h: Likewise.
33843 * include/grub/usbdesc.h: Likewise.
33844 * include/grub/multiboot2.h: Likewise.
33845 * include/grub/acpi.h: Likewise.
33846 * include/grub/efiemu/efiemu.h: Likewise.
33847 * include/grub/disk.h: Likewise.
33848 * include/grub/ieee1275/ieee1275.h: Likewise.
33849 * include/grub/net.h: Likewise.
33850 * include/grub/machoload.h: Likewise.
33851 * include/grub/macho.h: Likewise.
33852 * include/multiboot.h: Likewise.
33853 * genmoddep.awk: Likewise.
33854 * normal/main.c: Likewise.
33855 * normal/menu_entry.c: Likewise.
33856 * normal/menu_viewer.c: Likewise.
33857 * normal/completion.c: Likewise.
33858 * normal/cmdline.c: Likewise.
33859 * normal/misc.c: Likewise.
33860 * normal/datetime.c: Likewise.
33861 * bus/usb/usbtrans.c: Likewise.
33862 * bus/usb/ohci.c: Likewise.
33863 * bus/usb/uhci.c: Likewise.
33864 * bus/usb/usb.c: Likewise.
33865 * mmap/efi/mmap.c: Likewise.
33866 * mmap/i386/pc/mmap_helper.S: Likewise.
33867 * mmap/i386/pc/mmap.c: Likewise.
33868 * mmap/i386/mmap.c: Likewise.
33869 * mmap/i386/uppermem.c: Likewise.
33870 * mmap/mmap.c: Likewise.
33871 * commands/acpi.c: Likewise.
33872 * commands/echo.c: Likewise.
33873 * commands/blocklist.c: Likewise.
33874 * commands/loadenv.c: Likewise.
33875 * commands/usbtest.c: Likewise.
33876 * commands/boot.c: Likewise.
33877 * commands/parttool.c: Likewise.
33878 * commands/search.c: Likewise.
33879 * commands/cat.c: Likewise.
33880 * commands/i386/pc/play.c: Likewise.
33881 * commands/i386/pc/drivemap.c: Likewise.
33882 * commands/i386/pc/vbeinfo.c: Likewise.
33883 * commands/i386/pc/acpi.c: Likewise.
33884 * commands/i386/pc/vbetest.c: Likewise.
33885 * commands/ls.c: Likewise.
33886 * commands/cmp.c: Likewise.
33887 * commands/test.c: Likewise.
33888 * commands/efi/acpi.c: Likewise.
33889 * commands/gptsync.c: Likewise.
33890 * commands/help.c: Likewise.
33891 * partmap/amiga.c: Likewise.
33892 * partmap/apple.c: Likewise.
33893 * partmap/acorn.c: Likewise.
33894 * partmap/pc.c: Likewise.
33895 * partmap/sun.c: Likewise.
33896 * partmap/gpt.c: Likewise.
33897 * script/sh/lexer.c: Likewise.
33898 * script/sh/function.c: Likewise.
33899 * font/font.c: Likewise.
33900 * font/font_cmd.c: Likewise.
33901 * loader/powerpc/ieee1275/linux.c: Likewise.
33902 * loader/efi/chainloader.c: Likewise.
33903 * loader/multiboot_loader.c: Likewise.
33904 * loader/macho.c: Likewise.
33905 * loader/i386/multiboot.c: Likewise.
33906 * loader/i386/linux.c: Likewise.
33907 * loader/i386/pc/linux.c: Likewise.
33908 * loader/i386/pc/multiboot2.c: Likewise.
33909 * loader/i386/pc/chainloader.c: Likewise.
33910 * loader/i386/pc/xnu.c: Likewise.
33911 * loader/i386/bsd_trampoline.S: Likewise.
33912 * loader/i386/efi/linux.c: Likewise.
33913 * loader/i386/multiboot_elfxx.c: Likewise.
33914 * loader/i386/bsd_helper.S: Likewise.
33915 * loader/i386/bsd.c: Likewise.
33916 * loader/i386/linux_trampoline.S: Likewise.
33917 * loader/i386/xnu_helper.S: Likewise.
33918 * loader/i386/xnu.c: Likewise.
33919 * loader/i386/bsd_pagetable.c: Likewise.
33920 * loader/i386/multiboot_helper.S: Likewise.
33921 * loader/xnu.c: Likewise.
33922 * loader/xnu_resume.c: Likewise.
33923 * io/gzio.c: Likewise.
33924 * term/efi/console.c: Likewise.
33925 * term/terminfo.c: Likewise.
33926 * term/ieee1275/ofconsole.c: Likewise.
33927 * term/i386/pc/serial.c: Likewise.
33928 * term/i386/pc/vesafb.c: Likewise.
33929 * term/i386/pc/vga.c: Likewise.
33930 * term/usb_keyboard.c: Likewise.
33931 * term/gfxterm.c: Likewise.
33932 * aclocal.m4: Likewise.
33933 * util/lvm.c: Likewise.
33934 * util/grub.d/30_os-prober.in: Likewise.
33935 * util/grub.d/10_hurd.in: Likewise.
33936 * util/console.c: Likewise.
33937 * util/grub-macho2img.c: Likewise.
33938 * util/grub-probe.c: Likewise.
33939 * util/hostfs.c: Likewise.
33940 * util/i386/pc/grub-mkimage.c: Likewise.
33941 * util/i386/pc/grub-setup.c: Likewise.
33942 * util/i386/efi/grub-mkimage.c: Likewise.
33943 * util/grub-mkconfig.in: Likewise.
33944 * util/raid.c: Likewise.
33945 * util/resolve.c: Likewise.
33946 * util/grub-mkdevicemap.c: Likewise.
33947 * util/grub-emu.c: Likewise.
33948 * util/getroot.c: Likewise.
33949 * util/hostdisk.c: Likewise.
33950 * util/usb.c: Likewise.
33951 * util/grub-editenv.c: Likewise.
33952 * util/misc.c: Likewise.
33953
d2d49665 339542009-06-10 Felix Zielcke <fzielcke@z-51.de>
33955
33956 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33957 `genparttoollist.sh'.
33958 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33959 Add `*.sh' to the list find searches for and change `mdate.sh'
33960 to `mdate-sh'.
33961
fe052e37 339622009-06-10 Pavel Roskin <proski@gnu.org>
33963
2763ac18 33964 * include/grub/multiboot2.h: Provide compatibility defines for
33965 multiboot2.h.
33966 * include/multiboot2.h: Include stdint.h only if needed, using
33967 angle brackets.
33968 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33969 grub/multiboot2.h.
33970 * loader/ieee1275/multiboot2.c: Likewise.
33971 * loader/multiboot2.c: Likewise.
33972 * loader/multiboot_loader.c: Likewise.
33973
437e6adc 33974 * configure.ac: Use -nostdlib when probing for the target. It
33975 should not be required to have libc for the target.
33976
06a6836c 33977 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33978 they fail without libc headers for the target.
33979 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33980 exports.
33981 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33982 preprocessor conditionals.
33983
fe052e37 33984 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33985 build system doesn't need to be aware of the tar.c internals.
33986
afd22553 339872009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33988
afd22553 33989 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33990
6b787c4f 339912009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33992
33993 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33994 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33995
339962009-06-09 Felix Zielcke <fzielcke@z-51.de>
33997
33998 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33999 aren't available if ata.mod gets used.
6b787c4f 34000
473d1e45 340012009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34002
473d1e45 34003 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34004 initialising controller.
473d1e45 34005 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34006
255a27d4 340072009-06-08 Felix Zielcke <fzielcke@z-51.de>
34008
34009 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34010 to choose between ata and biosdisk module on i386-pc.
34011
473d1e45 340122009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34013
d55842d8 34014 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34015 Subclass and Programming Interface fields in terms of the 3 byte
34016 Class Code register.
34017 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34018
fa5db0b1 34019 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34020 interface is OHCI. Add grub_dprintf for symmetry with
34021 bus/usb/uhci.c.
34022 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34023 interface is UHCI. Add interf variable for programming
34024 interface. Print interface with class/subclass.
34025
c0947beb 34026 * bus/usb/ohci.c: Set interf with correct field.
34027
69da8877 34028 * bus/usb/uhci.c: Remove unneeded doubled lines.
34029 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34030 Remove whitespace inside comment.
34031
9e172e30 340322009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34033
34034 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34035 as fallback an equivalent option without depth.
34036
de65ee2b 340372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34038
34039 Not fail if unable to retrieve C/H/S on LBA disks
34040
473d1e45 34041 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34042 if unable to retrieve C/H/S on LBA disks
34043
b57ea2c9 340442009-06-08 Pavel Roskin <proski@gnu.org>
34045
34046 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34047 about aliasing.
34048
af361263 340492009-06-08 Felix Zielcke <fzielcke@z-51.de>
34050
34051 * Makefile.in (uninstall): Remove all $lib_DATA files.
34052
4c9ec6b3 340532009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34054
34055 Bugfix: install on partitionless device
34056
34057 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34058 is a whole disk
34059
e76fc924 340602009-06-08 Felix Zielcke <fzielcke@z-51.de>
34061
34062 * Makefile.in (uninstall): Remove all $include_DATA files.
34063
ba5a0d05 340642009-06-08 Felix Zielcke <fzielcke@z-51.de>
34065
34066 * commands/true.c: New file. Implement the true and false commands.
34067 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34068 (true_mod_SOURCES): New variable.
34069 (true_mod_CFLAGS): Likewise.
34070 (true_mod_LDFLAGS): Likewise.
34071
c8048e32 340722009-06-05 Colin D Bennett <colin@gibibit.com>
34073
34074 Optimized font character lookup using binary search instead of linear
34075 search. Fonts now are required to have the character index ordered by
34076 code point.
34077
34078 * font/font.c (load_font_index): Verify that fonts have ordered
34079 character indices.
34080 (find_glyph): Use binary search instead of linear search to find a
34081 character in a font.
34082
408305be 340832009-06-05 Michael Scherer <misc@mandriva.org>
34084
34085 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34086 uses case sensitive btree.
34087 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34088 only for case insensitive filesystems.
34089
8ee1e0d9 340902009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34091
34092 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34093 * conf/common.rmk (search_mod_CFLAGS): likewise
34094
a9966eb1 340952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34096
473d1e45 34097 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34098 compensate a compiler bug
34099
9e7100fb 341002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34101
473d1e45 34102 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34103 instead of '\b'
473d1e45 34104
ede21d71 341052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34106
34107 Definitions for creating asm symbols with Apple's CC
34108
34109 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34110 [APPLE_CC] (VARIABLE): likewise
34111
9dbf7653 341122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34113
34114 Disable lnxboot.img when compiled
34115 with Apple's CC
34116
34117 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34118 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34119 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34120 [! APPLE_CC] (CODE_LENG): skip
34121 [! APPLE_CC] (setup_sects): likewise
34122 [! APPLE_CC]: skip filling
473d1e45 34123
e93cdc3d 341242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34125
34126 Address in trampolines based on 32-bit registers when compiled
34127 with Apple's CC
34128
473d1e45 34129 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34130 for addresses
34131 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34132
6c688477 341332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34134
34135 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34136
34137 * kern/misc.c [APPLE_CC] (memcpy): new function
34138 [APPLE_CC] (memmove): likewise
34139 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34140 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34141 (memset): likewise
34142 (abort): likewise
34143 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34144 APPLE_CC are defined
34145 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34146 (grub_assert_fail): make prototype conditional
34147
e37ffc5c 341482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34149
34150 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34151
473d1e45 34152 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34153 grub-macho2img
e37ffc5c 34154 (CLEANFILES): add grub-macho2img
34155 (grub_macho2img_SOURCES): new variable
34156 * kern/i386/pc/startup.S (bss_start): new variable
34157 (bss_end): likewise
34158 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34159 * util/grub-macho2img.c: new file
34160
cf00df31 341612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34162
34163 Use objconv when compiling with Apple's CC
34164
34165 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34166 (efiemu64.o): likewise
34167 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34168 when compiling with Apple's CC
34169 (efiemu64_s.o): likewise
34170 * configure.ac: check for objconv when compiling with Apple's CC
34171 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34172
d119a20c 341732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34174
34175 Define segment as well as section when compiling with
34176 Apple's CC
34177
34178 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34179 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34180 (efiemu_convert_pointer): likewise
34181 (efiemu_set_virtual_address_map): likewise
34182 (efiemu_convert_pointer): likewise
34183 (efiemu_getcrc32): likewise
34184 (init_crc32_table): likewise
34185 (reflect): likewise
34186 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34187 (GRUB_MOD_DEP): likewise
473d1e45 34188
c8600122 341892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34190
34191 Allow a compilation without -mcmodel=large
34192
34193 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34194 when compiled without -mcmodel=large
473d1e45 34195 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34196 without -mcmodel=large
473d1e45 34197 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34198 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34199
e8df1d4e 342002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34201
34202 Remove nested functions in efiemu core
34203
34204 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34205
cc6c3ac1 342062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34207
34208 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34209
34210 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34211 temporary storage
473d1e45 34212 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34213 using Apple's CC
cc6c3ac1 34214 (grub_cpu_is_tsc_supported): likewise
34215 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34216
3e325901 342172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34218
34219 Absolute addressing through constant with Apple's cc
34220
34221 * kern/i386/pc/startup.S: Define necessary constants
34222 and address through it when using ABS with Apple's CC
34223 * boot/i386/pc/diskboot.S: likewise
34224 * boot/i386/pc/boot.S: likewise
34225 * boot/i386/pc/lnxboot.S: likewise
34226 * boot/i386/pc/cdboot.S: likewise
34227 * mmap/i386/pc/mmap_helper.S: likewise
34228 * commands/i386/pc/drivemap_int13h.S: likewise
34229
2b167a72 342302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34231
34232 Check if compiler is apple cc
34233
34234 * Makefile.in (ASFLAGS): new variable
34235 (TARGET_ASFLAGS): likewise
34236 (TARGET_MODULE_FORMAT): likewise
34237 (TARGET_APPLE_CC): likewise
34238 (OBJCONV): likewise
34239 (TARGET_IMG_CFLAGS): likewise
34240 (TARGET_CPPFLAGS): add includedir
34241 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34242 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34243 Check for linker script only if compiler isn't Apple's CC
34244 (TARGET_MODULE_FORMAT): set
34245 (TARGET_APPLE_CC): likewise
34246 (TARGET_ASFLAGS): likewise
34247 (ASFLAGS): likewise
34248 Check for objcopy only if compiler isn't Apple's CC
34249 Check for BSS symbol only if compiler isn't Apple's CC
34250 * genmk.rb: adapt nm options if we use Apple's utils
34251 * aclocal.m4 (grub_apple_cc): new test
34252 (grub_apple_target_cc): likewise
473d1e45 34253
fb14123e 342542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34255
34256 Simplify sed expressions and improve awk
34257
34258 * Makefile.in (install-local): simplify sed expression
34259 * gencmdlist.sh: likewise
34260 * genmoddep.awk: avoid adding module as a dependency of itself
34261
5b889789 342622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34263
34264 Add missing start symbols
34265
34266 * boot/i386/pc/boot.S: add start
fb14123e 34267 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34268
fd2bf2e3 342692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34270
34271 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34272
34273 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34274 (relocate_addresses): consider both r_addend and value at offset
34275 (make_mods_section): zerofill modinfo and header
34276 (convert_elf): write prefix here
473d1e45 34277
5389763d 342782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34279
34280 Use .asciz instead of .string
34281
34282 * i386/pc/diskboot.S: use .asciz instead of .string
34283 * i386/pc/boot.S: likewise
34284 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34285 (GRUB_MOD_NAME): likewise
473d1e45 34286
3eb5ed4e 342872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34288
34289 gfxpayload support
34290
34291 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34292 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34293 (grub_video_setup): remove
34294 (grub_video_set_mode): new prototype
34295 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34296 (vid_mode): remove
34297 (linux_vesafb_res): compile only on PCBIOS
34298 (grub_linux_boot): support gfxpayload
34299 * loader/i386/pc/xnu.c (video_hook): new function
34300 (grub_xnu_set_video): support gfxpayload
34301 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34302 (DEFAULT_VIDEO_HEIGHT): likewise
34303 (DEFAULT_VIDEO_FLAGS): likewise
34304 (DEFAULT_VIDEO_MODE): new definition
34305 (video_hook): new function
34306 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34307 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34308 loading xnu
34309 * video/video.c (grub_video_setup): removed
473d1e45 34310 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34311 grub_video_setup
34312
4b0e1143 343132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34314
34315 Avoid calling biosdisk in drivemap
34316
34317 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34318 (revparse_biosdisk): likewise
34319 (list_mappings): derive name from id directly
34320 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34321
fda6cb98 343222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34323
34324 Script fixes
34325
34326 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34327 (grub_lexer_param): add tokenonhold
34328 (grub_script_create_cmdline): remove cmdline. All callers updated
34329 (grub_script_function_create): make functionname
34330 grub_script_arg. All callers updated
34331 (grub_script_execute_argument_to_string): new prototype
34332 * kern/parser.c (state_transitions): reorder
34333 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34334 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34335 make global
34336 (grub_script_execute_cmdline): use new format
34337 * script/sh/function.c (grub_script_function_create): make functionname
34338 grub_script_arg. All callers updated
473d1e45 34339 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34340 (grub_script_yylex): remove
34341 (grub_script_yylex2): renamed to ...
34342 (grub_script_yylex): ...renamed
34343 parse the expressions like a${b}c
34344 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34345 (GRUB_PARSER_TOKEN_VAR): remove
34346 (GRUB_PARSER_TOKEN_NAME): likewise
34347 ("if"): declare as typeless
34348 ("while"): likewise
34349 ("function"): likewise
34350 ("else"): likewise
34351 ("then"): likewise
34352 ("fi"): likewise
34353 (text): remove
34354 (argument): likewise
34355 (script): accept empty scripts and make exit on error
34356 (arguments): use GRUB_PARSER_TOKEN_ARG
34357 (function): likewise
34358 (command): move error handling to script
34359 (menuentry): move grub_script_lexer_ref before
473d1e45 34360 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34361 argument. All callers updated
34362
f4448a07 343632009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34364
34365 Prevent GRUB from probing floppies during boot.
34366
34367 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34368 * commands/search.c (options): Add --no-floppy.
34369 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34370 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34371 --no-floppy when searching for UUIDs.
34372
2bf5885a 343732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34374
34375 Simplify the code duplication in commands/search.c.
34376
34377 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34378 (search_fs): ... this. Update all users.
34379
f6fd460a 343802009-06-03 Felix Zielcke <fzielcke@z-51.de>
34381
34382 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34383
cbb3c83e 343842009-05-28 Pavel Roskin <proski@gnu.org>
34385
57788cfd 34386 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34387 Remove the original symlink explicitly.
34388
cbb3c83e 34389 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34390 just one slash. That's how grub_fshelp_find_file() does it.
34391
cd0d5e30 343922009-05-26 Pavel Roskin <proski@gnu.org>
34393
f0f8bbe2 34394 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34395 to `str'.
34396
cd0d5e30 34397 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34398 possibly unused.
34399
8c2cab51 344002009-05-25 Christian Franke <franke@computer.org>
34401
34402 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34403 register.
34404 (grub_atapi_identify): Add wait after drive select.
34405 (grub_ata_identify): Do more strict status register check before
34406 calling grub_atapi_identify (). Suppress error message if status
34407 register is 0x00 after command failure. Add status register
34408 check after PIO read to avoid bogus identify due to stuck DRQ.
34409 Thanks to Pavel Roskin for testing.
34410 (grub_device_initialize): Remove unsafe status register check.
34411 Thanks to 'phcoder' for problem report and patch.
34412 Prevent sign extension in debug message.
34413
230c0ad6 344142009-05-23 Colin D Bennett <colin@gibibit.com>
34415
34416 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34417 definition file, and functions defined in `normal/menu.c' have had
34418 their prototypes moved to `include/grub/menu.h' for consistency.
34419
34420 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34421 from normal.h.
34422 (grub_menu_get_entry): Likewise.
34423 (grub_menu_get_timeout): Likewise.
34424 (grub_menu_set_timeout): Likewise.
34425 (grub_menu_execute_entry): Likewise.
34426 (grub_menu_execute_with_fallback): Likewise.
34427 (grub_menu_entry_run): Likewise.
34428
34429 * include/grub/normal.h: Re-ordered and grouped function
34430 prototypes by file that the function is defined in.
34431 (grub_menu_execute_callback): Removed; moved to menu.h.
34432 (grub_menu_get_entry): Likewise.
34433 (grub_menu_get_timeout): Likewise.
34434 (grub_menu_set_timeout): Likewise.
34435 (grub_menu_execute_entry): Likewise.
34436 (grub_menu_execute_with_fallback): Likewise.
34437 (grub_menu_entry_run): Likewise.
34438 (grub_menu_addentry): Renamed from this ...
34439 (grub_normal_add_menu_entry): ... to this.
34440
34441 * normal/main.c (grub_menu_addentry): Renamed from this ...
34442 (grub_normal_add_menu_entry): ... to this.
34443
34444 * script/sh/execute.c (grub_script_execute_menuentry): Update
34445 reference to renamed grub_menu_addentry function.
34446
861f03a5 344472009-05-23 Felix Zielcke <fzielcke@z-51.de>
34448
34449 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34450
96b1619a 344512009-05-22 Pavel Roskin <proski@gnu.org>
34452
bf6a5fb2 34453 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34454 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34455 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34456 compiling for the i386 targets, but not for the utilities.
34457
96b1619a 34458 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34459 to grub_uint8_t.
34460 (grub_root_drive): Likewise.
34461 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34462 remove alignment.
34463 (grub_root_drive): Change size to byte.
34464 (grub_start_addr): Remove.
34465 (grub_end_addr): Likewise.
34466 (grub_apm_bios_info): Likewise.
34467
b729776b 344682009-05-21 Felix Zielcke <fzielcke@z-51.de>
34469
34470 * normal/i386: Remove.
34471 * normal/powerpc: Likewise.
34472 * normal/sparc64: Likewise.
34473 * normal/x86_64: Likewise.
34474
0a15ce80 344752009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34476
34477 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34478 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34479 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34480
33db9015 344812009-05-18 Colin D Bennett <colin@gibibit.com>
34482
d6da58e6 34483 Display error messages when parsing a Lua statement fails.
34484 Previously, executing a syntactically invalid statement like
34485 ")foo" or "bar;" would silently fail.
33db9015 34486
34487 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34488 (grub_lua_parse_line): Improved reporting of Lua parser and
34489 execution errors.
33db9015 34490
46422c89 344912009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34492
34493 Remove -Werror which causes build to fail on some systems
34494
34495 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34496 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34497 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34498
22f53a96 344992009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34500
34501 trampoline for linux on 64-bit platform
34502
18f547ad 34503 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34504 loader/i386/efi/linux_trampoline.S
34505 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34506 declaration
d6da58e6 34507 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34508 here
22f53a96 34509 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34510 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34511 trampoline
22f53a96 34512 (jumpvector): removed
34513 (grub_linux_trampoline_start): new declaration
34514 (grub_linux_trampoline_end): likewise
34515 (grub_linux_boot): use trampoline when on 64-bit platform
34516 * loader/i386/linux.c: likewise
34517
cb5a0f40 345182009-05-16 Pavel Roskin <proski@gnu.org>
34519
34520 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34521 const to avoid a warning.
34522 (grub_lua_setenv): Likewise.
34523 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34524 lmsg to fix a warning.
34525
334f2c28 345262009-05-16 Felix Zielcke <fzielcke@z-51.de>
34527
34528 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34529 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34530 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34531 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34532 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34533 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34534 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34535 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34536
59e5d3ec 345372009-05-16 Felix Zielcke <fzielcke@z-51.de>
34538
34539 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34540
9d87a1ba 345412009-05-16 Bean <bean123ch@gmail.com>
34542
34543 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34544 (lua_mod_SOURCES): New variable.
34545 (lua_mod_CFLAGS): Likewise.
34546 (lua_mod_LDFLAGS): Likewise.
34547
34548 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34549 (setjmp_mod_SOURCES): New variable.
34550 (setjmp_mod_CFLAGS): Likewise.
34551 (setjmp_LDFLAGS): Likewise.
34552
34553 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34554 (setjmp_mod_SOURCES): New variable.
34555 (setjmp_mod_CFLAGS): Likewise.
34556 (setjmp_LDFLAGS): Likewise.
34557
34558 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34559 (setjmp_mod_SOURCES): New variable.
34560 (setjmp_mod_CFLAGS): Likewise.
34561 (setjmp_LDFLAGS): Likewise.
34562
34563 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34564 (setjmp_mod_SOURCES): New variable.
34565 (setjmp_mod_CFLAGS): Likewise.
34566 (setjmp_LDFLAGS): Likewise.
34567
34568 * normal/i386/setjmp.S: Moved from here ...
34569 * lib/i386/setjmp.S: ... Moved here
34570 * normal/x86_64/setjmp.S: Moved from here ...
34571 * lib/x86_64/setjmp.S: ... Moved here
34572 * normal/powerpc/setjmp.S: Moved from here ...
34573 * lib/powerpc/setjmp.S: ... Moved here
34574 * normal/sparc64/setjmp.S: Moved from here ...
34575 * lib/sparc64/setjmp.S: ... Moved here
34576
34577 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34578 returns_twice in mingw.
34579
34580 * script/lua/grub_lib.c: New file.
34581 * script/lua/grub_lib.h: Likewise.
34582 * script/lua/grub_lua.h: Likewise.
34583 * script/lua/grub_main.c: Likewise.
34584 * script/lua/lapi.c: Likewise.
34585 * script/lua/lapi.h: Likewise.
34586 * script/lua/lauxlib.c: Likewise.
34587 * script/lua/lauxlib.h: Likewise.
34588 * script/lua/lbaselib.c: Likewise.
34589 * script/lua/lcode.c: Likewise.
34590 * script/lua/lcode.h: Likewise.
34591 * script/lua/ldblib.c: Likewise.
34592 * script/lua/ldebug.c: Likewise.
34593 * script/lua/ldebug.h: Likewise.
34594 * script/lua/ldo.c: Likewise.
34595 * script/lua/ldo.h: Likewise.
34596 * script/lua/ldump.c: Likewise.
34597 * script/lua/lfunc.c: Likewise.
34598 * script/lua/lfunc.h: Likewise.
34599 * script/lua/lgc.c: Likewise.
34600 * script/lua/lgc.h: Likewise.
34601 * script/lua/linit.c: Likewise.
34602 * script/lua/liolib.c: Likewise.
34603 * script/lua/llex.c: Likewise.
34604 * script/lua/llex.h: Likewise.
34605 * script/lua/llimits.h: Likewise.
34606 * script/lua/lmathlib.c: Likewise.
34607 * script/lua/lmem.c: Likewise.
34608 * script/lua/lmem.h: Likewise.
34609 * script/lua/loadlib.c: Likewise.
34610 * script/lua/lobject.c: Likewise.
34611 * script/lua/lobject.h: Likewise.
34612 * script/lua/lopcodes.c: Likewise.
34613 * script/lua/lopcodes.h: Likewise.
34614 * script/lua/loslib.c: Likewise.
34615 * script/lua/lparser.c: Likewise.
34616 * script/lua/lparser.h: Likewise.
34617 * script/lua/lstate.c: Likewise.
34618 * script/lua/lstate.h: Likewise.
34619 * script/lua/lstring.c: Likewise.
34620 * script/lua/lstring.h: Likewise.
34621 * script/lua/lstrlib.c: Likewise.
34622 * script/lua/ltable.c: Likewise.
34623 * script/lua/ltable.h: Likewise.
34624 * script/lua/ltablib.c: Likewise.
34625 * script/lua/ltm.c: Likewise.
34626 * script/lua/ltm.h: Likewise.
34627 * script/lua/lua.h: Likewise.
34628 * script/lua/luaconf.h: Likewise.
34629 * script/lua/lualib.h: Likewise.
34630 * script/lua/lundump.c: Likewise.
34631 * script/lua/lundump.h: Likewise.
34632 * script/lua/lvm.c: Likewise.
34633 * script/lua/lvm.h: Likewise.
34634 * script/lua/lzio.c: Likewise.
34635 * script/lua/lzio.h: Likewise.
34636
5e898c9d 346372009-05-16 Bean <bean123ch@gmail.com>
34638
34639 * include/grub/kernel.h (grub_module_header_types): Add type
34640 OBJ_TYPE_CONFIG.
34641
34642 * kern/main.c (grub_load_config): New function.
34643 (grub_main): Call grub_load_config to read boot config.
34644
34645 * grub-mkimage (generate_image): New parameter config_path.
34646 (options): New option --config.
34647 (main): Parse --config option, and pass it to generate_image.
34648
cf353a47 346492009-05-14 Christian Franke <franke@computer.org>
34650
34651 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34652 This fixes build on Cygwin.
34653
3834887f 346542009-05-14 Pavel Roskin <proski@gnu.org>
34655
34656 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34657 jump. This saves two bytes, so the typical case of 2 swapped
34658 drives would fit 32 bytes.
34659
8090fc01 346602009-05-13 Pavel Roskin <proski@gnu.org>
34661
ac963883 34662 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34663 grub_uint32_t to avoid a warning.
34664
8090fc01 34665 * loader/i386/linux.c (allocate_pages): When assigning
34666 real_mode_mem, cast through grub_size_t to fix a warning. The
34667 code already makes sure that the value would fit a pointer.
34668 (grub_linux_setup_video): Cast render_target->data to
34669 grub_size_t to fix a warning.
34670
18f547ad 346712009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34672
34673 * commands/i386/pc/drivemap.c: New file - implement drivemap
34674 command.
34675 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34676 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34677
6f6a8b28 346782009-05-13 Pavel Roskin <proski@gnu.org>
34679
34680 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34681 embedding_area_exists.
34682
15fbf4c4 346832009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34684
34685 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34686 it easier to understand / work with.
59978c8a 34687 Improve warning messages for cases where there's no embedding area,
34688 or when it is too small (or core.img too large).
15fbf4c4 34689
238e871f 346902009-05-13 Pavel Roskin <proski@gnu.org>
34691
0ab3a9a4 34692 * loader/i386/pc/multiboot2.c: Add necessary includes for
34693 grub_multiboot2_real_boot().
34694
a2c8c5f8 34695 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34696 PX record is always little-endian. We only need the lower 2
34697 bytes of the mode.
34698
faec96af 34699 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34700 facilitate code reuse.
34701 (grub_cpio_mount): Use "struct head", not a char buffer. This
34702 fixes a warning reported by gcc 4.4.
34703
238e871f 34704 * kernel/disk.c (grub_disk_read): Use void pointer for the
34705 buffer.
34706 (grub_disk_write): Use const void pointer for the buffer.
34707 Adjust all callers. Remove unnecessary casts.
34708
901d2f0c 347092009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34710
34711 * util/i386/pc/grub-install.in: Update copyright year.
34712
18f547ad 347132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34714
34715 gptsync
34716
34717 * commands/gptsync.c: new file
34718 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34719 (gptsync_mod_SOURCES): new variable
34720 (gptsync_mod_CFLAGS): likewise
34721 (gptsync_mod_LDFLAGS): likewise
18f547ad 34722 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34723 new definition
34724 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34725 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34726 * conf/i386-ieee1275.rmk: likewise
34727 * conf/i386-pc.rmk: likewise
34728 * conf/powerpc-ieee1275.rmk: likewise
34729
b4ba690a 347302009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34731
34732 Fixed grub-emu
34733
34734 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34735 (grub_dl_ref): likewise
34736
317e1a44 347372009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34738
34739 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34740 split in two functions (one for msdos and one for gpt).
34741
041b8094 347422009-05-08 Pavel Roskin <proski@gnu.org>
34743
752473c2 34744 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34745 not modified.
34746
041b8094 34747 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34748 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34749 Initialize them with -1. Add sanity check for bad1. Eliminate
34750 nerr variable.
34751
172800ce 347522009-05-08 David S. Miller <davem@davemloft.net>
34753
34754 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34755
29aa5e81 347562009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34757
34758 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34759 existence.
29aa5e81 34760
96613b62 347612009-05-05 Felix Zielcke <fzielcke@z-51.de>
34762
34763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34764 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34765
eef73c8a 347662009-05-05 David S. Miller <davem@davemloft.net>
34767
34768 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34769
119494b5 347702009-05-05 Pavel Roskin <proski@gnu.org>
34771
34772 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34773 of grub_dl_ref() and grub_dl_unref().
34774 * commands/parttool.c: Remove preprocessor conditionals around
34775 grub_dl_ref() and grub_dl_unref().
34776 * fs/affs.c: Likewise.
34777 * fs/afs.c: Likewise.
34778 * fs/cpio.c: Likewise.
34779 * fs/ext2.c: Likewise.
34780 * fs/fat.c: Likewise.
34781 * fs/hfs.c: Likewise.
34782 * fs/hfsplus.c: Likewise.
34783 * fs/iso9660.c: Likewise.
34784 * fs/jfs.c: Likewise.
34785 * fs/minix.c: Likewise.
34786 * fs/ntfs.c: Likewise.
34787 * fs/reiserfs.c: Likewise.
34788 * fs/sfs.c: Likewise.
34789 * fs/udf.c: Likewise.
34790 * fs/ufs.c: Likewise.
34791 * fs/xfs.c: Likewise.
34792 * include/grub/dl.h: Likewise.
34793 * loader/xnu.c: Likewise.
34794
de5fd76e 347952009-05-04 Pavel Roskin <proski@gnu.org>
34796
34797 * commands/acpi.c: Remove unused variable my_mod.
34798 * partmap/amiga.c: Likewise.
34799 * partmap/apple.c: Likewise.
34800 * partmap/gpt.c: Likewise.
34801 * partmap/pc.c: Likewise.
34802 * partmap/sun.c: Likewise.
34803 * term/gfxterm.c: Likewise.
34804 * term/i386/pc/vesafb.c: Likewise.
34805 * term/i386/pc/vga.c: Likewise.
34806
983598ad 348072009-05-04 David S. Miller <davem@davemloft.net>
34808
34809 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34810 pointer args to grub_ieee1275_get_property().
34811
8aadec43 34812 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34813
9554b15e 34814 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34815 devices, and do not traverse down under controller nodes.
34816
67e23c90 34817 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34818 (grub_ofdisk_open): Use it to un-escape "," characters.
34819 * kern/disk.c (find_part_sep): New.
34820 (grub_disk_open): Use it to find the first non-escaped ','
34821 character in the disk name.
34822 * util/ieee1275/devicemap.c (escape_of_path): New.
34823 (grub_util_emit_devicemap_entry): Use it.
34824 * util/sparc64/ieee1275/grub-install.in: Update script to
34825 strip partition specifiers properly by not triggering on
34826 '\' escaped ',' characters.
34827
74bfdd2f 348282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34829
34830 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34831 to 0x300.
34832 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34833 resolutions.
34834 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34835 on documentation from Wikipedia).
34836
4241d2b1 348372009-05-04 Pavel Roskin <proski@gnu.org>
34838
34839 * disk/ata.c: Spelling fixes.
34840 * disk/raid.c: Likewise.
34841 * disk/usbms.c: Likewise.
34842 * disk/dmraid_nvidia.c: Likewise.
34843 * kern/ieee1275/openfw.c: Likewise.
34844 * kern/ieee1275/init.c: Likewise.
34845 * kern/ieee1275/cmain.c: Likewise.
34846 * boot/i386/pc/cdboot.S: Likewise.
34847 * video/readers/png.c: Likewise.
34848 * video/i386/pc/vbe.c: Likewise.
34849 * fs/udf.c: Likewise.
34850 * fs/hfs.c: Likewise.
34851 * fs/reiserfs.c: Likewise.
34852 * efiemu/runtime/efiemu.c: Likewise.
34853 * efiemu/main.c: Likewise.
34854 * efiemu/mm.c: Likewise.
34855 * include/grub/elf.h: Likewise.
34856 * include/grub/xnu.h: Likewise.
34857 * include/grub/usbdesc.h: Likewise.
34858 * include/grub/usb.h: Likewise.
34859 * include/grub/script_sh.h: Likewise.
34860 * include/grub/lib/LzmaEnc.h: Likewise.
34861 * include/grub/efiemu/efiemu.h: Likewise.
34862 * include/grub/command.h: Likewise.
34863 * normal/menu.c: Likewise.
34864 * normal/main.c: Likewise.
34865 * normal/datetime.c: Likewise.
34866 * bus/usb/uhci.c: Likewise.
34867 * mmap/i386/uppermem.c: Likewise.
34868 * mmap/mmap.c: Likewise.
34869 * commands/acpi.c: Likewise.
34870 * commands/test.c: Likewise.
34871 * partmap/apple.c: Likewise.
34872 * font/font.c: Likewise.
34873 * loader/sparc64/ieee1275/linux.c: Likewise.
34874 * loader/macho.c: Likewise.
34875 * loader/i386/bsd_trampoline.S: Likewise.
34876 * loader/i386/bsd.c: Likewise.
34877 * loader/xnu.c: Likewise.
34878 * term/i386/pc/vesafb.c: Likewise.
34879 * term/usb_keyboard.c: Likewise.
34880 * util/resolve.c: Likewise.
34881 * util/getroot.c: Likewise.
34882
0cfc0083 348832009-05-04 Felix Zielcke <fzielcke@z-51.de>
34884
34885 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34886
7c1d00cd 348872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34888
34889 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34890 build error.
34891
b01f0548 348922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34893
34894 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34895 parameter only available on BIOS.
34896
ecc3eb22 348972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34898
34899 Removed wrong semicolon in declaration
34900
34901 * grub/misc.h (grub_dprintf): remove semicolon
34902
112972a9 349032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34904
34905 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34906 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34907 is done by grub_cmd_linux() now).
34908 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34909 restore video to text mode.
34910 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34911 indicates lack of "vga=" parameter. "vga=0" is mapped to
34912 `GRUB_LINUX_VID_MODE_NORMAL'.
34913
afd5c115 349142009-05-04 Felix Zielcke <fzielcke@z-51.de>
34915
34916 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34917 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34918 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34919 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34920 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34921 `grub_script.tab.c'.
34922
34923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34924 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34927 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34928
faa517ce 34929 * Makefile.in: Remove duplicated 2008 in Copyright line.
34930
ae0c0bdc 349312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34932
473d1e45 34933 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34934 unconditionally.
34935 * include/grub/util/misc.h (grub_util_warn): New declaration.
34936
34937 * util/i386/pc/grub-install.in: Understand --force and pass it down
34938 to grub-setup.
34939
34940 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34941 down to setup().
34942 (setup): Improve error messages and add warnings when requested to
34943 install in odd layouts. Refuse to install using blocklists unless
34944 --force was set.
34945
18f547ad 349462009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34947
34948 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34949
6d260daa 349502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34951
34952 Updated copyright year
34953
34954 * fs/hfsplus.c: updated copyright year
18f547ad 34955
69f853f8 349562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34957
34958 HFS+ UUID
34959
18f547ad 34960 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34961 in the space previously used by unused3
34962 (grub_hfsplus_uuid): new function
34963 (grub_hfsplus_fs): added uuid field
34964
4c402e73 349652009-05-03 Pavel Roskin <proski@gnu.org>
34966
34967 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34968 suppress warnings. It's no longer needed.
34969 * disk/host.c: Likewise.
34970 * disk/ata_pthru.c: Likewise.
34971 * disk/loopback.c: Likewise.
34972 * hook/datehook.c: Likewise.
34973 * parttool/pcpart.c: Likewise.
34974 * fs/i386/pc/pxe.c: Likewise.
34975 * fs/ntfscomp.c: Likewise.
34976 * efiemu/main.c: Likewise.
34977 * mmap/mmap.c: Likewise.
34978 * commands/crc.c: Likewise.
34979 * commands/hexdump.c: Likewise.
34980 * commands/hdparm.c: Likewise.
34981 * commands/acpi.c: Likewise.
34982 * commands/echo.c: Likewise.
34983 * commands/minicmd.c: Likewise.
34984 * commands/blocklist.c: Likewise.
34985 * commands/memrw.c: Likewise.
34986 * commands/loadenv.c: Likewise.
34987 * commands/usbtest.c: Likewise.
34988 * commands/lsmmap.c: Likewise.
34989 * commands/boot.c: Likewise.
34990 * commands/parttool.c: Likewise.
34991 * commands/configfile.c: Likewise.
34992 * commands/search.c: Likewise.
34993 * commands/ieee1275/suspend.c: Likewise.
34994 * commands/cat.c: Likewise.
34995 * commands/i386/pc/pxecmd.c: Likewise.
34996 * commands/i386/pc/play.c: Likewise.
34997 * commands/i386/pc/halt.c: Likewise.
34998 * commands/i386/pc/vbeinfo.c: Likewise.
34999 * commands/i386/pc/vbetest.c: Likewise.
35000 * commands/lspci.c: Likewise.
35001 * commands/date.c: Likewise.
35002 * commands/handler.c: Likewise.
35003 * commands/ls.c: Likewise.
35004 * commands/test.c: Likewise.
35005 * commands/cmp.c: Likewise.
35006 * commands/efi/loadbios.c: Likewise.
35007 * commands/efi/fixvideo.c: Likewise.
35008 * commands/halt.c: Likewise.
35009 * commands/help.c: Likewise.
35010 * commands/reboot.c: Likewise.
35011 * hello/hello.c: Likewise.
35012 * script/sh/main.c: Likewise.
35013 * loader/xnu.c: Likewise.
35014 * term/terminfo.c: Likewise.
35015 * term/i386/pc/serial.c: Likewise.
35016 * term/usb_keyboard.c: Likewise.
35017
515b5079 350182009-05-03 David S. Miller <davem@davemloft.net>
35019
35020 * normal/menu.c: Include grub/parser.h
35021
dfc31a22 350222009-05-03 Pavel Roskin <proski@gnu.org>
35023
2fee74f1 35024 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35025 not char*.
35026 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35027 Suggested by Javier Martín <lordhabbit@gmail.com>
35028
dfc31a22 35029 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35030 efiemu??.o doesn't exist.
35031 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35032 copying.
35033
18f547ad 350342009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35035
35036 FreeBSD 64-bit support
35037
18f547ad 35038 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35039 and loader/i386/bsd_trampoline.S
35040 (bsd_mod_ASFLAGS): new variable
35041 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35042 (FREEBSD_MODTYPE_KERNEL64): likewise
35043 (grub_bsd64_trampoline_start): likewise
35044 (grub_bsd64_trampoline_end): likewise
35045 (grub_bsd64_trampoline_selfjump): likewise
35046 (grub_bsd64_trampoline_gdt): likewise
35047 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35048 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35049 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35050 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35051 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35052 of "attrib" member
35053 * loader/i386/bsd_pagetable.c: new file
35054 * loader/i386/bsd_trampoline.S: likewise
35055 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35056 (ALIGN_VAR): likewise
35057 (entry_hi): new variable
35058 (kern_end_mdofs): likewise
35059 (is_64bit): likewise
35060 (grub_freebsd_add_meta): use ALIGN_VAR
35061 (grub_e820_mmap): new declaration
35062 (grub_freebsd_add_mmap): new function
35063 (grub_freebsd_add_meta_module): support 64 bit kernels
35064 (grub_freebsd_list_modules): use ALIGN_VAR
35065 (gdt_descriptor): new declaration
35066 (grub_freebsd_boot): support 64 bit kernels
35067 (grub_bsd_elf64_hook): new function
35068 (grub_bsd_load_elf): support elf64
35069
038c5720 350702009-05-03 Bean <bean123ch@gmail.com>
35071
35072 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35073 after we get the result of if statement.
35074
fc45fb58 350752009-05-03 Bean <bean123ch@gmail.com>
35076
35077 * Makefile.in (enable_efiemu): New variable.
35078
35079 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35080 set.
35081 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35082 path.
35083 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35084 path, add -mno-red-zone option.
35085 (efiemu64_s.o): Likewise.
35086 (efiemu64.o): Use macro $^ for source file.
35087
35088 * configure.ac (--enable-efiemu): New option.
35089
bbee0f2b 350902009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35091
35092 xnu support
35093
35094 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35095 (pkglib_MODULES): add xnu.mod
35096 (xnu_mod_SOURCES): new variable
35097 (xnu_mod_CFLAGS): likewise
35098 (xnu_mod_LDFLAGS): likewise
35099 (xnu_mod_ASFLAGS): likewise
35100 * conf/i386-pc.rmk: likewise
35101 * conf/x86_64-efi.rmk: likewise
7dd4a573 35102 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35103 new declaration
35104 * include/grub/i386/macho.h: new file
35105 * include/grub/i386/xnu.h: likewise
35106 * include/grub/macho.h: likewise
35107 * include/grub/machoload.h: likewise
35108 * include/grub/x86_64/macho.h: likewise
35109 * include/grub/x86_64/xnu.h: likewise
35110 * include/grub/xnu.h: likewise
35111 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35112 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35113 * loader/i386/efi/xnu.c: new file
35114 * loader/i386/pc/xnu.c: likewise
35115 * loader/i386/xnu.c: likewise
35116 * loader/i386/xnu_helper.S: likewise
35117 * loader/macho.c: likewise
35118 * loader/xnu.c: likewise
35119 * loader/xnu_resume.c: likewise
35120 * util/grub-dumpdevtree: likewise
35121 * include/grub/i386/pit.h: include grub/err.h
35122 (grub_pit_wait): export
35123 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35124
5caf964d 351252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35126
35127 Efiemu
7dd4a573 35128
5caf964d 35129 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35130 _linux_efi, linux_efi.
35131 new files in grub-emu
5caf964d 35132 new targets efiemu32.o and efiemu64.o
35133 * loader/linux_normal_efiemu.c: likewise
35134 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35135 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35136 files to copy
35137 * include/grub/autoefi.h: new file
7dd4a573 35138 * include/grub/i386/efiemu.h: likewise
5caf964d 35139 * include/grub/i386/pc/efiemu.h: likewise
35140 * include/grub/efi/api.h: add LL suffix when necessary
35141 new definitions relating to tables
35142 * include/grub/efiemu/efiemu.h: new file
35143 * include/grub/efiemu/runtime.h: likewise
35144 * efiemu/prepare.c: likewise
35145 * efiemu/loadcore_common.c: likewise
35146 * efiemu/loadcore64.c: likewise
35147 * efiemu/runtime/efiemu.sh: likewise
35148 * efiemu/runtime/efiemu.S: likewise
35149 * efiemu/runtime/efiemu.c: likewise
35150 * efiemu/runtime/config.h: likewise
35151 * efiemu/prepare32.c: likewise
35152 * efiemu/main.c: likewise
35153 * efiemu/modules/pnvram.c: likewise
35154 * efiemu/modules/i386: likewise
35155 * efiemu/modules/i386/pc: likewise
35156 * efiemu/modules/acpi.c: likewise
35157 * efiemu/i386/pc/cfgtables.c: likewise
35158 * efiemu/i386/loadcore64.c: likewise
35159 * efiemu/i386/loadcore32.c: likewise
35160 * efiemu/prepare64.c: likewise
35161 * efiemu/loadcore.c: likewise
35162 * efiemu/symbols.c: likewise
35163 * efiemu/mm.c: likewise
35164 * efiemu/loadcore32.c: likewise
7dd4a573 35165
351662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35167
35168 ACPI spoofing
35169
35170 * commands/acpi.c: new file
35171 * commands/i386/pc/acpi.c: likewise
35172 * commands/efi/acpi.c: likewise
35173 * include/grub/acpi.h: likewise
35174 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35175 (acpi_mod_SOURCES): new variable
35176 (acpi_mod_CFLAGS): likewise
35177 (acpi_mod_LDFLAGS): likewise
35178 * conf/i386-efi.rmk: likewise
35179 * conf/x86_64-efi.rmk: likewise
35180
7dd4a573 351812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35182
35183 Missing part from mmap patch
35184
35185 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35186 (grub_mmap_unregister)
35187 (grub_mmap_free_and_unregister): use grub_mmap_register
35188
7dd4a573 351892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35190
35191 Mmap services
35192
35193 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35194 * loader/i386/linux.c (find_mmap_size): likewise
35195 (allocate_pages): likewise
35196 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35197 (grub_fill_multiboot_mmap): likewise
35198 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35199 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35200 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35201 (OPENBSD_MMAP_RESERVED): likewise
35202 * include/grub/i386/pc/memory.h: include grub/memory.h
35203 (grub_lower_mem): removed
35204 (grub_upper_mem): likewise
35205 (GRUB_MACHINE_MEMORY_ACPI): new definition
35206 (GRUB_MACHINE_MEMORY_NVS): likewise
35207 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35208 (GRUB_MACHINE_MEMORY_HOLE): likewise
35209 (grub_machine_mmap_register): likewise
35210 (grub_machine_mmap_unregister): likewise
35211 (grub_machine_get_upper): likewise
35212 (grub_machine_get_lower): likewise
35213 (grub_machine_get_post64): likewise
35214 * include/grub/i386/efi/memory.h: new file
35215 * include/grub/x86_64/efi/memory.h: likewise
35216 * include/grub/efi/memory.h: likewise
35217 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35218 (mmap_mod_SOURCES): new variable
35219 (mmap_mod_LDFLAGS): likewise
35220 (mmap_mod_ASFLAGS): likewise
35221 * conf/i386-coreboot.rmk: likewise
35222 * conf/i386-ieee1275.rmk: likewise
35223 * conf/i386-efi.rmk: likewise
35224 * conf/x86_64-efi.rmk: likewise
35225 * include/grub/types.h (UINT_TO_PTR): new macro
35226 (PTR_TO_UINT32): likewise
35227 (PTR_TO_UINT64): likewise
35228 * include/grub/memory.h: new file
35229 * mmap/i386/pc/mmap.c: likewise
35230 * mmap/i386/pc/mmap_helper.S: likewise
35231 * mmap/i386/uppermem.c: likewise
35232 * mmap/mmap.c: likewise
35233 * mmap/efi/mmap.c: likewise
7dd4a573 35234 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35235 grub_upper_mem
35236 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35237 (grub_upper_mem): likewise
35238 (grub_machine_init): don't use grub_upper_mem,
35239 make grub_lower_mem local
35240 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35241 grub_mmap_iterate and grub_mmap_get_upper
35242 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35243
d558e6b5 352442009-05-02 Bean <bean123ch@gmail.com>
35245
35246 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35247 script/sh/parser.y.
35248 (pkglib_MODULES): Add normal.mod and sh.mod.
35249 (normal_SOURCES): New variable.
35250 (normal_mod_CFLAGS): Likewise.
35251 (normal_mod_LDFLAGS): Likewise.
35252 (sh_mod_SOURCES): Likewise.
35253 (sh_mod_CFLAGS): Likewise.
35254 (sh_mod_LDFLAGS): Likewise.
35255
35256 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35257 script/sh/lexer.c_DEPENDENCIES.
35258 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35259 kern/rescue_reader.c and kern/rescue_parser.c.
35260 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35261 (grub_emu_SOURCES): Change source files.
35262 (pkglib_MODULES): Remove normal.mod.
35263 (normal_SOURCES): Removed.
35264 (normal_mod_CFLAGS): Likewise.
35265 (normal_mod_LDFLAGS): Likewise.
35266 * conf/i386-coreboot.rmk: Likewise.
35267 * conf/i386-efi.rmk: Likewise.
35268 * conf/i386-ieee1276.rmk: Likewise.
35269 * conf/powerpc-ieee1275.rmk: Likewise.
35270 * conf/sparc64-ieee1275.rmk: Likewise.
35271 * conf/x86_64-efi.rmk: Likewise.
35272
35273 * include/grub/command.h (grub_command_execute): New inline function.
35274
35275 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35276
35277 * include/grub/normal.h: Remove <grub/setjmp.h>.
35278 (grub_fs_module_list): Moved to normal/autofs.c.
35279 (grub_exit_env): Removed.
35280 (grub_command_execute): Likewise.
35281 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35282 parameter script.
35283 (read_command_list): New function declaration.
35284 (read_fs_list): Likewise.
35285
35286 * include/parser.h: Include <grub/reader.h>.
35287 (grub_parser_split_cmdline): Change type of getline parameter.
35288 (grub_parser): New structure.
35289 (grub_parser_class): New variable.
35290 (grub_parser_execute): New function declaration.
35291 (grub_register_rescue_parser): Likewise.
35292 (grub_parser_register): New inline function.
35293 (grub_parser_unregister): Likewise.
35294 (grub_parser_get_current): Likewise.
35295 (grub_parser_set_current): Likewise.
35296
35297 * include/grub/reader.h: New file.
35298 * kern/reader.c: Likewise.
35299 * kern/rescue_parser.c: Likewise.
35300 * kern/rescue_reader.c: Likewise.
35301 * normal/autofs.c: Likewise.
35302 * normal/dyncmd.c: Likewise.
35303
35304 * include/grub/rescue.h: Removed.
35305 * normal/command.h: Likewise.
35306
35307 * include/grub/script.h: Moved to ...
35308 * include/grub/script_sh.h: ... Moved here.
35309 * normal/execute.c: Moved to ...
35310 * script/sh/execute.c: ... Moved here.
35311 * normal/function.c: Moved to ...
35312 * script/sh/function.c: ... Moved here.
35313 * normal/lexer.c: Moved to ...
35314 * script/sh/lexer.c: ... Moved here.
35315 * normal/parser.y: Moved to ...
35316 * script/sh/parser.y: ... Moved here.
35317 * normal/script.c: Moved to ...
35318 * script/sh/script.c: ... Moved here.
35319
35320 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35321 <grub/reader.h>.
35322 (grub_exit_env): Removed.
35323 (fs_module_list): Moved to normal/autofs.c.
35324 (grub_file_getline): Don't handle comment here.
35325 (free_menu): Skip removed field entry->commands.
35326 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35327 script parameter.
35328 (read_config_file): Removed nested parameter, change getline function.
35329 (grub_enter_normal_mode): Removed.
35330 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35331 (read_command_list): Likewise.
35332 (autoload_fs_module): Moved to normal/autofs.c.
35333 (read_fs_list): Likewise.
35334 (reader_nested): New variable.
35335 (grub_normal_execute): Run parser.sh to switch to sh parser.
35336 (grub_cmd_rescue): Removed.
35337 (cmd_normal): Removed.
35338 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35339 rescue command.
35340 (grub_cmdline_run): New function.
35341 (grub_normal_reader_init): Likewise.
35342 (grub_normal_read_line): Likewise.
35343 (grub_env_write_pager): Likewise.
35344 (cmdline): New variable.
35345 (grub_normal_reader): Likewise.
35346 (GRUB_MOD_INIT): Register normal reader and set as current, register
35347 pager hook, register normal command with grub_register_command_prio,
35348 so that it won't show up in command.lst.
35349 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35350 grub_fs_autoload_hook.
35351
35352 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35353 (grub_menu_execute_entry): Replace grub_script_execute with
35354 grub_parser_execute, change parameter to grub_command_execute.
35355
35356 * normal/menu_text.c: Remove <grub/script.h>.
35357
35358 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35359 and <grub/parser.h>.
35360 (run): Change editor_getline to use new parser interface. Change
35361 parameter to grub_command_execute.
35362
35363 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35364 <grub/reader.h> and <grub/parser.h>.
35365 (grub_load_normal_mode): Execute normal command.
35366 (grub_main): Call grub_register_core_commands,
35367 grub_register_rescue_parser and grub_register_rescue_reader, use
35368 grub_reader_loop to enter input loop.
35369
7dd4a573 35370 * kern/parser.c (grub_parser_split_cmdline): Change type of
35371 getline parameter.
d558e6b5 35372 (grub_parser_class): New variable.
35373 (grub_parser_execute): New function.
35374
35375 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35376 * loader/multiboot2.c: Likewise.
35377 * loader/sparc64/ieee1275/linux.c: Likewise.
35378
35379 * util/grub-emu.c (read_command_list): New dummy function.
35380
18db813d 353812009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35382
35383 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35384 count to 16 for CCISS and IDA.
35385
6c67de15 353862009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35387
35388 * normal/menu_text.c (grub_wait_after_message): Print a newline
35389 after waiting for user input.
35390
35391 * loader/i386/linux.c: Include `<grub/normal.h>'.
35392 (grub_cmd_linux): Improve the error message about `ask' mode, by
35393 waiting for user input so it's not missed (we can do this, since
35394 user requested interaction).
35395
d9dc87b0 353962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35397
35398 Added missing lst to grub-mkrescue
35399
35400 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35401 and ${input_dir}/parttool.lst
35402
ac8a2baa 354032009-04-30 David S. Miller <davem@davemloft.net>
35404
ad22a610 35405 * util/hostdisk.c (device_is_wholedisk): New function.
35406 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35407 zero only if device_is_wholedisk() returns true.
35408
6966215d 35409 * util/hostdisk.c (convert_system_partition_to_system_disk):
35410 Handle virtual disk devices named /dev/vdiskX as found on sparc
35411 and powerpc.
35412
ac8a2baa 35413 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35414 lettered partition specifier is found, convert to numbered.
35415
979b4fb4 354162009-04-29 David S. Miller <davem@davemloft.net>
35417
e2bf39b2 35418 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35419 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35420
3c64e104 35421 * normal/command.c: Add missing newline at end of file.
35422
979b4fb4 35423 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35424 warnings.
35425 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35426 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35427 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35428 ihandles have a 32-bit type but need to be stored in a "void *".
35429
136d9f82 354302009-04-28 Pavel Roskin <proski@gnu.org>
35431
9459c306 35432 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35433 not disk. Adjust all dependencies.
2e08a26a 35434 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35435 grub_disk_close().
35436
136d9f82 35437 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35438 parent's partition, don't copy it by reference, as it gets freed
35439 on close.
35440
7dd4a573 354412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35442
35443 Preboot hooks support
35444
35445 * commands/boot.c (struct grub_preboot_t): new declaration
35446 (preboots_head): new variable
35447 (preboots_tail): likewise
35448 (grub_loader_register_preboot_hook): new function
35449 (grub_loader_unregister_preboot_hook): likewise
35450 (grub_loader_set): launch preboot hooks
35451 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35452 (grub_loader_register_preboot_hook): new declaration
35453 (grub_loader_unregister_preboot_hook): likewise
35454
5af922b5 354552009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35456
35457 Warning fix
35458
7dd4a573 35459 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35460 calling grub_dprintf
35461
a5562c30 354622009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35463
35464 Bug and warning fixes
35465
7dd4a573 35466 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35467 declaration
35468 * commands/test.c (test_parse): fixed bug with file tests and corrected
35469 declaration of find_file
35470
4006f85c 354712009-04-26 Pavel Roskin <proski@gnu.org>
35472
35473 * Makefile.in: Don't install empty manual pages if help2man is
35474 missing. Use help2man option for output, not shell redirection.
35475
5c77c3de 354762009-04-26 David S. Miller <davem@davemloft.net>
35477
35478 * util/grub-mkdevicemap.c (make_device_map): Add missing
35479 NESTED_FUNC_ATTR to process_device().
35480
033b10a8 354812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35482
35483 Test command
35484
35485 * commands/test.c: rewritten to use bash-like test
35486
e4343593 354872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35488
35489 Parttool autoloading and improvements
35490
7dd4a573 35491 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35492 (parttool.lst): new target
35493 * genmk.rb: generate parttool-*
35494 (CLEANFILES): add #{parttool}
35495 (PARTTOOLFILES): new variable
35496 * genparttoollist.sh: new file
7dd4a573 35497 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35498 (grub_pcpart_type): likewise
35499 * commands/parttool.c (helpmsg): new variable
35500 (grub_cmd_parttool): output help if not enough arguments are supplied
35501 autoload modules
35502 (GRUB_MOD_INIT(parttool)): use helpmsg
35503
0d312500 355042009-04-24 David S. Miller <davem@davemloft.net>
35505
7dd4a573 35506 Avoiding opening same device multiple times in device iterator.
0d312500 35507
35508 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35509 and use it to build a list of partitions in iterate_disk() and
0d312500 35510 iterate_partition().
35511
ac20caff 35512 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35513 on disk->data.
35514
0dcf7495 35515 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35516 grub_devalias_iterate() result instead of unconditional 0.
35517 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35518 Also, capture hook return value, either directly or via
35519 grub_children_iterate(), and propagate to caller.
35520 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35521 grub_children_iterate): Return value is now 'int' instead of
35522 'grub_err_t'.
35523 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35524 like a proper iterator, stopping when hooks return non-zero.
35525 (grub_devalias_iterate): Likewise.
35526
c8c08833 355272009-04-23 David S. Miller <davem@davemloft.net>
35528
35529 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35530
f01005a8 355312009-04-22 David S. Miller <davem@davemloft.net>
35532
35533 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35534 is larger than address_cells, use that value for address_cells too.
35535
4e8269da 35536 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35537 IEEE1275_MAX_PATH_LEN): Define.
35538 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35539 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35540 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35541 'devtype'. Explicitly NULL terminate devalias expansion.
35542
a1447506 35543 * util/sparc64/ieee1275/misc.c: New file.
35544 * util/sparc64/ieee1275/grub-setup.c: New file.
35545 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35546 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35547 * util/sparc64/ieee1275/grub-install.in: New file.
35548 * util/ieee1275/ofpath.c: New file.
35549 * util/ieee1275/devicemap.c: New file.
35550 * util/devicemap.c: New file.
35551 * util/deviceiter.c: New file.
35552 * kern/sparc64/ieee1275/init.c: New file.
35553 * include/grub/util/ofpath.h: New file.
35554 * include/grub/util/deviceiter.h: New file.
35555 * util/grub-mkdevicemap.c: Include deviceiter.h.
35556 Implement using grub_util_emit_devicemap_entry and
35557 grub_util_iterate_devices.
35558 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35559 util/devicemap.c into grub-mkdevicemap
35560 * conf/i386-efi.rmk: Likewise.
35561 * conf/i386-ieee1275.rmk: Likewise.
35562 * conf/i386-pc.rmk: Likewise.
35563 * conf/powerpc-ieee1275.rmk: Likewise.
35564 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35565 images and installation utilities. Build kernel as image
35566 instead of as elf binary. Use common rules as much as possible.
35567
7dd4a573 355682009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35569
35570 Correct GPT definition
35571
7dd4a573 35572 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35573 of "attrib" member
35574
c6c5219f 355752009-04-19 Felix Zielcke <fzielcke@z-51.de>
35576
35577 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35578
0552ff9f 355792009-04-19 David S. Miller <davem@davemloft.net>
35580
35581 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35582 (grub_rescue_cmd_linux): Rename to...
35583 (grub_cmd_linux): and fix prototype.
35584 (grub_rescue_cmd_initrd): Rename to...
35585 (grub_cmd_initrd): and fix prototype.
35586 (cmd_linux, cmd_initrd): New.
35587 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35588 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35589
d1a282fc 355902009-04-17 Pavel Roskin <proski@gnu.org>
35591
07c5039f 35592 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35593 format.
35594 (grub_ohci_transfer): Likewise.
35595
b012002d 35596 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35597
1bc09c35 35598 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35599 return without a value. Fix inconsistent indentation.
35600
e0ff9126 35601 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35602 match struct grub_fs.
35603
d1a282fc 35604 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35605 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35606 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35607 * commands/lspci.c (grub_lspci_iter): Likewise.
35608
a96df3f2 356092009-04-16 Bean <bean123ch@gmail.com>
35610
35611 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35612 value.
35613
41bb0fe9 356142009-04-15 Pavel Roskin <proski@gnu.org>
35615
35616 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35617 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35618 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35619 definitions.
35620
596c6970 356212009-04-15 Felix Zielcke <fzielcke@z-51.de>
35622
35623 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35624 that no multiple data or metadata areas are supported and `Unknown
596c6970 35625 metadata header'.
35626
7dd4a573 356272009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35628
35629 Move loader out of the kernel
35630
35631 * kern/loader.c: moved to ...
35632 * commands/boot.c: ... moved here
35633 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35634 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35635 * include/grub/kernel.h (grub_machine_fini): export
35636 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35637 (grub_loader_set): likewise
35638 (grub_loader_unset): likewise
35639 (grub_loader_boot): likewise
35640 * conf/common.rmk: new module boot.mod
35641 (pkglib_MODULES): add boot.mod
35642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35643 (grub_emu_SOURCES): likewise
35644 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35645 (grub_emu_SOURCES): likewise
35646 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35647 (grub_emu_SOURCES): likewise
35648 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35649 (grub_emu_SOURCES): likewise
35650 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35651 (grub_emu_SOURCES): likewise
7dd4a573 35652 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35653 (grub_emu_SOURCES): likewise
0d5d5653 35654 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35655 (grub_emu_SOURCES): likewise
0d5d5653 35656
7dd4a573 356572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35658
35659 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35660
5999d619 35661 * kern/misc.c (grub_itoa): Removed function
35662 (grub_ltoa): likewise
35663 (grub_vsprintf): use grub_lltoa
35664
7dd4a573 356652009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35666
35667 Restore grub-emu
35668
35669 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35670 * conf/i386-coreboot.rmk: likewise
35671 * conf/i386-ieee1275.rmk: likewise
35672 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35673
20318222 356742009-04-15 Felix Zielcke <fzielcke@z-51.de>
35675
35676 * INSTALL: Add that `./autogen.sh' needs to be run before
35677 `./configure.'.
35678
d05f0df3 356792009-04-14 Bean <bean123ch@gmail.com>
35680
35681 * Makefile.in (pkglib_DATA): Add handler.lst.
35682 (handler.lst): New rule.
35683
35684 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35685 * conf/i386-coreboot.rmk: Likewise.
35686 * conf/i386-ieee1275.rmk: Likewise.
35687 * conf/i386-efi.rmk: Likewise.
35688 * conf/x86_64-efi.rmk: Likewise.
35689 * conf/powerpc-ieee1275.rmk: Likewise.
35690 * conf/sparc64-ieee1275.rmk: Likewise.
35691
35692 * genhandlerlist.sh: New file.
35693
35694 * genmk.rb: Add rules to generate handler.lst.
35695
35696 * include/grub/normal.h (grub_file_getline): New function definition.
35697 (read_handler_list): Likewise.
35698 (free_handler_list): Likewise.
35699
35700 * include/grub/term.h (grub_term_register_input): Add name parameter
35701 for auto generation of handler.lst.
35702 (grub_term_register_output): Likewise.
35703
35704 * normal/handler.c: New file.
35705
35706 * normal/main.c (get_line): Renamed to grub_file_getline.
35707 (read_config_file): Use the newly renamed grub_file_getline.
35708 (read_command_list): Likewise.
35709 (read_fs_list): Likewise.
35710 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35711 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35712
35713 * term/efi/console.c (grub_console_init): Add name parameter for auto
35714 generation of handler.lst.
35715 * term/gfxterm.c: Likewise.
35716 * term/i386/pc/at_keyboard.c: Likewise.
35717 * term/i386/pc/console.c: Likewise.
35718 * term/i386/pc/serial.c: Likewise.
35719 * term/i386/pc/vesafb.c: Likewise.
35720 * term/i386/pc/vga.c: Likewise.
35721 * term/i386/pc/vga_text.c: Likewise.
35722 * term/ieee1275/ofconsole.c: Likewise.
35723 * term/usb_keyboard.c: Likewise.
35724
33c846be 357252009-04-14 Bean <bean123ch@gmail.com>
35726
35727 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35728 properly with null character.
35729
4484e01e 357302009-04-14 Felix Zielcke <fzielcke@z-51.de>
35731
35732 * configure: Remove.
35733 * config.h.in: Likewise.
f93d668e 35734 * stamp-h.in: Likewise.
4484e01e 35735 * DISTLIST: Likewise.
35736 * conf/common.mk: Likewise.
35737 * conf/i386-coreboot.mk: Likewise.
35738 * conf/i386-efi.mk: Likewise.
35739 * conf/i386-ieee1275.mk: Likewise.
35740 * conf/i386.mk: Likewise.
35741 * conf/i386-pc.mk: Likewise.
35742 * conf/powerpc-ieee1275.mk: Likewise.
35743 * conf/sparc64-ieee1275.mk: Likewise.
35744 * conf/x86_64-efi.mk: Likewise.
35745
35746 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35747 develop on GRUB.
35748
7dd4a573 357492009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35750 David S. Miller <davem@davemloft.net>
35751
35752 * util/hostdisk.c (make_device_name): Fix buffer length
35753 calculations.
35754
e25b5a8c 357552009-04-14 Felix Zielcke <fzielcke@z-51.de>
35756
35757 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35758 <sys/param.h> and <sys/sysctl.h>.
35759 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35760 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35761 opening the device and reset them afterwards.
35762
1f1f580c 357632009-04-13 Pavel Roskin <proski@gnu.org>
35764
35765 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35766 Reported by John Stanley <jpsinthemix@verizon.net>
35767
7ebc2d6b 357682009-04-13 Robert Millan <rmh@aybabtu.com>
35769
35770 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35771 that name for menuentries when appropriate.
7ebc2d6b 35772
d8ba3667 357732009-04-13 Felix Zielcke <fzielcke@z-51.de>
35774
35775 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35776
cba416eb 357772009-04-13 Robert Millan <rmh@aybabtu.com>
35778
35779 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35780 to Linux, simply abort telling the user it's no longer supported.
35781
a547a745 357822009-04-13 Felix Zielcke <fzielcke@z-51.de>
35783
35784 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35785 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35786 `freebsd_loadenv' only when devices.hints exist.
35787
232a769c 357882009-04-13 Pavel Roskin <proski@gnu.org>
35789
35790 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35791
c3012039 357922009-04-13 Felix Zielcke <fzielcke@z-51.de>
35793
35794 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35795 partition number.
35796 (grub_drive): Likewise.
35797
234022fe 357982009-04-13 David S. Miller <davem@davemloft.net>
35799
35800 * kern/sparc64/ieee1275/ieee1275.c: New file.
35801 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35802 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35803 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35804 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35805 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35806 grub_ieee1275_alloc_physmem): Declare new exported functions.
35807
d8e1836c 35808 * include/grub/sparc64/ieee1275/loader.h: New file.
35809 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35810 * include/grub/sparc64/kernel.h: Likewise.
35811 * loader/sparc64/ieee1275/linux.c: Likewise.
35812
96bd81ec 35813 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35814 (grub_fstest_SOURCES): Likewise.
35815
6a4737e5 35816 * util/hostdisk.c (make_device_name): Do not make any assumptions
35817 about the length of drive names.
35818
1d7a72fd 35819 * kern/dl.c (grub_dl_load_file): Close file immediately when
35820 we are done using it.
35821
56bc2471 358222009-04-12 David S. Miller <davem@davemloft.net>
35823
35824 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35825 values. Noticed by Pavel Roskin.
35826
df38d0bb 35827 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35828 target compiler.
7dd4a573 35829
e382e93a 35830 * genmk.rb: Add more flexible image type specification, also
35831 pass --strip-unneeded to objcopy.
35832 * conf/i386-pc.rmk: Use *_FORMAT.
35833 * conf/i386-pc.mk: Rebuilt.
35834
f5dbbca9 35835 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35836 (OFDISK_HASH_SZ): Define.
35837 (ofdisk_hash): New hash table.
35838 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35839 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35840 instead of device phandle which is not unique.
35841
91c88b12 35842 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35843 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35844 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35845 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35846 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35847 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35848 GRUB_KERNEL_MACHINE_DATA_END): Define.
35849 (grub_kernel_image_size, grub_total_module_size): Declare.
35850
5b5d4aa5 358512009-04-12 Pavel Roskin <proski@gnu.org>
35852
7dd4a573 35853 * configure.ac: Change the logic when we check for target tools.
35854 Do it when the target is specified and it's different from the
35855 specified value of the host.
5b5d4aa5 35856
c91e1793 358572009-04-11 Felix Zielcke <fzielcke@z-51.de>
35858
35859 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35860 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35861 GNU/kFreeBSD. Check if a device is a character device. Use
35862 DIOCGMEDIASIZE to get the size.
35863 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35864 support for GNU/kFreeBSD.
35865 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35866 is a character device instead of a block device. Add support for
35867 FreeBSD device names.
35868
35869 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35870 is a character device instead of a block device.
35871
35872 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35873 is a character device instead of a block device.
35874
b1ac8644 358752009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35876
35877 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35878 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35879 FreeBSD. Check if a device is a character device. Use
35880 DIOCGMEDIASIZE to get the size.
35881 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35882 support for FreeBSD.
35883 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35884 is a character device instead of a block device. Add support for
35885 FreeBSD device names.
35886
35887 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35888 a character device instead of a block device.
35889 (grub_util_check_char_device): New function.
35890
35891 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35892 a character device instead of a block device.
35893
35894 * include/grub/util/getroot.h (grub_util_check_char_device): New
35895 prototype.
35896
a3f7515a 358972009-04-11 David S. Miller <davem@davemloft.net>
35898
35899 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35900 static libgcc.
35901 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35902 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35903 function, if present.
35904 (__bswapdi2): Likewise.
35905
0d44993d 35906 * include/grub/sparc64/ieee1275/boot.h: New file.
35907 * boot/sparc64/ieee1275/boot.S: Likewise.
35908 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35909
ed3d2bc2 35910 * kern/misc.c (grub_ltoa): New function.
35911 (grub_vsprintf): Use it to format 'long' integers.
35912
d3bfb59c 359132009-04-10 David S. Miller <davem@davemloft.net>
35914
35915 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35916 slots are of type grub_ieee1275_cell_t.
35917 (grub_nand_read): Likewise.
35918 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35919 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35920 macros are used to compare values in arg/ret block of the call.
35921 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35922 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35923 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35924 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35925 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35926 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35927 grub_ieee1275_close, grub_ieee1275_set_property,
35928 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35929 grub_ieee1275_cell_t.
35930 * kern/ieee1275/openfw.c (grub_map): Likewise.
35931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35932 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35933
450e2238 35934 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35935 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35936 (grub_devalias_iterate): Likewise.
35937
7dd4a573 359382009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35939
35940 UFS improvements
35941
35942 * fs/ufs.c (INODE_NBLOCKS): new definition
35943 (struct grub_ufs_dirent): added fields for non-BSD dirents
35944 (grub_ufs_get_file_block): fixed double indirect handling
35945 (grub_ufs_lookup_symlink): use more robust way to determine whether
35946 symlink is inline
35947 (grub_ufs_find_file): support for non-BSD dirents
35948 (grub_ufs_dir): support for non-BSD dirents
35949
e7e6862a 359502009-04-10 Bean <bean123ch@gnail.com>
35951
35952 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35953 attribute, otherwise the size would be wrong for i386 platform.
35954
35955 * include/grub/pci.h (grub_pci_read_word): New inline function.
35956 (grub_pci_read_byte): Likewise.
35957 (grub_pci_write): Likewise.
35958 (grub_pci_write_word): Likewise.
35959 (grub_pci_write_byte): Likewise.
35960
35961 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35962
35963 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35964 (find_framebuf): Scan pci to locate the frame buffer address.
35965
35966 * commands/efi/fixvideo.c: New file.
35967
35968 * commands/efi/loadbios.c: Likewise.
35969
35970 * commands/memrw.c: Likewise.
35971
35972 * util/grub-dumpbios.in: Likewise.
35973
35974 * conf/common.rmk (grub-dumpbios): New utility.
35975 (pkglib_MODULES): New module memrw.mod.
35976 (memrw_mod_SOURCE): New macro.
35977 (memrw_mod_CFLAGS): Likewise.
35978 (memrw_mod_LDFLAGS): Likewise.
35979
7dd4a573 35980 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35981 fixvideo.mod.
35982 (loadbios_mod_SOURCE): New macro.
35983 (loadbios_mod_CFLAGS): Likewise.
35984 (loadbios_mod_LDFLAGS): Likewise.
35985 (fixvideo_mod_SOURCE): Likewise.
35986 (fixvideo_mod_CFLAGS): Likewise.
35987 (fixvideo_mod_LDFLAGS): Likewise.
35988
7dd4a573 35989 * conf/x86_64.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
af63ada2 359982009-04-08 Felix Zielcke <fzielcke@z-51.de>
35999
36000 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36001
c2cdde70 360022009-04-07 David S. Miller <davem@davemloft.net>
36003
36004 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36005 support for R_SPARC_OLO10 relocations. Fix compile warning for
36006 R_SPARC_WDISP30 case.
ea3f72cf 36007 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36008
761319cf 360092009-04-06 Pavel Roskin <proski@gnu.org>
36010
1007d1f5 36011 * include/grub/misc.h (ARRAY_SIZE): New macro.
36012 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36013 New macro.
36014 * loader/i386/linux.c (allocate_pages): Use free_pages().
36015 (grub_linux_unload): Don't use free_pages().
36016 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36017 wrong index. Treat all other modes as text modes.
36018 (grub_cmd_linux): Initialize vid_mode unconditionally to
36019 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36020
761319cf 36021 * commands/help.c (print_command_help): Use cmd->prio, not
36022 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36023
ea761d40 360242009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36025
ea761d40 36026 Parttool
36027
36028 * parttool/pcpart.c: new file
36029 * commands/parttool.c: likewise
36030 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36031 (parttool_mod_SOURCES): new variable
36032 (parttool_mod_CFLAGS): likewise
36033 (parttool_mod_LDFLAGS): likewise
36034 (pcpart_mod_SOURCES): likewise
36035 (pcpart_mod_CFLAGS): likewise
36036 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36037 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36038 and parttool/pcpart.c
36039 * conf/i386-efi.rmk: likewise
36040 * conf/i386-ieee1275.rmk: likewise
36041 * conf/i386-pc.rmk: likewise
36042 * conf/powerpc-ieee1275.rmk: likewise
36043 * conf/sparc64-ieee1275.rmk: likewise
36044 * conf/x86_64-ieee1275.rmk: likewise
36045
05aaebfb 360462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36047
36048 Support for mtime and further expandability of dir command
36049
36050 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36051 * include/grub/datetime.h: ... moved here and added
05aaebfb 36052 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36053 * include/grub/fs.h: new syntax for dir and mtime functions in
36054 struct grub_fs
05aaebfb 36055 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36056 and GRUB_FSHELP_FLAGS_MASK
36057 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36058 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36059 (grub_ext2_mtime): new function
36060 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36061 (grub_hfsplus_mtime): new function
36062 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36063 (GRUB_UFS_ATTR_FILE): likewise
36064 (GRUB_UFS_ATTR_LNK): likewise
36065 (struct grub_ufs_sblock): new fields mtime
36066 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36067 all users updated
36068 (grub_ufs_dir): mtime support
36069 (grub_ufs_mtime): new function
36070 * fs/affs.c (grub_affs_dir): use new dir syntax
36071 * fs/afs.c (grub_afs_dir): likewise
36072 * fs/cpio.c (grub_cpio_dir): likewise
36073 * fs/fat.c (grub_fat_find_dir): likewise
36074 * fs/hfs.c (grub_hfs_dir): likewise
36075 * fs/iso9660.c (grub_iso9660_dir): likewise
36076 * fs/jfs.c (grub_jfs_dir): likewise
36077 * fs/minix.c (grub_minix_dir): likewise
36078 * fs/ntfs.c (grub_ntfs_dir): likewise
36079 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36080 * fs/sfs.c (grub_sfs_dir): likewise
36081 * fs/xfs.c (grub_xfs_dir): likewise
36082 * util/hostfs.c (grub_hostfs_dir): likewise
36083 * lib/datetime.c: moved to ...
36084 * normal/datetime.c: ... moved here
36085 (grub_unixtime2datetime): new function
36086 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36087 * normal/completion.c (iterate_dir): use new dir syntax
36088 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36089 last modification time of a volume
7dd4a573 36090 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36091 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36092 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36093 (normal_mod_SOURCES): likewise
36094 (datetime_mod_SOURCES): Removed lib/datetime.c
36095 * conf/i386-efi.rmk: likewise
7dd4a573 36096 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36097 * conf/i386-pc.rmk: likewise
36098 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36099 * conf/sparc64-ieee1275.rmk: likewise
36100 * conf/x86_64-efi.rmk: likewise
05aaebfb 36101
8a7e1a14 361022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36103
36104 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36105
36106 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36107 on grub_fat_find_dir
36108 (grub_fat_find_dir): use grub_fat_iterate_dir
36109 (grub_fat_label): likewise
36110
04186a9c 361112009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36112
7dd4a573 36113 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36114 and command.h
36115 remove extraneous kernel_elf_HEADERS
36116
da4c0bb6 361172009-04-04 Bean <bean123ch@gnail.com>
36118
36119 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36120
36121 * util/misc.c: Likewise.
36122
54ad9555 361232009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36124
36125 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36126 instead of grub_printf.
36127
7a6bf9f2 361282009-04-03 Robert Millan <rmh@aybabtu.com>
36129
36130 * loader/i386/linux.c (grub_linux_setup_video): Fill
36131 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36132 values from `mode info' structure instead of hardcoded
36133 values.
36134
3fcc2083 361352009-04-01 Pavel Roskin <proski@gnu.org>
36136
36137 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36138 unused now.
36139 * genmk.rb: Likewise.
36140 * configure.ac: Likewise.
36141
5ec9740b 361422009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36143
36144 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36145 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36146
5270cec8 361472009-04-01 David S. Miller <davem@davemloft.net>
36148
36149 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36150 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36151 (grub_setjmp): Mark with 'returns_twice' attribute.
36152 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36153 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36154 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36155
9c3dd854 361562009-04-01 Robert Millan <rmh@aybabtu.com>
36157
36158 Reapply fix from 2008-07-28 which was accidentally reverted; also
36159 perform the same fix to a similar check in same function.
36160
36161 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36162 with the same number are found, just use issue a warning with
36163 grub_dprintf(), as this error has been reported to be non-fatal.
36164
0d818b7e 361652009-03-31 Pavel Roskin <proski@gnu.org>
36166
36167 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36168 for cross-compilation.
36169
95646d92 361702009-03-30 Robert Millan <rmh@aybabtu.com>
36171
36172 Fix i386-ieee1275 build.
36173
36174 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36175 Remove declaration.
36176
6a003ed1 361772009-03-30 Pavel Roskin <proski@gnu.org>
36178
36179 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36180 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36181 zero-terminated, rely only on the strlen value. Fix comparison
36182 of strings differing in length.
36183
92f33540 361842009-03-30 Robert Millan <rmh@aybabtu.com>
36185
36186 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36187 checking for abi version. Improve error messages on BIOS to notify
36188 user about `linux16' command.
36189
a8c48fd5 361902009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36191
f968172e 36192 Leak fixes
a8c48fd5 36193
f968172e 36194 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36195 in case of collision
36196 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36197
9c323f09 361982009-03-29 Robert Millan <rmh@aybabtu.com>
36199
36200 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36201 set `vid_mode' accordingly.
36202 (grub_linux_boot): Process `vid_mode' and set video mode.
36203
ae68f423 362042009-03-29 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/grub.d/10_linux.in (linux_entry): New function.
36207 Factorize generation of Linux boot entries.
36208
5709cfc4 362092009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36210
36211 Make the format of Environment Block plain text. The boot loader
36212 part is not tested well yet.
7dd4a573 36213
5709cfc4 36214 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36215 (buffer): Removed.
36216 (envblk): Likewise.
36217 (usage): Remove "info" and "clear". Add "unset". Update the
36218 description of "set", as this does not delete variables any
36219 longer.
36220 (create_envblk_file): Complete rewrite.
36221 (open_envblk_file): Likewise.
36222 (cmd_info): Removed.
36223 (cmd_list): Likewise.
36224 (cmd_set): Likewise.
36225 (cmd_clear): Likewise.
36226 (list_variables): New function.
36227 (write_envblk): Likewise.
36228 (set_variables): Likewise.
36229 (unset_variables): Likewise.
36230 (main): Complete rewrite.
36231
36232 * commands/loadenv.c (buffer): Removed.
36233 (envblk): Likewise.
36234 (open_envblk_file): New function.
36235 (read_envblk_file): Complete rewrite.
36236 (grub_cmd_load_env): Likewise.
36237 (grub_cmd_list_env): Likewise.
36238 (struct blocklist): New struct.
36239 (free_blocklists): New function.
36240 (check_blocklists): Likewise.
36241 (write_blocklists): Likewise.
36242 (grub_cmd_save_env): Complete rewrite.
36243
36244 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36245 a plain text signature.
36246 (GRUB_ENVBLK_MAXLEN): Removed.
36247 (struct grub_envblk): Complete rewrite.
36248 (grub_envblk_find): Removed.
36249 (grub_envblk_insert): Likewise.
36250 (grub_envblk_open): New prototype.
36251 (grub_envblk_set): Likewise.
36252 (grub_envblk_delete): Put const to VALUE.
36253 (grub_envblk_iterate): Put const to NAME and VALUE.
36254 (grub_envblk_close): New prototype.
36255 (grub_envblk_buffer): New inline function.
36256 (grub_envblk_size): Likewise.
36257
36258 * lib/envblk.c: Include grub/mm.h.
36259 (grub_env_find): Removed.
36260 (grub_envblk_open): New function.
36261 (grub_envblk_close): Likewise.
36262 (escaped_value_len): Likewise.
36263 (find_next_line): Likewise.
36264 (grub_envblk_insert): Removed.
36265 (grub_envblk_set): New function.
36266 (grub_envblk_delete): Complete rewrite.
36267 (grub_envblk_iterate): Likewise.
36268
a9368fd3 362692009-03-28 Robert Millan <rmh@aybabtu.com>
36270
36271 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36272 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36273 variables. Use 16-bit loader.
36274 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36275 loader.
36276 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36277 (grub_linux16_boot): ... this. Update all users.
36278 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36279 (grub_linux_boot): ... this. Update all users.
36280
36281 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36282 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36283 commands to `linux16' and `initrd16'.
36284 (GRUB_MOD_FINI(linux)): Rename to ...
36285 (GRUB_MOD_FINI(linux16)): ... this.
36286
e4dd5a7e 362872009-03-24 Pavel Roskin <proski@gnu.org>
36288
36289 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36290 not just for compilation.
36291
c04d6e05 362922009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36293
36294 Move multiboot helper out of kernel
36295
36296 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36297 `loader/i386/multiboot_helper.S'.
36298 * conf/i386-coreboot.rmk: Likewise
36299 * conf/i386-ieee1275.rmk: Likewise
36300
36301 * kern/i386/loader.S: Move multiboot helpers from here...
36302 * loader/i386/multiboot_helper.S: ...moved here
36303 * include/grub/i386/loader.h: Move declarations of multiboot
36304 helpers from here...
36305 * include/grub/i386/multiboot.h: ...moved here
36306 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36307
42a5b3fc 363082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36309
36310 * kern/env.c (grub_env_context_open): Added an argument to specify
36311 whether a new context inherits exported variables from current
36312 one. This is useful when making a sandbox to interpret a config
36313 file.
36314 All callers updated.
36315
36316 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36317
b28bbc4e 363182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36319
36320 * kern/env.c (grub_env_context_close): Fix memory leaks.
36321
f04f02e4 363222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36323
36324 * normal/main.c (grub_normal_execute): Added an argument
36325 BATCH to specify if an interactive interface should be provided
36326 after reading a config file.
36327 All callers updated.
36328 (read_command_list): Prevent being executed twice.
36329 (read_fs_list): Likewise.
36330
42a5b3fc 36331 * include/grub/normal.h (grub_normal_execute): Updated the
36332 prototype.
f04f02e4 36333
41473ac2 363342009-03-22 Pavel Roskin <proski@gno.org>
36335
fbc00b0c 36336 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36337 _start.
36338 * kern/i386/pc/startup.S: Likewise.
36339 * kern/i386/efi/startup.S: Likewise.
36340 * kern/i386/ieee1275/startup.S: Likewise.
36341 * kern/i386/coreboot/startup.S: Likewise.
36342 * kern/x86_64/efi/startup.S: Likewise.
36343
41473ac2 36344 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36345 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36346 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36347
2274cc8f 363482009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36349
36350 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36351
36352 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36353 limit detection.
36354 Use vaddr of correct segment for entry_point.
36355
b1b797cb 363562009-03-21 Bean <bean123ch@gmail.com>
36357
36358 * commands/blocklist.c: Add include file <grub/command.h>, remove
36359 <grub/normal.h> and <grub/arg.h>.
36360 (grub_cmd_blocklist): Use the new command interface.
36361 (GRUB_MOD_INIT): Likewise.
36362 (GRUB_MOD_FINI): Likewise.
36363 * commands/boot.c: Likewise.
36364 * commands/cat.c: Likewise.
36365 * commands/cmp.c: Likewise.
36366 * commands/configfile.c: Likewise.
36367 * commands/crc.c: Likewise.
36368 * commands/echo.c: Likewise.
36369 * commands/halt.c: Likewise.
36370 * commands/handler.c: Likewise.
36371 * commands/hdparm.c: Likewise.
36372 * commands/help.c: Likewise.
36373 * commands/hexdump.c: Likewise.
36374 * commands/loadenv.c: Likewise.
36375 * commands/ls.c: Likewise.
36376 * commands/lsmmap.c: Likewise.
36377 * commands/lspci.c: Likewise.
36378 * commands/loadenv.c: Likewise.
36379 * commands/read.c: Likewise.
36380 * commands/reboot.c: Likewise.
36381 * commands/search.c: Likewise.
36382 * commands/sleep.c: Likewise.
36383 * commands/test.c: Likewise.
36384 * commands/usbtest.c: Likewise.
36385 * commands/videotest.c: Likewise.
36386 * commands/i386/cpuid.c: Likewise.
36387 * commands/i386/pc/halt.c: Likewise.
36388 * commands/i386/pc/play.c: Likewise.
36389 * commands/i386/pc/pxecmd.c: Likewise.
36390 * commands/i386/pc/vbeinfo.c: Likewise.
36391 * commands/i386/pc/vbetest.c: Likewise.
36392 * commands/ieee1275/suspend.c: Likewise.
36393 * disk/loopback.c: Likewise.
36394 * font/font_cmd.c: Likewise.
36395 * hello/hello.c: Likewise.
36396 * loader/efi/appleloader.c: Likewise.
36397 * loader/efi/chainloader.c: Likewise.
36398 * loader/i386/bsd.c: Likewise.
36399 * loader/i386/efi/linux.c: Likewise.
36400 * loader/i386/ieee1275/linux.c: Likewise.
36401 * loader/i386/linux.c: Likewise.
36402 * loader/i386/pc/chainloader.c: Likewise.
36403 * loader/i386/pc/linux.c: Likewise.
36404 * loader/powerpc/ieee1275/linux.c: Likewise.
36405 * loader/multiboot_loader.c: Likewise.
36406 * term/gfxterm.c: Likewise.
36407 * term/i386/pc/serial.c: Likewise.
36408 * term/terminfo.c: Likewise.
36409
36410 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36411 * term/i386/pc/vga.c: Likewise.
36412 * video/readers/jpeg.c: Likewise.
36413 * video/readers/png.c: Likewise.
36414 * video/readers/tga.c: Likewise.
36415
36416 * util/grub-fstest (cmd_loopback): Removed.
36417 (cmd_blocklist): Likewise.
36418 (cmd_ls): Likewise.
36419 (grub_register_command): Likewise.
36420 (grub_unregister_command): Likewise.
36421 (execute_command): Use grub_command_find to locate command and execute
36422 it.
36423
36424 * include/grub/efi/chainloader.h: Removed.
36425 * loader/efi/chainloader_normal.c: Likewise.
36426 * loader/i386/bsd_normal.c: Likewise.
36427 * loader/i386/pc/chainloader_normal.c: Likewise.
36428 * loader/i386/pc/multiboot_normal.c: Likewise.
36429 * loader/linux_normal.c: Likewise.
36430 * loader/multiboot_loader_normal.c: Likewise.
36431 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36432
36433 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36434 and grub_register_command_p1.
36435
36436 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36437 kern/command.c, lib/arg.c and commands/extcmd.c.
36438 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36439 (minicmd_mod_SOURCES): New variable.
36440 (minicmd_mod_CFLAGS): Likewise.
36441 (minicmd_mod_LDFLAGS): Likewise.
36442 (extcmd_mod_SOURCES): Likewise.
36443 (extcmd_mod_CFLAGS): Likewise.
36444 (extcmd_mod_LDFLAGS): Likewise.
36445 (boot_mod_SOURCES): Removed.
36446 (boot_mod_CFLAGS): Likewise.
36447 (boot_mod_LDFLAGS): Likewise.
36448
36449 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36450 kern/corecmd.c.
36451 (kernel_img_HEADERS): Add command.h.
36452 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36453 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36454 and lib/arg.c.
36455 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36456 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36457 remove the corresponding normal mode command.
36458 (normal_mod_SOURCES): Remove normal/arg.c.
36459 * conf/i386-coreboot.rmk: Likewise.
36460 * conf/i386-efi.rmk: Likewise.
36461 * conf/i386-ieee1275.rmk: Likewise.
36462 * conf/powerpc-ieee1275.rmk: Likewise.
36463 * conf/x86_64-efi.rmk: Likewise.
36464
36465 * include/grub/arg.h: Move from here ...
36466 * include/grub/lib/arg.h: ... to here.
36467
36468 * normal/arg.c: Move from here ...
36469 * lib/arg.c: ... to here.
36470
36471 * commands/extcmd.c: New file.
36472 * commands/minicmd.c: Likewise.
36473 * include/grub/command.h: Likewise.
36474 * include/grub/extcmd.h: Likewise.
36475 * kern/command.c: Likewise.
36476 * kern/corecmd.c: Likewise.
36477
36478 * kern/list.c (grub_list_iterate): Return int instead of void.
36479 (grub_list_insert): New function.
36480 (grub_prio_list_insert): Likewise.
36481
36482 * kern/rescue.c (grub_rescue_command): Removed.
36483 (grub_rescue_command_list): Likewise.
36484 (grub_rescue_register_command): Likewise.
36485 (grub_rescue_unregister_command): Likewise.
36486 (grub_rescue_cmd_boot): Move to minicmd.c
36487 (grub_rescue_cmd_help): Likewise.
36488 (grub_rescue_cmd_info): Likewise.
36489 (grub_rescue_cmd_boot): Likewise.
36490 (grub_rescue_cmd_testload): Likewise.
36491 (grub_rescue_cmd_dump): Likewise.
36492 (grub_rescue_cmd_rmmod): Likewise.
36493 (grub_rescue_cmd_lsmod): Likewise.
36494 (grub_rescue_cmd_exit): Likewise.
36495 (grub_rescue_print_devices): Moved to corecmd.c.
36496 (grub_rescue_print_files): Likewise.
36497 (grub_rescue_cmd_ls): Likewise.
36498 (grub_rescue_cmd_insmod): Likewise.
36499 (grub_rescue_cmd_set): Likewise.
36500 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36501 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36502 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36503 commands, remove grub_rescue_register_command calls.
b1b797cb 36504
7d074e3c 36505 * normal/command.c (grub_register_command): Removed.
b1b797cb 36506 (grub_unregister_command): Likewise.
36507 (grub_command_find): Likewise.
36508 (grub_iterate_commands): Likewise.
36509 (rescue_command): Likewise.
36510 (export_command): Moved to corecmd.c.
36511 (set_command): Removed.
36512 (unset_command): Likewise.
36513 (insmod_command): Likewise.
36514 (rmmod_command): Likewise.
36515 (lsmod_command): Likewise.
36516 (grub_command_init): Likewise.
36517
36518 * normal/completion.c (iterate_command): Use cmd->prio to check for
36519 active command.
36520 (complete_arguments): Use grub_extcmd_t structure to find options.
36521 (grub_normal_do_completion): Change function grub_iterate_commands to
36522 grub_command_iterate.
36523
36524 * normal/execute.c (grub_script_execute_cmd): No need to parse
36525 argument here.
36526
36527 * normal/main.c (grub_dyncmd_dispatcher): New function.
36528 (read_command_list): Register unload commands as dyncmd.
36529 (grub_cmd_normal): Use new command interface, register rescue,
36530 unregister normal at entry, register normal, unregister rescue at exit.
36531
36532 * include/grub/list.h (grub_list_test_t): New type.
36533 (grub_list_iterate): Return int instead of void.
36534 (grub_list_insert): New function.
36535 (GRUB_AS_NAMED_LIST_P): New macro.
36536 (GRUB_AS_PRIO_LIST): Likewise.
36537 (GRUB_AS_PRIO_LIST_P): Likewise.
36538 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36539 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36540 (grub_prio_list): New structure.
36541 (grub_prio_list_insert): New function.
36542 (grub_prio_list_remove): New inline function.
36543
36544 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36545 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36546 (GRUB_COMMAND_FLAG_MENU): Likewise.
36547 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36548 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36549 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36550 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36551 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36552 (grub_command): Likewise.
36553 (grub_register_command): Likewise.
36554 (grub_command_find): Likewise.
36555 (grub_iterate_commands): Likewise.
36556 (grub_command_init): Likewise.
36557 (grub_arg_parse): Likewise.
36558 (grub_arg_show_help): Likewise.
36559
36560 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36561 (grub_rescue_unregister_command): Likewise.
36562
36563 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36564 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36565 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36566
36567 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36568 grub_rescue_cmd_initrd.
36569 * include/grub/i386/loader.h: Likewise.
36570 * include/grub/x86_64/loader.h: Likewise.
36571
36572 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36573
1f4147aa 365742009-03-21 Bean <bean123ch@gmail.com>
36575
36576 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36577 instead of stat in mingw environment.
36578
36579 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36580
36581 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36582
36583 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36584 AC_CONFIG_LINKS.
36585
2156d5ba 365862009-03-21 Bean <bean123ch@gmail.com>
36587
36588 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36589 out of range error.
36590
177b82ca 365912009-03-18 Michel Dänzer <michel@daenzer.net>
36592
36593 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36594 checking inode flags for EXT4_EXTENTS_FLAG.
36595
14aad807 365962009-03-18 Robert Millan <rmh@aybabtu.com>
36597
36598 * loader/i386/linux.c: Include `<grub/video.h>' and
36599 `<grub/i386/pc/vbe.h>'..
36600 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36601 (grub_linux32_boot): Attempt to configure video settings with
36602 grub_linux_setup_video().
36603 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36604 to avoid grub_console_fini() which would step out of graphical mode
36605 unconditionally.
36606
8cf83a27 366072009-03-14 Robert Millan <rmh@aybabtu.com>
36608
36609 Fix build on powerpc.
36610 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36611
40164e75 366122009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36613
36614 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36615 background image command.
36616
c58bc32a 366172009-03-12 Colin D Bennett <colin@gibibit.com>
36618
36619 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36620 (grub_gfxterm_putchar): Extract pairs of identical calls to
36621 draw_cursor out of conditional blocks.
36622
5415144a 366232009-03-11 Pavel Roskin <proski@gnu.org>
36624
36625 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36626 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36627
6394042e 366282009-03-11 Robert Millan <rmh@aybabtu.com>
36629
36630 * loader/i386/multiboot_elfxx.c
36631 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36632
b7b50e5f 366332009-03-11 Felix Zielcke <fzielcke@z-51.de>
36634
36635 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36636 `kern/handler.c'.
36637
1ca7fc96 366382009-03-11 Robert Millan <rmh@aybabtu.com>
36639
36640 * loader/i386/multiboot.c (code_size): New variable.
36641 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36642 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36643 4-byte alignment to MBI and others by increasing
7d074e3c 36644 `boot_loader_name_length' appropriately.
1ca7fc96 36645
36646 * loader/i386/multiboot_elfxx.c
36647 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36648
a83ea1d2 366492009-03-09 Felix Zielcke <fzielcke@z-51.de>
36650
36651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36652 `fs/ext2.c'.
36653
aa9f3bff 366542009-03-08 Robert Millan <rmh@aybabtu.com>
36655
36656 Make loader/i386/linux.c usable on i386-pc again.
36657
36658 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36659 memory to heap.
36660 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36661 `#error' stanza.
36662
d8b3b60e 366632009-03-07 Bean <bean123ch@gmail.com>
36664
36665 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36666 allocation.
36667
b362c9e9 366682009-03-06 Robert Millan <rmh@aybabtu.com>
36669
36670 Fix display issue on terminals with screen size other than 80x25
36671 (e.g. gfxterm with resolution higher than 640x480).
36672
36673 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36674 position relative to the center of the terminal instead of relying
b362c9e9 36675 on a hardcoded offset.
36676
9304eef1 366772009-03-04 Robert Millan <rmh@aybabtu.com>
36678
36679 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36680 installed.
36681
36682 * Makefile.in (host_kernel): New variable.
36683 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36684 scripts instead of just the windows one.
36685 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36686
eabc95fb 366872009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36688
36689 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36690 `kern/handler.c'.
36691 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36695 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36696 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36697
ceb1223c 366982009-03-04 Felix Zielcke <fzielcke@z-51.de>
36699
36700 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36701 or if there's no space for the disk label and print the partition number on a
36702 invalid magic.
36703
4910684a 367042009-03-04 Felix Zielcke <fzielcke@z-51.de>
36705
36706 * util/misc.c: Include <time.h>.
36707 (grub_millisleep): New function.
36708
7e9ca17a 367092009-03-04 Bean <bean123ch@gmail.com>
36710
36711 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36712 another option -mno-red-zone.
36713
36714 * commands/handler.c: Change module description.
36715
36716 * kern/handler.c: Add missing space at the end of description line.
36717
36718 * kern/list.c: Likewise.
36719
f501677c 367202009-03-03 Robert Millan <rmh@aybabtu.com>
36721
36722 Move more components to the relocation area, and fix mbi pointer
36723 handling to use the destination rather than the origin (thanks to
36724 Vladimir Serbinenko for spotting).
36725
36726 * loader/i386/multiboot.c (mbi_dest): New variable.
36727 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36728 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36729 relocation area.
36730
9902d047 367312009-03-01 Bean <bean123ch@gmail.com>
36732
50fb7002 36733 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36734 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36735 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36736 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36737
36738 * loader/i386/efi/linux.c (acpi_guid): New variable.
36739 (acpi_guid): Likewise.
36740 (EBDA_SEG_ADDR): New constant.
36741 (LOW_MEM_ADDR): Likewise.
36742 (FAKE_EBDA_SEG): Likewise.
36743 (fake_bios_data): New function.
36744 (grub_linux_boot): Call fake_bios_data.
36745
71b9f361 367462009-03-01 Bean <bean123ch@gmail.com>
36747
36748 * commands/terminal.c: Removed.
36749
36750 * commands/handler.c: New file.
36751
36752 * include/grub/list.h: Likewise.
36753
36754 * include/grub/handler.h: Likewise.
36755
36756 * kern/list.c: Likewise.
36757
36758 * kern/handler.c: Likewise.
36759
36760 * kern/term.h: Include header file <grub/handler.h>.
36761 (grub_term_input): Move next field to the beginning.
36762 (grub_term_output): Likewise.
36763 (grub_term_input_class): New variable.
36764 (grub_term_output_class): Likewise.
36765 (grub_term_register_input): Changed to inline function.
36766 (grub_term_register_output): Likewise.
36767 (grub_term_unregister_input): Likewise.
36768 (grub_term_unregister_output): Likewise.
36769 (grub_term_set_current_input): Likewise.
36770 (grub_term_set_current_output): Likewise.
36771 (grub_term_get_current_input): Likewise.
36772 (grub_term_get_current_output): Likewise.
36773 (grub_term_iterate_input): Removed.
36774 (grub_term_iterate_output): Likewise.
36775
36776 * kern/term.c (grub_term_list_input): Removed.
36777 (grub_term_list_output): Likewise.
36778 (grub_term_input_class): New variable.
36779 (grub_term_output_class): Likewise.
50fb7002 36780 (grub_cur_term_input): Change variable as macro.
71b9f361 36781 (grub_cur_term_output): Likewise.
36782 (grub_term_register_input): Removed.
36783 (grub_term_register_output): Likewise.
36784 (grub_term_unregister_input): Likewise.
36785 (grub_term_unregister_output): Likewise.
36786 (grub_term_set_current_input): Likewise.
36787 (grub_term_set_current_output): Likewise.
36788 (grub_term_iterate_input): Likewise.
36789 (grub_term_iterate_output): Likewise.
36790 (grub_term_get_current_input): Likewise.
36791 (grub_term_get_current_output): Likewise.
36792
36793 * util/grub-editenv.c: Include header file <grub/handler.h>.
36794 (grub_term_get_current_input): Removed.
36795 (grub_term_get_current_output): Likewise.
36796 (grub_term_input_class): New variable.
50fb7002 36797 (grub_term_output_class): Likewise.
71b9f361 36798
36799 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36800 (grub_term_get_current_output): Likewise.
36801 (grub_term_input_class): New variable.
50fb7002 36802 (grub_term_output_class): Likewise.
71b9f361 36803
36804 * util/grub-probe.c (grub_term_get_current_input): Removed.
36805 (grub_term_get_current_output): Likewise.
36806 (grub_term_input_class): New variable.
50fb7002 36807 (grub_term_output_class): Likewise.
71b9f361 36808
36809 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36810 (grub_term_get_current_output): Likewise.
36811 (grub_term_input_class): New variable.
50fb7002 36812 (grub_term_output_class): Likewise.
71b9f361 36813
36814 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36815 (terminal_mod_SOURCES): Likewise.
36816 (terminal_mod_CFLAGS): Likewise.
36817 (terminal_mod_LDFLAGS): Likewise.
36818
36819 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36820 handler.c.
36821 (kernel_img_SOURCES): Add list.c and handler.c.
36822 (kernel_img_HEADERS): Add list.h and handler.h.
36823
36824 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36825 handler.c.
36826 (kernel_mod_SOURCES): Add list.c and handler.c.
36827 (kernel_mod_HEADERS): Add list.h and handler.h.
36828
36829 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36830 handler.c.
36831 (kernel_elf_SOURCES): Add list.c and handler.c.
36832 (kernel_elf_HEADERS): Add list.h and handler.h.
36833
36834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36835 handler.c.
36836 (kernel_elf_SOURCES): Add list.c and handler.c.
36837 (kernel_elf_HEADERS): Add list.h and handler.h.
36838
36839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36840 handler.c.
36841 (kernel_mod_SOURCES): Add list.c and handler.c.
36842 (kernel_mod_HEADERS): Add list.h and handler.h.
36843
36844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36845 handler.c.
36846 (kernel_elf_SOURCES): Add list.c and handler.c.
36847 (kernel_elf_HEADERS): Add list.h and handler.h.
36848
8a31787f 368492009-02-27 Robert Millan <rmh@aybabtu.com>
36850
36851 Factorize elf32 / elf64 code in Multiboot loader. This will
36852 prevent it from getting out of sync again.
36853
36854 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36855 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36856 grub_multiboot_load_elf64): Move from here ...
36857 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36858 grub_multiboot_load_elf): ... to here (new file).
36859
51cd3dfc 368602009-02-27 Robert Millan <rmh@aybabtu.com>
36861
36862 * util/grub.d/10_linux.in: Rename "single-user mode" to
36863 "recovery mode".
36864
6e8c9c3a 368652009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36866
36867 Don't leak in SCSI code.
36868 * disk/scsi.c (grub_scsi_close): free `scsi'.
36869
4b6bf4f9 368702009-02-27 Robert Millan <rmh@aybabtu.com>
36871
36872 * loader/i386/pc/multiboot.c: Move from here ...
36873 * loader/i386/multiboot.c: ... to here. Update all users.
36874
b9413424 368752009-02-27 Robert Millan <rmh@aybabtu.com>
36876
36877 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36878 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36879
50fb7002 368802009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36881
36882 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36883 b-tree.
36884
8cc50345 368852009-02-27 Robert Millan <rmh@aybabtu.com>
36886
36887 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36888 `0x' qualifier as 0 when base is specified as parameter).
36889
6e09b8b7 368902009-02-24 Bean <bean123ch@gmail.com>
36891
36892 * configure.ac: Check for -mcmodel=large in x86_64 target.
36893
36894 * include/grub/efi/api.h (efi_call_10): New macro.
36895 (efi_wrap_10): New function.
36896
36897 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36898 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36899 (GRUB_PE32_REL_BASED_LOW): Likewise.
36900 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36901 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36902 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36903 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36904 (GRUB_PE32_REL_BASED_REL): Likewise.
36905 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36906 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36907 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36908
36909 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36910 issue.
36911
36912 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36913 (efi_wrap_10): New function.
36914
36915 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36916
36917 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36918 MB/MBP model (NV chipset).
36919 (devdata_devs): Add devpath_5 to the list.
36920
36921 * load/i386/efi/linux.c (video_base): Remove variable.
36922 (RGB_MASK): New macro.
36923 (RGB_MAGIC): Likewise.
36924 (LINE_MIN): Likewise.
36925 (LINE_MAX): Likewise.
36926 (FBTEST_STEP): Likewise.
36927 (FBTEST_COUNT): Likewise.
36928 (fb_list): New variable.
36929 (grub_find_video_card): Remove function.
36930 (find_framebuf): New function.
36931 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36932 line length.
36933
36934 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36935 problem for x86_64.
36936
74b21bee 369372009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36938
36939 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36940
36941 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36942 coding tool name.
36943
a455f472 369442009-02-22 Robert Millan <rmh@aybabtu.com>
36945
36946 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36947 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36948 in our relocation, instead of using it directly from heap. Also
36949 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36950
6374daf3 369512009-02-21 Robert Millan <rmh@aybabtu.com>
36952
36953 Implement USB keyboard support (based on patch by Marco Gerards)
36954
36955 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36956 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36957 (usb_keyboard_mod_LDFLAGS): New variables.
36958
36959 * term/usb_keyboard.c: New file.
36960
8fa4ea70 369612009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36962
36963 Corrected wrong declaration
36964
36965 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36966
353976ac 369672009-02-14 Christian Franke <franke@computer.org>
36968
36969 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36970 (grub_lspci_iter): Print class code and programming interface byte.
36971
6aa1169b 369722009-02-14 Christian Franke <franke@computer.org>
36973
36974 * gendistlist.sh: Ignore `.svn' directories.
36975
265372ca 369762009-02-14 Felix Zielcke <fzielcke@z-51.de>
36977
36978 * fs/fat.c: Add 2009 to Copyright line.
36979
9ff516f3 369802009-02-14 Christian Franke <franke@computer.org>
36981
36982 * commands/hdparm.c: New file. Provides `hdparm' command
36983 which sends ATA commands via grub_disk_ata_pass_through ().
36984
36985 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36986
36987 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36988 and <grub/cpu/io.h> to include/grub/ata.h.
36989 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36990 (GRUB_CDROM_SECTOR_SIZE): Remove.
36991 (GRUB_ATA_*): Move to include/grub/ata.h.
36992 (GRUB_ATAPI_*): Likewise.
36993 (enum grub_ata_commands): Likewise.
36994 (enum grub_ata_timeout_milliseconds): Likewise.
36995 (struct grub_ata_device): Likewise.
36996 (grub_ata_regset): Likewise.
36997 (grub_ata_regget): Likewise.
36998 (grub_ata_regset2): Likewise.
36999 (grub_ata_regget2): Likewise.
37000 (grub_ata_check_ready): Likewise.
37001 (grub_ata_wait_not_busy): Remove static, exported in
37002 include/grub/ata.h.
37003 (grub_ata_wait_drq): Likewise.
37004 (grub_ata_pio_read): Likewise.
37005
37006 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37007 function for hdparm.mod.
37008
37009 * include/grub/ata.h: New file, contains declarations from
37010 disk/ata.c.
37011 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37012
37013 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37014 (grub_disk_ata_pass_through): New exported variable.
37015
37016 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37017
772e23da 370182009-02-13 Colin D Bennett <colin@gibibit.com>
37019
37020 Support multiple fallback entries, and provide an API to support
37021 executing default+fallback menu entries. Renamed the `terminal' menu
37022 viewer to `text'.
37023
37024 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37025 variable declaration.
37026 (grub_menu_execute_callback): New structure declaration.
37027 (grub_menu_execute_callback_t): New typedef.
37028 (grub_menu_execute_with_fallback): New function declaration.
37029 (grub_menu_get_entry): Likewise.
37030 (grub_menu_get_timeout): Likewise.
37031 (grub_menu_set_timeout): Likewise.
37032
37033 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37034
37035 * normal/menu.c (grub_wait_after_message): Moved to
37036 `normal/menu_text.c'.
37037 (draw_border): Likewise.
37038 (print_message): Likewise.
37039 (print_entry): Likewise.
37040 (print_entries): Likewise.
37041 (grub_menu_init_page): Likewise.
37042 (get_entry_number): Likewise.
37043 (print_timeout): Likewise.
37044 (run_menu): Likewise.
37045 (grub_menu_execute_entry): Likewise.
37046 (show_text_menu): Likewise.
37047 (get_and_remove_first_entry_number): New function.
37048 (grub_menu_execute_with_fallback): Likewise.
37049 (get_entry): Renamed to ...
37050 (grub_menu_get_entry): .. this and made it global.
37051 (get_timeout): Renamed to ...
37052 (grub_menu_get_timeout): ... this and made it global.
37053 (set_timeout): Renamed to ...
37054 (grub_menu_set_timeout): ... this and made it global.
37055 (grub_normal_terminal_menu_viewer): Renamed to ...
37056 (grub_normal_text_menu_viewer): ... this.
37057
37058 * normal/menu_text.c: New file. Extracted text-menu-specific code
37059 from normal/menu.c.
37060
37061 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37062 (normal_mod_SOURCES): Likewise.
37063
37064 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37065 (normal_mod_SOURCES): Likewise.
37066
37067 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37068 (normal_mod_SOURCES): Likewise.
37069
37070 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37071 (normal_mod_SOURCES): Likewise.
37072
37073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37074 (normal_mod_SOURCES): Likewise.
37075
37076 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37077 (normal_mod_SOURCES): Likewise.
37078
37079 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37080 (normal_mod_SOURCES): Likewise.
37081
16ac430e 370822009-02-11 Robert Millan <rmh@aybabtu.com>
37083
37084 * util/grub.d/00_header.in: Update old reference to `font' command.
37085
06ff20fc 370862009-02-10 Felix Zielcke <fzielcke@z-51.de>
37087
37088 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37089
37090 Based on patch from Javier Martín.
37091
96da9407 370922009-02-09 Felix Zielcke <fzielcke@z-51.de>
37093
37094 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37095 to avoid false positives with FAT.
96da9407 37096 (grub_fstest_SOURCES): Likewise.
37097 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37098 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37101 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37102 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37103
6dca6fe4 371042009-02-09 Felix Zielcke <fzielcke@z-51.de>
37105
06ff20fc 37106 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37107 bpb.version_specific.fat12_or_fat16.fstype and
37108 bpb.version_specific.fat32.fstype.
37109
2550c62f 371102009-02-08 Robert Millan <rmh@aybabtu.com>
37111
be110b30 37112 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37113
56978920 371142009-02-08 Robert Millan <rmh@aybabtu.com>
37115
37116 * Makefile.in (host_os, host_cpu): New variables.
37117 (target_os): Remove. Update all users.
37118
d64399b5 371192009-02-08 Marco Gerards <marco@gnu.org>
37120
37121 * Makefile.in (enable_grub_emu_usb): New variable.
37122 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37123 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37124 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37125 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37126 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37127 `usbtest.mod' and `usbms.mod'.
37128 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37129 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37130 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37131 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37132 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37133 variables.
37134
37135 * disk/usbms.c: New file.
37136
37137 * include/grub/usb.h: Likewise.
37138
37139 * include/grub/usbtrans.h: Likewise.
37140
37141 * include/grub/usbdesc.h: Likewise.
37142
37143 * bus/usb/usbtrans.c: Likewise.
37144
37145 * bus/usb/ohci.c: Likewise.
37146
37147 * bus/usb/uhci.c: Likewise.
37148
37149 * bus/usb/usbhub.c: Likewise.
37150
37151 * bus/usb/usb.c: Likewise.
37152
37153 * commands/usbtest.c: Likewise.
37154
37155 * util/usb.c: Likewise.
50fb7002 37156
d64399b5 37157 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37158
37159 * configure.ac: Test for libusb presence.
50fb7002 37160
d64399b5 37161 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37162
2b40d6bb 371632009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37164
37165 * kern/mm.c: Add more comments.
37166
73a4ce81 371672009-02-08 Robert Millan <rmh@aybabtu.com>
37168
37169 Patch from Javier Martín.
37170 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37171 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37172
f821ce59 371732009-02-08 Robert Millan <rmh@aybabtu.com>
37174
37175 * fs/cpio.c: Split tar functionality to ...
37176 * fs/tar.c: ... here (new file). Update all users.
37177
aebfc4b0 371782009-02-07 Robert Millan <rmh@aybabtu.com>
37179
37180 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37181 backward-incompatible features.
37182
37183 Based on patch from Javier Martín, with some adjustments.
37184
50fb7002 371852009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37186
37187 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37188
0bb5115e 371892009-02-07 Robert Millan <rmh@aybabtu.com>
37190
37191 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37192 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37193 after the RAID stuff.
37194
38a0f8e7 371952009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37196
50fb7002 37197 Fixes problem when running vbetest command as reported by
38a0f8e7 37198 Vladimir Serbinenko <phcoder@gmail.com>.
37199
37200 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37201
3143cc1c 372022009-02-04 Felix Zielcke <fzielcke@z-51.de>
37203
37204 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37205 /dev/md/NpN style mdraid devices.
37206
9cba6fce 372072009-02-03 Felix Zielcke <fzielcke@z-51.de>
37208
37209 * util/unifont2pff.rb: Remove.
37210
e507a2c1 372112009-02-03 Felix Zielcke <fzielcke@z-51.de>
37212
37213 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37214 `#'.
37215
d2c2b4cd 372162009-02-03 Felix Zielcke <fzielcke@z-51.de>
37217
37218 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37219 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37220 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37221 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37225
b4315fb0 372262009-02-02 Christian Franke <franke@computer.org>
37227
37228 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37229
de3aa260 372302009-02-01 Felix Zielcke <fzielcke@z-51.de>
37231
7c3ff286 37232 * INSTALL: Note that we now require at least autoconf 2.59 and
37233 that LZO is optional.
de3aa260 37234
825a182b 372352009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37236
37237 Base on patch on bug #24154 created by Tomas Tintera
37238 <trosos@seznam.cz>.
37239
37240 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37241
a69ef770 372422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37243
7c3ff286 37244 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37245 <bero@arklinux.org>.
37246
37247 * normal/parser.y (script_init): Add missing semicolon.
37248
6fa42fa6 372492009-01-31 Colin D Bennett <colin@gibibit.com>
37250
7c3ff286 37251 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37252 (free_menu_entry_classes): Added.
37253 (grub_normal_menu_addentry): Added class property handling.
37254 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37255 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37256
37257 * normal/menu_viewer.c: New file.
37258
37259 * normal/menu.c (run_menu_entry): Renamed to ...
37260 (grub_menu_execute_entry): ... this and made it as global.
37261 (grub_menu_run): Renamed to ...
37262 (show_text_menu): ... this and made it local.
37263 (show_text_menu): Adapt to new function names.
37264 (grub_normal_terminal_menu_viewer): New global variable.
37265
37266 * include/grub/menu.h: New file.
37267
37268 * include/grub/menu_viewer.h: New file.
37269
37270 * include/grub/normal.h: Added include to grub/menu.h.
37271 (grub_menu_entry): Moved to include/grub/menu.h.
37272 (grub_menu_entry_t): Likewise.
37273 (grub_menu): Likewise.
37274 (grub_menu_t): Likewise.
37275 (grub_normal_terminal_menu_viewer): Added.
37276 (grub_menu_execute_entry): Likewise.
37277 (grub_menu_run): Removed.
37278
37279 * DISTLIST: Added include/grub/menu.h.
37280 Added include/grub/menu_viewer.h.
37281 Added normal/menu_viewer.c.
37282
372832009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37284
37285 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37286 arglist for menutitle arguments.
37287
37288 * normal/main.c (grub_normal_menu_addentry): Likewise.
37289
37290 * normal/parser.y (menuentry): Likewise.
37291
37292 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37293
37294 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37295 (grub_script_create_cmdmenu): Likewise.
37296
37297 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37298
37299 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37300 changes.
37301
37302 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37303
37304 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37305
37306 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37307
37308 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37309
37310 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37311
37312 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37313
56192c23 373142009-01-30 Christian Franke <franke@computer.org>
37315
37316 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37317 in option help text.
37318
d72521b3 373192009-01-27 Pavel Roskin <proski@gnu.org>
37320
37321 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37322
994b5e84 373232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37324
37325 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37326
37327 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37328
37329 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37330 unregister function.
37331
6a7eab2c 373322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37333
37334 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37335
37336 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37337
37338 * util/grub-mkfont.c (usage): Fix typo.
37339
37340 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37341
1806b56e 373422009-01-26 Daniel Mierswa <impulze@impulze.org>
37343
3fb18f09 37344 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37345
336e1fb9 37346 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37347
1806b56e 37348 * kern/misc.c (grub_strcasecmp): New function.
37349 (grub_strcasecmp): Use grub_size_t instead of int for length.
37350 Fix return value.
37351 * include/grub/misc.h: Update function prototypes.
37352
580b2a0f 373532009-01-26 Robert Millan <rmh@aybabtu.com>
37354
37355 * configure.ac: Fix cross-compilation check.
ef257b36 37356
d31c24f1 373572009-01-22 Christian Franke <franke@computer.org>
37358
37359 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37360 (precision) digit string. Allow `.format2' without `format1' (width).
37361 Limit input chars for `%s' output to `format2' if specified. This is
37362 compatible with standard printf ().
37363
3138b44c 373642009-01-22 Christian Franke <franke@computer.org>
37365
37366 * disk/ata.c (grub_ata_wait_status): Replace by ...
37367 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37368 other status bits may be invalid while BSY is asserted.
37369 (grub_ata_check_ready): New function.
37370 (grub_ata_cmd): Removed.
37371 (grub_ata_wait_drq): New function.
37372 (grub_ata_strncpy): Remove inline.
37373 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37374 and error check now done by grub_ata_wait_drq ().
37375 (grub_ata_pio_write): Likewise.
37376 (grub_atapi_identify): Set DEV before check for !BSY. Use
37377 grub_ata_wait_drq () to wait for data.
37378 (grub_ata_device_initialize): Add status register check to
37379 detect missing SATA slave devices. Add debug messages.
37380 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37381 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37382 transfer loop by grub_ata_pio_write ().
37383 (grub_ata_identify): Set DEV before check for !BSY. Use
37384 grub_ata_wait_drq () to wait for data.
ef257b36 37385 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37386 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37387 read/write in one loop. Fix invalid command on write. Fix incomplete
37388 command on (size % batch) == 0. Add missing error check after write of
37389 last block. Add debug messages.
37390 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37391
59a64ef6 373922009-01-19 Christian Franke <franke@computer.org>
37393
37394 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37395 (GRUB_ATAPI_IREASON_*): Likewise.
37396 (grub_ata_pio_write): Fix timeout error return.
37397 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37398 (grub_atapi_wait_drq): New function.
37399 (grub_atapi_packet): New parameter `size'.
37400 Use grub_atapi_wait_drq () and direct write instead of
37401 grub_ata_pio_write ().
37402 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37403 reads the number of bytes requested by the device for each DRQ
37404 assertion.
37405 (grub_atapi_write): Remove old implementation, return not
37406 implemented instead.
37407
1cfe20b3 374082009-01-19 Christian Franke <franke@computer.org>
37409
37410 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37411 of 512 to calculate data size.
37412 (grub_scsi_read12): Likewise.
37413 (grub_scsi_write10): Likewise.
37414 (grub_scsi_write12): Likewise.
37415 (grub_scsi_read): Adjust size according to blocksize.
37416 Add checks for invalid blocksize and unaligned transfer.
37417
bee5fe5d 374182009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37419
37420 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37421
ef257b36 37422 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37423 width glyphs.
37424
3e643f8c 374252009-01-19 Robert Millan <rmh@aybabtu.com>
37426
37427 * config.guess: Update to latest version from config git.
37428 * config.sub: Likewise.
37429
4fa80998 374302009-01-17 Felix Zielcke <fzielcke@z-51.de>
37431
37432 * Makefile.in: Change font compilation to use new grub-mkfont instead
37433 of java version.
37434
37435 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37436 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37437 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37438 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37439 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37440 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37441 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37442 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37443 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37444
7086085b 374452009-01-16 Christian Franke <franke@computer.org>
37446
37447 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37448 (enum grub_ata_timeout_milliseconds): New enum.
37449 (grub_ata_wait_status): Add parameter milliseconds.
37450 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37451 recovery from timed-out commands.
37452 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37453 return grub_errno instead of REG_ERROR.
37454 (grub_ata_pio_write): Add parameter milliseconds.
37455 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37456 Pass milliseconds to grub_ata_wait_status () and
37457 grub_ata_pio_read ().
37458 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37459 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37460 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37461 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37462 It is not suitable for device detection, because DEV bit is ignored,
37463 the command may run too long, and not all devices set the signature
37464 properly.
37465 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37466 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37467 Fix device selection, DEV bit must be set first to address the registers
37468 of the correct device.
37469 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37470 grub_ata_pio_read/write ().
37471 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37472 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37473
4a412913 374742009-01-13 Carles Pina i Estany <carles@pina.cat>
37475
37476 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37477
7795c55e 374782009-01-13 Bean <bean123ch@gmail.com>
d913988c 37479
37480 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37481
7795c55e 374822009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37483
37484 * Makefile.in: (enable_grub_mkfont): New variable.
37485 (freetype_cflags): Likewise.
37486 (freetype_libs): Likewise.
37487
37488 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37489 (grub_mkfont_SOURCES): New variable.
37490 (grub_mkfont_CFLAGS): Likewise.
37491 (grub_mkfont_LDFLAGS): Likewise.
37492
37493 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37494 library if `--enable-grub-mkfont' is requested.
37495 (enable_grub_mkfont): New variable.
37496 (freetype_cflags): Likewise.
37497 (freetype_libs): Likewise.
37498
37499 * util/grub-mkfont.c: New file.
37500
093af1fe 375012009-01-12 Christian Franke <franke@computer.org>
37502
37503 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37504 mode check. Fix setting of compat_use[].
37505
f36cc108 375062009-01-10 Robert Millan <rmh@aybabtu.com>
37507
37508 Update a few copyright years which we forgot to do in 2008 (only for
37509 files whose changes made in 2008 were copyright-significant)
37510
37511 * Makefile.in: Add 2008 to Copyright line.
37512 * disk/ieee1275/ofdisk.c: Likewise.
37513 * disk/efi/efidisk.c: Likewise.
37514 * kern/dl.c: Likewise.
37515 * kern/sparc64/ieee1275/init.c: Likewise.
37516 * kern/mm.c: Likewise.
37517 * kern/efi/mm.c: Likewise.
37518 * boot/i386/pc/boot.S: Likewise.
37519 * genfslist.sh: Likewise.
37520 * fs/iso9660.c: Likewise.
37521 * fs/hfs.c: Likewise.
37522 * fs/jfs.c: Likewise.
37523 * fs/minix.c: Likewise.
37524 * fs/ufs.c: Likewise.
37525 * gensymlist.sh.in: Likewise.
37526 * genkernsyms.sh.in: Likewise.
37527 * include/grub/misc.h: Likewise.
37528 * include/grub/types.h: Likewise.
37529 * include/grub/symbol.h: Likewise.
37530 * include/grub/elf.h: Likewise.
37531 * include/grub/kernel.h: Likewise.
37532 * include/grub/disk.h: Likewise.
37533 * include/grub/dl.h: Likewise.
37534 * include/grub/i386/linux.h: Likewise.
37535 * include/grub/i386/pc/biosdisk.h: Likewise.
37536 * include/grub/efi/api.h: Likewise.
37537 * include/grub/efi/pe32.h: Likewise.
37538 * include/grub/util/misc.h: Likewise.
37539 * normal/execute.c: Likewise.
37540 * normal/arg.c: Likewise.
37541 * normal/completion.c: Likewise.
37542 * normal/lexer.c: Likewise.
37543 * normal/parser.y: Likewise.
37544 * normal/misc.c: Likewise.
37545 * commands/i386/pc/vbeinfo.c: Likewise.
37546 * commands/hexdump.c: Likewise.
37547 * commands/terminal.c: Likewise.
37548 * commands/ls.c: Likewise.
37549 * commands/help.c: Likewise.
37550 * partmap/pc.c: Likewise.
37551 * loader/efi/chainloader.c: Likewise.
37552 * loader/multiboot_loader.c: Likewise.
37553 * loader/i386/pc/multiboot2.c: Likewise.
37554 * term/efi/console.c: Likewise.
37555 * term/i386/pc/serial.c: Likewise.
37556 * util/lvm.c: Likewise.
37557 * util/console.c: Likewise.
37558 * util/i386/efi/grub-mkimage.c: Likewise.
37559 * util/raid.c: Likewise.
37560
7f02114b 375612009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37562
37563 * commands/videotest.c: Removed include to grub/machine/memory.h.
37564
37565 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37566 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37567 (video_mod_SOURCES): Removed.
37568 (video_mod_CFLAGS): Likewise.
37569 (video_mod_LDFLAGS): Likewise.
37570 (gfxterm_mod_SOURCES): Likewise.
37571 (gfxterm_mod_CFLAGS): Likewise.
37572 (gfxterm_mod_LDFLAGS): Likewise.
37573 (videotest_mod_SOURCES): Likewise.
37574 (videotest_mod_CFLAGS): Likewise.
37575 (videotest_mod_LDFLAGS): Likewise.
37576 (bitmap_mod_SOURCES): Likewise.
37577 (bitmap_mod_CFLAGS): Likewise.
37578 (bitmap_mod_LDFLAGS): Likewise.
37579 (tga_mod_SOURCES): Likewise.
37580 (tga_mod_CFLAGS): Likewise.
37581 (tga_mod_LDFLAGS): Likewise.
37582 (jpeg_mod_SOURCES): Likewise.
37583 (jpeg_mod_CFLAGS): Likewise.
37584 (jpeg_mod_LDFLAGS): Likewise.
37585 (png_mod_SOURCES): Likewise.
37586 (png_mod_CFLAGS): Likewise.
37587 (png_mod_LDFLAGS): Likewise.
37588
37589 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37590 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37591 (video_mod_SOURCES): Added.
37592 (video_mod_CFLAGS): Likewise.
37593 (video_mod_LDFLAGS): Likewise.
37594 (videotest_mod_SOURCES): Likewise.
37595 (videotest_mod_CFLAGS): Likewise.
37596 (videotest_mod_LDFLAGS): Likewise.
37597 (bitmap_mod_SOURCES): Likewise.
37598 (bitmap_mod_CFLAGS): Likewise.
37599 (bitmap_mod_LDFLAGS): Likewise.
37600 (tga_mod_SOURCES): Likewise.
37601 (tga_mod_CFLAGS): Likewise.
37602 (tga_mod_LDFLAGS): Likewise.
37603 (jpeg_mod_SOURCES): Likewise.
37604 (jpeg_mod_CFLAGS): Likewise.
37605 (jpeg_mod_LDFLAGS): Likewise.
37606 (png_mod_SOURCES): Likewise.
37607 (png_mod_CFLAGS): Likewise.
37608 (png_mod_LDFLAGS): Likewise.
37609 (gfxterm_mod_SOURCES): Likewise.
37610 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37611 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37612
37613 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37614 grub/machine/console.h.
37615
644fff97 376162009-01-04 Jerone Young <jerone@gmail.com>
37617
37618 Make on screen instructions clearer
37619
37620 Based on patch created by Jidanni <jidanni@jidanni.org>
37621
37622 * normal/menu.c: print clearer instructions on the screen
37623
1e901a75 376242009-01-02 Colin D Bennett <colin@gibibit.com>
37625
37626 New font engine.
34c44600 37627
1e901a75 37628 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37629 build system and fixed gfxterm.c to work with different sized fonts.
37630
37631 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37632
1e901a75 37633 * configure: Re-generated.
34c44600 37634
1e901a75 37635 * DISTLIST: Removed font/manager.c.
37636 Added font/font.c.
37637 Added font/font_cmd.c.
34c44600 37638
1e901a75 37639 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37640 compilation.
34c44600 37641
1e901a75 37642 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37643
37644 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37645
37646 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37647
1e901a75 37648 * normal/menu.c: Likewise.
34c44600 37649
1e901a75 37650 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37651 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37652
1e901a75 37653 * include/grub/font.h: Replaced with new file.
34c44600 37654
1e901a75 37655 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37656 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37657 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37658 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37659 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37660 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37661 fg_red, fg_green, fg_blue, fg_alpha.
37662 (grub_video_adapter): Removed blit_glyph.
34c44600 37663 (grub_video_blit_glyph): Removed.
37664
1e901a75 37665 * font/manager.c: Removed file.
34c44600 37666
37667 * font/font.c: New file.
37668
1e901a75 37669 * font/font_cmd.c: Likewise.
34c44600 37670
1e901a75 37671 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37672
1e901a75 37673 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37674 (grub_video_vbe_map_rgba): Likewise.
37675 (grub_video_vbe_unmap_color_int): Likewise.
37676 (grub_video_vbe_blit_glyph): Removed.
37677 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37678
1e901a75 37679 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37680 (get_pixel): Likewise.
34c44600 37681 (set_pixel): Likewise.
37682
1e901a75 37683 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37684
1e901a75 37685 * term/gfxterm.c: Adapted to new font engine.
34c44600 37686
1e901a75 37687 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37688
1e901a75 37689 * term/i386/pc/vga.c: Likewise.
34c44600 37690
1e901a75 37691 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37692
1e901a75 37693 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37694
1e901a75 37695 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37696
1e901a75 37697 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37698
1e901a75 37699 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37700
1e901a75 37701 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37702
1e901a75 37703 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37704
1e901a75 37705 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37706
1e901a75 37707 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37708
37709 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37710
1e901a75 37711 * util/grub-mkconfig_lib.in: Changed font extension.
37712
278922e8 377132008-12-28 Felix Zielcke <fzielcke@z-51.de>
37714
37715 * util/getroot.c (grub_util_get_grub_dev): Add support for
37716 /dev/md/dNNpNN style partitionable mdraid devices.
37717
3ced05cf 377182008-12-12 Alex Smith <alex@alex-smith.me.uk>
37719
37720 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37721 at a time limit of the PXE TFTP API correctly.
37722 (grub_pxefs_close): Likewise.
37723
7fd0ee30 377242008-11-29 Robert Millan <rmh@aybabtu.com>
37725
34c44600 37726 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37727 grub_ata_device_initialize() calls.
37728
34c44600 377292008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37730
37731 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37732 iteration failed.
37733 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37734
89313780 377352008-11-28 Robert Millan <rmh@aybabtu.com>
37736
37737 Fix build on powerpc-ieee1275. Based on patch created by
37738 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37739 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37740 `kern/ieee1275/mmap.c'.
37741 * include/grub/powerpc/ieee1275/memory.h: New file.
37742
15257703 37743 Provide grub-install on coreboot.
37744 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37745 (grub_install_SOURCES): New variable.
37746 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37747 usable on coreboot.
37748
9fc5388a 377492008-11-25 Felix Zielcke <fzielcke@z-51.de>
37750
37751 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37752 to `grub_term_input_t'.
37753 (grub_term_get_current_output): Change return type to
37754 `grub_term_output_t'.
37755
bc3a2f31 377562008-11-22 Robert Millan <rmh@aybabtu.com>
37757
34c44600 37758 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37759 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37760 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37761 grub_vga_text_cls().
37762
80fc88f2 37763 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37764 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37765
cbf36fd3 37766 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37767 to 0x200000 (avoids trouble with some OFW implementations, and matches
37768 with the one in Yaboot).
37769 Reported by Manoel Abranches
37770
73e8e268 377712008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37772
37773 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37774 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37775
73e8e268 37776 * util/grub-mkconfig_lib.in (grub_warn): New function.
37777 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37778 warnings, to obtain consistent formatting.
37779 * util/grub.d/00_header.in: Likewise.
37780 * util/update-grub_lib.in: Likewise.
37781
e94045a1 37782 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37783 Move comment text to `#error' stanza.
e94045a1 37784
79d29fd7 37785 Harmonize ieee1275's grub_available_iterate() with the generic
37786 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37787 build problem on i386-ieee1275):
37788 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37789 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37790 parameter `type'. Update all users of this function.
37791 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37792 `kern/ieee1275/mmap.c'.
37793 * kern/ieee1275/init.c
37794 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37795 with ...
37796 (grub_machine_mmap_iterate): ... this.
37797 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37798 return type to `grub_err_t'. Update all implementations of this
37799 function prototype.
37800 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37801 Likewise.
37802
60d6b16e 37803 Add `lsmmap' command (lists firmware-provided memory map):
37804 * commands/lsmmap.c: New file.
37805 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37806 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37807 variables.
37808 * conf/powerpc-ieee1275.rmk: Likewise.
37809 * conf/i386-coreboot.rmk: Likewise.
37810 * conf/i386-ieee1275.rmk: Likewise.
37811
ebaaf49b 378122008-11-19 Robert Millan <rmh@aybabtu.com>
37813
37814 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37815 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37816 constraints to initrd allocation (based on code from
37817 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37818 for Linux to find it.
ebaaf49b 37819
dfab719f 378202008-11-14 Robert Millan <rmh@aybabtu.com>
37821
37822 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37823 order to cope with duplicate slashes.
37824
10fc3eb9 378252008-11-14 Robert Millan <rmh@aybabtu.com>
37826
37827 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37828 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37829 don't want to mess with lower memory, because it is used in the Linux
37830 loader.
37831
37832 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37833 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37834 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37835 is in our heap (probably as a result of it being corrupted during
2f2a3442 37836 decompression). Add #error instance with comment to explain why this
37837 loader isn't currently usable on PC/BIOS.
10fc3eb9 37838
e2e07847 378392008-11-14 Robert Millan <rmh@aybabtu.com>
37840
37841 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37842 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37843
fe8e8d69 378442008-11-12 Robert Millan <rmh@aybabtu.com>
37845
37846 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37847
37848 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37849 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37850 from here ...
37851 * include/grub/i386/pc/memory.h: ... to here.
37852
976b07d0 378532008-11-12 Robert Millan <rmh@aybabtu.com>
37854
37855 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37856 split).
37857
37858 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37859 (grub_console_cur_color, grub_console_real_putchar)
37860 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37861 (grub_console_setcolorstate, grub_console_setcolor)
37862 (grub_console_getcolor): Move from here ...
37863 * include/grub/i386/vga_common.h: ... to here (new file).
37864
37865 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37866 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37867 `<grub/i386/io.h>'.
37868 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37869 `<grub/i386/vga_common.h>'.
37870
76679cd3 378712008-11-12 Robert Millan <rmh@aybabtu.com>
37872
37873 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37874 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37875 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37876 variables.
37877 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37878 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37879
37880 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37881 grub_console_init() with call to grub_vga_text_init().
37882 (grub_machine_fini): Replace call to
37883 grub_console_fini() with call to grub_vga_text_fini() and
37884 grub_at_keyboard_fini().
37885
37886 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37887 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37888 (grub_console_setcolorstate, grub_console_setcolor)
37889 (grub_console_getcolor): New function prototypes.
37890
37891 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37892 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37893 (grub_vga_text_setcursor): Static-ize.
37894 (grub_vga_text_term): New structure.
37895 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37896
37897 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37898 (grub_console_cur_color, grub_console_standard_color)
37899 (grub_console_normal_color, grub_console_highlight_color)
37900 (map_char, grub_console_putchar, grub_console_getcharwidth)
37901 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37902 (grub_console_getcolor): Move from here ...
37903 * term/i386/vga_common.c: ... to here (same function names).
37904
95b841d3 379052008-11-12 Robert Millan <rmh@aybabtu.com>
37906
37907 Use newly-added Multiboot support in coreboot.
37908
37909 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37910 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37911
37912 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37913 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37914 (codestart): Store the MBI in `startup_multiboot_info' when we're
37915 being loaded using Multiboot.
37916
37917 * kern/i386/coreboot/init.c (grub_machine_init): Move
37918 grub_at_keyboard_init() call to beginning of function (useful for
37919 debugging). Call grub_machine_mmap_init() before attempting to use
37920 grub_machine_mmap_iterate().
37921 (grub_lower_mem, grub_upper_mem): Move from here ...
37922 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37923 here (new file).
37924
37925 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37926 function prototype.
37927
761ca975 379282008-11-12 Robert Millan <rmh@aybabtu.com>
37929
37930 Fix a regression introduced by the at_keyboard.mod split. Because
37931 some terminals are default on some platforms and non-default on
37932 others, the first terminal being registered determines which is
37933 going to be default.
37934
37935 * kern/term.c (grub_term_register_input): If this is the first
37936 terminal being registered, set it as the current one.
37937 (grub_term_register_output): Likewise.
37938
37939 * term/efi/console.c (grub_console_init): Do not call
37940 grub_term_set_current_output() or grub_term_set_current_input().
37941 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37942 * term/i386/pc/console.c (grub_console_init): Likewise.
37943 (grub_console_fini): Do not call grub_term_set_current_input()
37944 (but leave grub_term_set_current_output() to restore text mode).
37945
6c529df7 379462008-11-10 Robert Millan <rmh@aybabtu.com>
37947
37948 * util/grub.d/00_header.in: Add backward compatibility check for
37949 versions of terminal.mod that don't understand `terminal_input' or
37950 `terminal_output'.
37951
132e4113 379522008-11-09 Robert Millan <rmh@aybabtu.com>
37953
37954 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37955 `terminal_input' / `terminal_output', not `terminal'.
37956
ac293d50 379572008-11-08 Robert Millan <rmh@aybabtu.com>
37958
37959 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37960 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37961
0025933a 379622008-11-08 Robert Millan <rmh@aybabtu.com>
37963
37964 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37965 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37966 members. Update all users.
37967 * util/console.c (grub_ncurses_term): Split in ...
37968 (grub_ncurses_term_input): ... this, and ...
37969 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37970 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37971
37c86336 379722008-11-08 Robert Millan <rmh@aybabtu.com>
37973
37974 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37975 (PKGDATA): Add $(pkgdata_SRCDIR).
37976 (pkglib_BUILDDIR): New variable.
37977 (pkgdata_SRCDIR): New variable.
37978 (build_env.mk): New target.
37979 (include_DATA): New variable.
37980 (install-local): Install $(include_DATA) files in $(includedir).
37981
b6c15a2d 379822008-11-07 Pavel Roskin <proski@gnu.org>
37983
d99d46f1 37984 * gendistlist.sh: Use C locale for sorting to ensure consistent
37985 output on all systems.
37986
b6c15a2d 37987 * util/grub.d/00_header.in: Remove incorrect space before
37988 "serial".
37989
c32ee8c9 379902008-11-07 Robert Millan <rmh@aybabtu.com>
37991
37992 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37993 per specification.
37994 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37995 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37996 (based on find_multi_boot1_header).
37997 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37998 using find_multi_boot2_header(), and abort if neither Multiboot or
37999 Multiboot headers were found.
38000
651c29b7 380012008-11-07 Robert Millan <rmh@aybabtu.com>
38002
38003 Modularize at_keyboard.mod:
38004
38005 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38006 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38007 (at_keyboard_mod_LDFLAGS): New variables.
38008
38009 Actual terminal split:
38010
38011 * include/grub/term.h (struct grub_term): Split in ...
38012 (struct grub_term_input): ... this, and ...
38013 (struct grub_term_output): ... this. Update all users.
38014 (grub_term_set_current): Split in ...
38015 (grub_term_set_current_input): ... this, and ...
38016 (grub_term_set_current_output): ... this.
38017 (grub_term_get_current): Split in ...
38018 (grub_term_get_current_input): ... this, and ...
38019 (grub_term_get_current_output): ... this.
38020 (grub_term_register): Split in ...
38021 (grub_term_register_input): ... this, and ...
38022 (grub_term_register_output): ... this.
38023 (grub_term_unregister): Split in ...
38024 (grub_term_unregister_input): ... this, and ...
38025 (grub_term_unregister_output): ... this.
38026 (grub_term_iterate): Split in ...
38027 (grub_term_iterate_input): ... this, and ...
38028 (grub_term_iterate_output): ... this.
38029
38030 * kern/term.c (grub_term_list): Split in ...
38031 (grub_term_list_input): ... this, and ...
38032 (grub_term_list_output): ... this. Update all users.
38033 (grub_cur_term): Split in ...
38034 (grub_cur_term_input): ... this, and ...
38035 (grub_cur_term_output): ... this. Update all users.
38036 (grub_term_set_current): Split in ...
38037 (grub_term_set_current_input): ... this, and ...
38038 (grub_term_set_current_output): ... this.
38039 (grub_term_get_current): Split in ...
38040 (grub_term_get_current_input): ... this, and ...
38041 (grub_term_get_current_output): ... this.
38042 (grub_term_register): Split in ...
38043 (grub_term_register_input): ... this, and ...
38044 (grub_term_register_output): ... this.
38045 (grub_term_unregister): Split in ...
38046 (grub_term_unregister_input): ... this, and ...
38047 (grub_term_unregister_output): ... this.
38048 (grub_term_iterate): Split in ...
38049 (grub_term_iterate_input): ... this, and ...
38050 (grub_term_iterate_output): ... this.
38051
38052 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38053 a check for input and one for output (and only attempt to get keys
38054 from user when input works).
38055
38056 * util/grub-probe.c (grub_term_get_current): Split in ...
38057 (grub_term_get_current_input): ... this, and ...
38058 (grub_term_get_current_output): ... this.
38059 * util/grub-fstest.c: Likewise.
38060 * util/i386/pc/grub-setup.c: Likewise.
38061 * util/grub-editenv.c: Likewise.
38062
38063 Portability adjustments:
38064
38065 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38066 `term/i386/pc/at_keyboard.c'.
38067 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38068 grub_keyboard_controller_init() (now handled by terminal .init).
38069 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38070 grub_at_keyboard_init().
38071 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38072 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38073 at_keyboard.mod via input terminal interface).
38074 * include/grub/i386/coreboot/console.h: Convert into a stub for
38075 `<grub/i386/pc/console.h>'.
38076
38077 Migrate full terminals to new API:
38078
38079 * term/efi/console.c (grub_console_term): Split into ...
38080 (grub_console_term_input): ... this, and ...
38081 (grub_console_term_output): ... this. Update all users.
38082 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38083 (grub_ofconsole_init): Split into ...
38084 (grub_ofconsole_init_input): ... this, and ...
38085 (grub_ofconsole_init_output): ... this.
38086 (grub_ofconsole_term): Split into ...
38087 (grub_ofconsole_term_input): ... this, and ...
38088 (grub_ofconsole_term_output): ... this. Update all users.
38089 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38090 (grub_serial_term_input): ... this, and ...
38091 (grub_serial_term_output): ... this. Update all users.
38092 * term/i386/pc/console.c (grub_console_term): Split into ...
38093 (grub_console_term_input): ... this, and ...
38094 (grub_console_term_output): ... this. Update all users.
38095 (grub_console_term_input): Only enable it on PC/BIOS platform.
38096 (grub_console_init): Remove grub_keyboard_controller_init() call.
38097
38098 Migrate input terminals to new API:
38099
38100 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38101 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38102 i386-specific anyway).
38103 (grub_console_checkkey): Rename to ...
38104 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38105 users.
38106 (grub_keyboard_controller_orig): New variable.
38107 (grub_console_getkey): Rename to ...
38108 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38109 users.
38110 (grub_keyboard_controller_init): Static-ize. Save original
38111 controller value so that it can be restored ...
38112 (grub_keyboard_controller_fini): ... here (new function).
38113 (grub_at_keyboard_term): New structure.
38114 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38115 functions.
38116
38117 Migrate output terminals to new API:
38118
38119 * term/i386/pc/vga.c (grub_vga_term): Change type to
38120 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38121 members. Update all users.
38122 * term/gfxterm.c (grub_video_term): Change type to
38123 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38124 members. Update all users.
38125 * include/grub/i386/pc/console.h (grub_console_checkkey)
38126 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38127 etc).
38128
38129 Migrate `terminal' command and userland tools to new API:
38130
38131 * commands/terminal.c (grub_cmd_terminal): Split into ...
38132 (grub_cmd_terminal_input): ... this, and ...
38133 (grub_cmd_terminal_output): ... this.
38134 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38135 `terminal_input' and `terminal_output'.
38136 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38137 `terminal_input' / `terminal_output' API.
38138 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38139 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38140 provided ${GRUB_TERMINAL}, convert it).
38141
96e5d876 381422008-11-04 Robert Millan <rmh@aybabtu.com>
38143
38144 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38145 for FreeBSD.
38146 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38147
556f3775 381482008-11-03 Bean <bean123ch@gmail.com>
38149
38150 * kern/elf.c (grub_elf32_load): Revert to previous code.
38151 (grub_elf64_load): Likewise.
38152
38153 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38154
926b9823 381552008-11-01 Robert Millan <rmh@aybabtu.com>
38156
38157 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38158 (TARGET_CPPFLAGS): Likewise.
38159 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38160
1432e958 381612008-11-01 Carles Pina i Estany <carles@pina.cat>
38162
38163 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38164
dba3f844 381652008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38166
38167 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38168 addition of objects until the code is not going to be able to fail.
38169
dba3f844 381702008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38171
38172 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38173 (add a missing NULL check, and correct them by moving the pointer
38174 operations after the actual check).
38175
7ab28c21 381762008-10-29 Robert Millan <rmh@aybabtu.com>
38177
38178 * util/i386/pc/grub-install.in: Handle empty string as output from
38179 make_system_path_relative_to_its_root().
38180
1b7748eb 381812008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38182
38183 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38184 circular metadata worst case scenario. If the metadata is circular
38185 then copy the wrap in place.
38186 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38187 project lib/format_text/layout.h
38188 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38189
c9618ab2 381902008-10-03 Felix Zielcke <fzielcke@z-51.de>
38191
7a36edca 38192 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38193
bf981c62 381942008-10-03 Felix Zielcke <fzielcke@z-51.de>
38195
38196 * util/update-grub_lib.in: Mention filename in warning message.
38197
6d994591 381982008-09-29 Felix Zielcke <fzielcke@z-51.de>
38199
38200 * NEWS: Update for rename of update-grub to grub-mkconfig.
38201
18ade780 382022008-09-29 Felix Zielcke <fzielcke@z-51.de>
38203
38204 * util/update-grub_lib.in: Copy to ...
38205 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38206 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38207 * util/update-grub.in: Rename to ...
38208 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38209 option. Add `--output' option to allow users to specify the generated
38210 configuration file. Default to stdout.
38211 (update_grub_dir): Rename to ...
38212 (grub_mkconfig_dir): ... this.
38213 (grub_cfg): Default to an empty string.
38214 * conf/common.rmk (update-grub): Rename to ...
38215 (grub-mkconfig): ... this.
38216 (update-grub_lib): Copy to ...
38217 (grub-mkconfig_lib): ... this.
38218 (update-grub_SCRIPTS): Copy to ...
38219 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38220 (update-grub_DATA): Rename to ...
38221 (grub-mkconfig_DATA): ... this.
38222
556ce6ac 382232008-09-28 Robert Millan <rmh@aybabtu.com>
38224
38225 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38226 to `modified'. Add the real `created' field.
38227 (grub_iso9660_uuid): Use `modified' rather than `created' for
38228 constructing the UUID.
38229
382302008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38231
38232 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38233 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38234
92274e85 382352008-09-28 Bean <bean123ch@gmail.com>
38236
38237 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38238 Thanks to Christian Franke for finding this bug.
38239
add6f17a 382402008-09-25 Robert Millan <rmh@aybabtu.com>
38241
38242 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38243 instances of grub_util_get_disk_name() (see previous commit).
38244
d2a367b8 382452008-09-25 Robert Millan <rmh@aybabtu.com>
38246
38247 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38248 `util/i386/get_disk_name.c'.
38249 * conf/i386-efi.rmk: Likewise.
38250 * conf/x86_64-efi.rmk: Likewise.
38251 * conf/i386-coreboot.rmk: Likewise.
38252 * conf/i386-ieee1275.rmk: Likewise.
38253 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38254 `util/ieee1275/get_disk_name.c'.
38255 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38256 * util/ieee1275/get_disk_name.c: Remove file.
38257 * util/i386/get_disk_name.c: Remove file.
38258 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38259 "hd%d" for device.map entries, rather than using
38260 grub_util_get_disk_name().
38261
81a06771 382622008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38263
38264 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38265 warning.
38266 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38267
5a004279 382682008-09-24 Carles Pina i Estany <carles@pina.cat>
38269
38270 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38271 Changed to 0x5100.
38272 (GRUB_TERM_PPAGE): Changed to 0x4900.
38273
397093d3 382742008-09-24 Robert Millan <rmh@aybabtu.com>
38275
38276 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38277 macros (they were i386-pc specific).
38278 * include/grub/sparc64/ieee1275/console.h: Likewise.
38279 * include/grub/efi/console.h: Likewise.
38280
a91b6c7c 382812008-09-22 Bean <bean123ch@gmail.com>
38282
38283 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38284 resident and in attribute list.
38285
38286 * include/grub/ntfs.h (BMP_LEN): Removed.
38287
c40fd116 382882008-09-22 Bean <bean123ch@gmail.com>
38289
81a06771 38290 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38291 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38292
38293 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38294 error occurs, as grub_disk_open will call grub_disk_close, which will
38295 call p->close (scsi).
38296
81a06771 382972008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38298
38299 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38300 (AC_PREREQ): Bumped to 2.59.
38301 (AC_TRY_COMPILE): Replace obsolete macro with ...
38302 (AC_COMPILE_IFELSE): ... this.
38303 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38304 (AC_LINK_IFELSE): ... this.
38305
5dc43410 383062008-09-21 Felix Zielcke <fzielcke@z-51.de>
38307
38308 * autogen.sh: Add a call to `gendistlist.sh'.
38309
9035dce4 383102008-09-19 Christian Franke <franke@computer.org>
38311
38312 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38313 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38314 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38315 Export __enable_execute_stack() to modules.
38316 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38317 New function.
38318
7fd75377 383192008-09-09 Felix Zielcke <fzielcke@z-51.de>
38320
040030b3 38321 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38322 Sort the list.
38323
383242008-09-09 Felix Zielcke <fzielcke@z-51.de>
38325
38326 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38327 #include <grub/util/hostdisk.h>.
38328
89d5ffcf 383292008-09-08 Robert Millan <rmh@aybabtu.com>
38330
38331 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38332 segments when their filesz is zero (grub_file_read() interprets
81a06771 38333 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38334 Use `lowest_segment' rather than 0 for calculating the current
38335 segment load address.
38336
40da438f 383372008-09-08 Robert Millan <rmh@aybabtu.com>
38338
38339 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38340 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38341 clobbered useful information.
38342
ddbf5556 383432008-09-08 Robert Millan <rmh@aybabtu.com>
38344
38345 * include/grub/util/biosdisk.h: Move to ...
38346 * include/grub/util/hostdisk.h: ... here. Update all users.
38347 * util/biosdisk.c: Move to ...
38348 * util/hostdisk.c: ... here. Update all users.
38349
783d0f48 383502008-09-07 Robert Millan <rmh@aybabtu.com>
38351
38352 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38353 variables.
38354 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38355 and length can be stored directly in the `mbi->mmap_addr' and
38356 `mbi->mmap_length' struct fields.
38357
548e2ea5 383582008-09-07 Robert Millan <rmh@aybabtu.com>
38359
38360 * conf/i386.rmk: New file. Provides declaration for building
38361 `cpuid.mod'.
38362 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38363 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38364 variables.
38365 Include `conf/i386.mk'.
38366 * conf/i386-efi.rmk: Likewise.
38367 * conf/x86_64-efi.rmk: Likewise.
38368 * conf/i386-coreboot.rmk: Likewise.
38369 * conf/i386-ieee1275.rmk: Likewise.
38370
0ea85a37 383712008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38372
38373 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38374 Adds optimization support for BGR based modes.
38375
38376 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38377 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38378 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38379 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38380 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38381 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38382 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38383 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38384 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38385 (grub_video_i386_vbeblit_index_index): Likewise.
38386 (grub_video_i386_vbeblit_replace_directN): Added.
38387 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38388 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38389 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38390 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38391 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38392 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38393 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38394 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38395 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38396 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38397 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38398 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38399 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38400
38401 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38402 (grub_video_i386_vbefill_R8G8B8): Likewise.
38403 (grub_video_i386_vbefill_index): Likewise.
38404 (grub_video_i386_vbefill_direct32): Added.
38405 (grub_video_i386_vbefill_direct24): Likewise.
38406 (grub_video_i386_vbefill_direct16): Likewise.
38407 (grub_video_i386_vbefill_direct8): Likewise.
38408
81a06771 38409 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38410 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38411 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38412 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38413 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38414 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38415
0ea85a37 38416 * video/video.c (grub_video_get_blit_format): Updated to use new
38417 blit formats. Added handling for 16 bit color modes.
81a06771 38418
38419 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38420 fillers.
38421 (common_blitter): Updated to use new blitters.
38422
38423 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38424 Removed.
38425 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38426 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38427 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38428 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38429 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38430 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38431 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38432 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38433 (grub_video_i386_vbeblit_index_index): Likewise.
38434 (grub_video_i386_vbeblit_replace_directN): Added.
38435 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38436 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38437 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38438 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38439 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38440 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38441 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38442 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38443 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38444 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38445 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38446 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38447 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38448
0ea85a37 38449 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38450 (grub_video_i386_vbefill_R8G8B8): Likewise.
38451 (grub_video_i386_vbefill_index): Likewise.
38452 (grub_video_i386_vbefill_direct32): Added.
38453 (grub_video_i386_vbefill_direct24): Likewise.
38454 (grub_video_i386_vbefill_direct16): Likewise.
38455 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38456
0ea85a37 38457 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38458 types.
81a06771 38459
0ea85a37 38460 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38461 types.
81a06771 38462
0ea85a37 38463 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38464 blitter types.
81a06771 38465
0ea85a37 38466 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38467 types.
38468
e8a83df6 384692008-09-06 Felix Zielcke <fzielcke@z-51.de>
38470
38471 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38472 RAID level 1.
38473
6bcd8ee5 384742008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38475
6bcd8ee5 38476 * fs/iso9660.c (grub_iso9660_date): New structure.
38477 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38478 (grub_iso9660_uuid): New function.
c375ae58 38479
59261157 384802008-09-05 Bean <bean123ch@gmail.com>
38481
38482 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38483
38484 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38485 insensitive bit for names in Win32 and Win32 & DOS namespace.
38486
38487 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38488
38489 * include/grub/types.h (LONG_MAX): Likewise.
38490
58b6645a 384912008-09-04 Felix Zielcke <fzielcke@z-51.de>
38492
4ee55921 38493 * util/getroot.c: Include <config.h>.
38494 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38495 add support for /dev/md/N devices and handle LVM double dash escaping.
38496
384972008-09-04 Felix Zielcke <fzielcke@z-51.de>
38498
38499 * config.guess: Update to latest version from config git.
38500 * config.sub: Likewise.
58b6645a 38501
9124f65d 385022008-09-03 Robert Millan <rmh@aybabtu.com>
38503
38504 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38505 `disk->total_sectors'.
38506
81a06771 385072008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38508
38509 * include/grub/normal.h: Fixed incorrect comment for
38510 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38511
81a06771 385122008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38513
38514 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38515 values with defines.
38516
38517 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38518 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38519 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38520 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38521 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38522 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38523 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38524 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38525 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38526 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38527 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38528 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38529 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38530 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38531 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38532 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38533 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38534 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38535 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38536
93d5cbf8 385372008-08-31 Robert Millan <rmh@aybabtu.com>
38538
38539 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38540 declaration.
38541 (grub_multiboot): Fix a few warnings.
38542
21751d50 385432008-08-31 Robert Millan <rmh@aybabtu.com>
38544
38545 * loader/i386/pc/multiboot.c: Update comment not to say that
38546 boot_device support is unimplemented.
38547
e27a75c5 385482008-08-31 Robert Millan <rmh@aybabtu.com>
38549
38550 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38551 or memory map support are unimplemented.
38552
81a06771 385532008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38554
38555 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38556
81a06771 385572008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38558
38559 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38560 total video memory in 'vbeinfo' output; show color format details for
38561 each video mode.
38562
7c5d8d95 385632008-08-30 Pavel Roskin <proski@gnu.org>
38564
38565 * util/genmoddep.c: Remove for real this time.
38566 * DISTLIST: Remove util/genmoddep.c.
38567
4cebd25a 385682008-08-30 Robert Millan <rmh@aybabtu.com>
38569
38570 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38571 as required by Multiboot spec (it was already 4-byte aligned, but
38572 only by chance).
38573
b497a269 385742008-08-29 Pavel Roskin <proski@gnu.org>
38575
e3925185 38576 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38577 * kern/powerpc/ieee1275/startup.S: ... this.
38578 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38579 * DISTLIST: Likewise.
38580
b497a269 38581 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38582 grub/cpu/kernel.h. Add start label for consistency with other
38583 platforms. Add grub_prefix immediately after start. Add jump
38584 to the code after grub_prefix.
38585 * include/grub/powerpc/kernel.h: Provide valid values for
38586 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38587
6e5a42fe 385882008-08-29 Bean <bean123ch@gmail.com>
38589
38590 * configure.ac: Change host_os to cygwin for mingw.
38591 (asprintf): New check for function.
38592
38593 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38594 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38595
38596 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38597 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38598 sync, sleep and grub_util_get_disk_size for mingw.
38599
38600 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38601 to get size in mingw.
38602 (open_device): Use flag O_BINARY if it's defined.
38603 (find_root_device): Add dummy code for mingw.
38604
38605 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38606 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38607 (get_scsi_disk_name): Return 0 for mingw.
38608
38609 * util/hostfs.c: #include <grub/util/misc.h>.
38610 (grub_hostfs_open): Use "rb" flag to open file, use
38611 grub_util_get_disk_size to get disk size for mingw.
38612
38613 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38614 (asprintf): New function if HAVE_ASPRINTF is not set.
38615 (sync): New function for mingw.
38616 (sleep): Likewise.
38617 (grub_util_get_disk_size): Likewise.
38618
ab3f2673 386192008-08-28 Pavel Roskin <proski@gnu.org>
38620
38621 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38622 kern/time.c.
38623
1c282483 386242008-08-28 Robert Millan <rmh@aybabtu.com>
38625
38626 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38627
678e849c 386282008-08-28 Robert Millan <rmh@aybabtu.com>
38629
38630 Change find_grub_drive() syntax so it doesn't prevent it from
38631 detecting NULL names as errors.
38632
38633 * util/biosdisk.c (find_grub_drive): Move free slot search code
38634 from here ...
38635 (find_free_slot): ... to here.
38636 (read_device_map): Use find_free_slot() to search for free slots.
38637
965c75ca 386382008-08-27 Marco Gerards <marco@gnu.org>
38639
38640 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38641 (scsi_mod_SOURCES): New variable.
38642 (scsi_mod_CFLAGS): Likewise
38643 (scsi_mod_LDFLAGS): Likewise.
38644
38645 * disk/scsi.c: New file.
38646
38647 * include/grub/scsi.h: Likewise.
38648
38649 * include/grub/scsicmd.h: Likewise.
38650
38651 * disk/ata.c: Include <grub/scsi.h>.
38652 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38653 instead.
38654 (grub_ata_iterate): Skip ATAPI devices.
38655 (grub_ata_open): Only handle ATAPI devices.
38656 (struct grub_atapi_read): Removed.
38657 (grub_atapi_readsector): Likewise.
38658 (grub_ata_read): No longer handle ATAPI devices.
38659 (grub_ata_write): Likewise.
38660 (grub_atapi_iterate): New function.
38661 (grub_atapi_read): Likewise.
38662 (grub_atapi_write): Likewise.
38663 (grub_atapi_open): Likewise.
38664 (grub_atapi_close): Likewise.
38665 (grub_atapi_dev): New variable.
38666 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38667 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38668
38669 * include/grub/disk.h (enum grub_disk_dev_id): Add
38670 `GRUB_DISK_DEVICE_SCSI_ID'.
38671
c07ae501 386722008-08-26 Robert Millan <rmh@aybabtu.com>
38673
38674 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38675 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38676 descriptive.
38677
5ed20adc 386782008-08-23 Bean <bean123ch@gmail.com>
38679
38680 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38681 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38682 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38683 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38684 dm_nv.mod.
38685 (raid5rec_mod_SOURCES): New macro.
38686 (raid5rec_mod_CFLAGS): Likewise.
38687 (raid5rec_mod_LDFLAGS): Likewise.
38688 (raid6rec_mod_SOURCES): Likewise.
38689 (raid6rec_mod_CFLAGS): Likewise.
38690 (raid6rec_mod_LDFLAGS): Likewise.
38691 (mdraid_mod_SOURCES): Likewise.
38692 (mdraid_mod_CFLAGS): Likewise.
38693 (mdraid_mod_LDFLAGS): Likewise.
38694 (dm_nv_mod_SOURCES): Likewise.
38695 (dm_nv_mod_CFLAGS): Likewise.
38696 (dm_nv_mod_LDFLAGS): Likewise.
38697
38698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38699 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38700 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38701
38702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38703 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38704
38705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38706
38707 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38708
38709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38710
38711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38712
38713 * disk/raid5_recover.c: New file.
38714
38715 * disk/raid6_recover.c: Likewise.
38716
38717 * disk/mdraid_linux.c: Likewise.
38718
38719 * disk/dmraid_nvidia.c: Likewise.
38720
38721 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38722 ULONG_MAX.
38723
38724 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38725 calculate the size of raid device.
38726 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38727 different layout of raid5.
38728 (grub_raid_scan_device): Remove code specific to mdraid.
38729 (grub_raid_list): New variable.
38730 (free_array): New function.
38731 (grub_raid_register): Likewise.
38732 (grub_raid_unregister): Likewise.
38733 (grub_raid_rescan): Likewise.
38734 (GRUB_MOD_INIT): Don't iterate device here.
38735 (GRUB_MOD_FINI): Use free_array to release resource.
38736
38737 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38738 (grub_raid5_recover_func_t): New function variable type.
38739 (grub_raid6_recover_func_t): Likewise.
38740 (grub_raid5_recover_func): New variable.
38741 (grub_raid6_recover_func): Likewise.
38742 (grub_raid_register): New function.
38743 (grub_raid_unregister): Likewise.
38744 (grub_raid_rescan): Likewise.
38745 (grub_raid_block_xor): Likewise.
38746
38747 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38748 (CMD_CRC): New macro.
38749 (part): Removed.
38750 (read_file): Handle device as well as file.
38751 (cmd_crc): New function.
38752 (fstest): Handle multiple disks.
38753 (options): Remove part, raw and long, add root and diskcount.
38754 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38755 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38756 add handling for the new options, support multiple disks.
38757
38758 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38759
29c18915 387602008-08-23 Bean <bean123ch@gmail.com>
38761
38762 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38763
38764 * genfslist.sh: Ignore kernel.mod.
38765
38766 * genpartmaplist.sh: Likewise.
38767
8415f261 387682008-08-23 Robert Millan <rmh@aybabtu.com>
38769
38770 * util/getroot.c (find_root_device): Skip anything that starts with
38771 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38772
d5a7dc5b 387732008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38774
d5a7dc5b 38775 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38776 * util/grub.d/00_header.in: Allow the administrator to change default
38777 gfxmode via ${GRUB_GFXMODE}.
38778
380cfbb4 387792008-08-21 Felix Zielcke <fzielcke@z-51.de>
38780
38781 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38782
c9baafe7 387832008-08-21 Robert Millan <rmh@aybabtu.com>
38784
38785 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38786 loader.
38787 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38788 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38789
e290bef2 387902008-08-20 Carles Pina i Estany <carles@pina.cat>
38791
38792 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38793 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38794
f9dbfc96 387952008-08-19 Robert Millan <rmh@aybabtu.com>
38796
38797 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38798 (struct grub_virtual_screen): Remove `cursor_color'.
38799 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38800 initialization.
38801 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38802
dd6bd6ab 388032008-08-18 Robert Millan <rmh@aybabtu.com>
38804
38805 Unify (identical) linux_normal.c files.
38806 * loader/i386/efi/linux_normal.c: Move from here ...
38807 * loader/linux_normal.c: ... to here. Update all users.
38808 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38809 * loader/i386/ieee1275/linux_normal.c: Likewise.
38810
7f42f83e 388112008-08-18 Robert Millan <rmh@aybabtu.com>
38812
38813 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38814 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38815 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38816 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38817 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38818 New macros.
38819 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38820 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38821 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38822 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38823 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38824 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38825 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38826 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38827 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38828 portably using grub_getxy().
38829 Replace `-EFI' with `-bzImage' in boot message.
38830
38487ddb 388312008-08-17 Robert Millan <rmh@aybabtu.com>
38832
38833 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38834
deceb3ec 388352008-08-17 Robert Millan <rmh@aybabtu.com>
38836
38837 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38838
38839 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38840 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38841 (grub_machine_mmap_iterate): New function declaration.
38842 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38843 structure.
38844 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38845 macros.
38846
38847 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38848 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38849 Move e820 parsing from here ...
38850 * kern/i386/pc/mmap.c: New file.
38851 (grub_machine_mmap_iterate): ... to here.
38852
38853 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38854 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38855 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38856 (grub_available_iterate): Redeclare to return `void', and redeclare
38857 its hook to use grub_uint64_t as addr and size parameters, and rename
38858 to ...
38859 (grub_machine_mmap_iterate): ... this. Update all users.
38860
38861 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38862 to make it more readable. Rename to ...
38863 (grub_machine_mmap_iterate): ... this.
38864
38865 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38866 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38867 (grub_multiboot): Allocate an extra region after the payload, and fill
38868 it with a Multiboot memory map. Adjust a.out loader to calculate size
38869 with the extra space.
38870 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38871 with the extra space.
38872
f8aa0f43 388732008-08-17 Carles Pina i Estany <carles@pina.cat>
38874
9807deb9 38875 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38876
605f5bb6 388772008-08-17 Felix Zielcke <fzielcke@z-51.de>
38878
38879 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38880 mdate-sh to the list `find' searches for.
38881 * DISTLIST: Regenerated.
38882
210db6c6 388832008-08-16 Felix Zielcke <fzielcke@z-51.de>
38884
38885 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38886 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38887 genmoddep.awk, gensymlist.sh.in.
38888 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38889 * DISTLIST: Regenerated.
48cdbfd4 38890 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38891
1082b929 388922008-08-16 Robert Millan <rmh@aybabtu.com>
38893
38894 * disk/raid.c (grub_raid_init): Handle/report errors set by
38895 grub_device_iterate().
38896 * disk/lvm.c (grub_lvm_init): Likewise.
38897
42ce5170 388982008-08-15 Bean <bean123ch@gmail.com>
38899
38900 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38901 and datehook.mod.
38902 (datetime_mod_SOURCES): New macro.
38903 (datetime_mod_CFLAGS): Likewise.
38904 (datetime_mod_LDFLAGS): Likewise.
38905 (date_mod_SOURCES): Likewise.
38906 (date_mod_CFLAGS): Likewise.
38907 (date_mod_LDFLAGS): Likewise.
38908 (datehook_mod_SOURCES): Likewise.
38909 (datehook_mod_CFLAGS): Likewise.
38910 (datehook_mod_LDFLAGS): Likewise.
38911
38912 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38913 and datehook.mod.
38914 (datetime_mod_SOURCES): New macro.
38915 (datetime_mod_CFLAGS): Likewise.
38916 (datetime_mod_LDFLAGS): Likewise.
38917 (date_mod_SOURCES): Likewise.
38918 (date_mod_CFLAGS): Likewise.
38919 (date_mod_LDFLAGS): Likewise.
38920 (datehook_mod_SOURCES): Likewise.
38921 (datehook_mod_CFLAGS): Likewise.
38922 (datehook_mod_LDFLAGS): Likewise.
38923
38924 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38925 and datehook.mod.
38926 (datetime_mod_SOURCES): New macro.
38927 (datetime_mod_CFLAGS): Likewise.
38928 (datetime_mod_LDFLAGS): Likewise.
38929 (date_mod_SOURCES): Likewise.
38930 (date_mod_CFLAGS): Likewise.
38931 (date_mod_LDFLAGS): Likewise.
38932 (datehook_mod_SOURCES): Likewise.
38933 (datehook_mod_CFLAGS): Likewise.
38934 (datehook_mod_LDFLAGS): Likewise.
38935
38936 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38937 and datehook.mod.
38938 (datetime_mod_SOURCES): New macro.
38939 (datetime_mod_CFLAGS): Likewise.
38940 (datetime_mod_LDFLAGS): Likewise.
38941 (date_mod_SOURCES): Likewise.
38942 (date_mod_CFLAGS): Likewise.
38943 (date_mod_LDFLAGS): Likewise.
38944 (datehook_mod_SOURCES): Likewise.
38945 (datehook_mod_CFLAGS): Likewise.
38946 (datehook_mod_LDFLAGS): Likewise.
38947
38948 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38949 and datehook.mod.
38950 (datetime_mod_SOURCES): New macro.
38951 (datetime_mod_CFLAGS): Likewise.
38952 (datetime_mod_LDFLAGS): Likewise.
38953 (date_mod_SOURCES): Likewise.
38954 (date_mod_CFLAGS): Likewise.
38955 (date_mod_LDFLAGS): Likewise.
38956 (datehook_mod_SOURCES): Likewise.
38957 (datehook_mod_CFLAGS): Likewise.
38958 (datehook_mod_LDFLAGS): Likewise.
38959
38960 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38961
38962 * commands/date.c: New file.
38963
38964 * hook/datehook.c: Likewise.
38965
38966 * include/grub/lib/datetime.h: Likewise.
38967
38968 * include/grub/i386/cmos.h: Likewise.
38969
38970 * lib/datetime.c: Likewise.
38971
38972 * lib/i386/datetime.c: Likewise.
38973
38974 * lib/efi/datetime.c: Likewise.
38975
0e9242da 389762008-08-14 Robert Millan <rmh@aybabtu.com>
38977
38978 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38979 (grub_mkelfimage_SOURCES): New variable.
38980 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38981
38982 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38983 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38984 * conf/powerpc-ieee1275.rmk: Likewise.
38985 * conf/i386-ieee1275.rmk: Likewise.
38986
38987 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38988 * kern/i386/coreboot/init.c: Likewise.
38989
38990 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38991 with `<grub/cpu/kernel.h>'.
38992 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38993 to ...
38994 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38995 * kern/i386/coreboot/startup.S: Likewise.
38996
38997 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38998 (GRUB_MOD_GAP): Remove.
38999 * include/grub/powerpc/kernel.h: New file.
39000 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39001 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39002 * include/grub/i386/kernel.h: New file.
39003 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39004 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39005 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39006
39007 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39008 `grub-mkelfimage'.
39009 Use --directory when invoking grub_mkimage.
39010
39011 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39012 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39013 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39014 and GRUB_KERNEL_CPU_PREFIX.
39015
b86408f8 390162008-08-14 Felix Zielcke <fzielcke@z-51.de>
39017
d5e619ca 39018 * include/grub/err.h (grub_err_printf): New function prototype.
39019 * util/misc.c (grub_err_printf): New function.
39020 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39021 grub_printf.
39022 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39023
7161f0e0 390242008-08-13 Robert Millan <rmh@aybabtu.com>
39025
39026 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39027
a1967522 390282008-08-13 Robert Millan <rmh@aybabtu.com>
39029
39030 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39031 boot entry.
39032
371458b5 390332008-08-12 Robert Millan <rmh@aybabtu.com>
39034
39035 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39036 of the relocation code from here ...
39037 (grub_multiboot): ... to here.
39038 (forward_relocator, backward_relocator): Move from here ...
39039 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39040 (grub_multiboot_backward_relocator): ... to here.
39041 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39042 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39043 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39044 (grub_multiboot_forward_relocator_end)
39045 (grub_multiboot_backward_relocator)
39046 (grub_multiboot_backward_relocator_end): New variables.
39047
05f9452b 390482008-08-12 Bean <bean123ch@gmail.com>
39049
39050 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39051
20024ab0 390522008-08-11 Robert Millan <rmh@aybabtu.com>
39053
39054 * kern/i386/linuxbios/startup.S: Move from here ...
39055 * kern/i386/coreboot/startup.S: ... to here.
39056
39057 * kern/i386/linuxbios/init.c: Move from here ...
39058 * kern/i386/coreboot/init.c: ... to here.
39059
39060 * kern/i386/linuxbios/table.c: Move from here ...
39061 * kern/i386/coreboot/mmap.c: ... to here.
39062
39063 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39064
e352e9cd 390652008-08-11 Robert Millan <rmh@aybabtu.com>
39066
39067 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39068 errors. Leave it to the upper layer to handle them.
39069
2d05bc6a 390702008-08-09 Christian Franke <franke@computer.org>
39071
39072 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39073 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39074 Install `grub.d/10_windows' only on Cygwin.
39075 * configure.ac: Add subst of `target_os'.
39076 Check `target_os' also before setting TARGET_OBJ2ELF.
39077 Add `--enable-grub-pe2elf'.
39078
042bd419 390792008-08-08 Robert Millan <rmh@aybabtu.com>
39080
39081 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39082 (grub_last_time): Change type to grub_uint64_t.
39083 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39084 (grub_disk_close): Likewise.
39085
39086 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39087 (run_menu): Migrate code from to using grub_get_time_ms().
39088
39089 * util/misc.c (grub_get_time_ms): New function.
39090
7f280db5 390912008-08-08 Marco Gerards <marco@gnu.org>
39092
39093 * disk/ata.c (grub_ata_regget): Change return type to
39094 `grub_uint8_t'.
39095 (grub_ata_regget2): Likewise.
39096 (grub_ata_wait_status): New function.
39097 (grub_ata_wait_busy): Removed function, updated all users to use
39098 `grub_ata_wait_status'.
39099 (grub_ata_wait_drq): Likewise.
39100 (grub_ata_cmd): New function.
39101 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39102 error handling.
39103 (grub_ata_pio_write): Add error handling.
39104 (grub_atapi_identify): Likewise.
39105 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39106 handling.
39107 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39108 handling. Actually use the detected registers. Reorder the
39109 detection logic such that it is easier to read.
39110 (grub_ata_pciinit): Do not assign the same ID to each controller.
39111 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39112 handling.
39113 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39114
39115 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39116
1fbc5e66 391172008-08-08 Marco Gerards <marco@gnu.org>
39118
39119 * NEWS: Update.
39120
819ce6c0 391212008-08-07 Bean <bean123ch@gmail.com>
39122
39123 * include/grub/x86_64/pci.h: New file.
39124
5c41d44d 391252008-08-07 Christian Franke <franke@computer.org>
39126
39127 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39128 (TIMER2_GATE): Likewise.
39129 (grub_pit_wait): Add enable/disable of the timer2 gate
39130 bit of port 0x61. This fixes a possible infinite loop.
39131
5ebc275d 391322008-08-07 Bean <bean123ch@gmail.com>
39133
39134 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39135 kern/i386/tsc.c and kern/i386/pit.c.
39136
39137 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39138 x86_64 platform.
39139
39140 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39141 <grub/i386/tsc.h>.
39142
39143 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39144
e383b3d0 391452008-08-07 Bean <bean123ch@gmail.com>
39146
39147 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39148
39149 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39150
39151 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39152 multiple inclusion. Add #include <grub/types.h>.
39153
1cbb58ac 391542008-08-06 Christian Franke <franke@computer.org>
39155
39156 * conf/common.rmk: Build and install `10_windows'.
39157 * util/grub.d/10_windows.in: New script.
39158
337f5a1e 391592008-08-06 Pavel Roskin <proski@gnu.org>
39160
39161 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39162
057bc4ac 391632008-08-06 Robert Millan <rmh@aybabtu.com>
39164
39165 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39166 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39167
2b99f123 391682008-08-06 Bean <bean123ch@gmail.com>
39169
39170 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39171 (grub_pxefs_fs_int): Remove dummy definition.
39172 (grub_pxefs_open): Use data->block_size to store the current block
39173 size setting.
39174 (grub_pxefs_read): Use block size stored in data->block_size. As the
39175 value of grub_pxe_blksize can be changed after the file is opened.
39176
9f0234cb 391772008-08-06 Bean <bean123ch@gmail.com>
39178
39179 * fs/i386/pc/pxe.c (curr_file): new variable.
39180 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39181 require the dummy internal file system anymore.
39182 (grub_pxefs_read): Removed.
39183 (grub_pxefs_close): Likewise.
39184 (grub_pxefs_fs_int): Likewise.
39185 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39186 connection when we switch file.
39187 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39188
a55d42e0 391892008-08-06 Robert Millan <rmh@aybabtu.com>
39190
39191 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39192 `halt.mod'.
39193 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39194 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39195
39196 * kern/i386/halt.c: New file.
39197 * kern/i386/reboot.c: Likewise.
39198 * include/grub/i386/reboot.h: Likewise.
39199 * include/grub/i386/halt.h: Likewise.
39200
39201 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39202 Include `<grub/cpu/halt.h>'.
39203 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39204 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39205
39206 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39207 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39208 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39209 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39210 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39211 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39212 from here ...
39213 * include/grub/i386/at_keyboard.h: ... to here.
39214
24371d26 392152008-08-05 Robert Millan <rmh@aybabtu.com>
39216
39217 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39218 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39219 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39220 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39221 `kern/generic/millisleep.c'.
39222
39223 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39224 instead of grub_get_rtc().
39225 (grub_tsc_init): Initialize `tsc_boot_time'.
39226
39227 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39228 (grub_machine_init): Use grub_tsc_init() rather than
39229 installing an RTC-based handler via grub_install_get_time_ms().
39230
39231 * kern/i386/pit.c: New file.
39232 * include/grub/i386/pit.h: Likewise.
39233
9e7007b3 392342008-08-05 Bean <bean123ch@gmail.com>
39235
39236 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39237
39238 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39239 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39240 (pxe_mod_SOURCES): New macro.
39241 (pxe_mod_CFLAGS): Likewise.
39242 (pxe_mod_LDFLAGS): Likewise.
39243 (pxecmd_mod_SOURCES): Likewise.
39244 (pxecmd_mod_CFLAGS): Likewise.
39245 (pxecmd_mod_LDFLAGS): Likewise.
39246
39247 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39248 (grub_pxe_call): Likewise.
39249
39250 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39251
39252 * commands/i386/pc/pxecmd.c: New file.
39253
9f0234cb 39254 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39255
39256 * include/grub/i386/pc/pxe.h: Likewise.
39257
6977d49f 392582008-08-05 Bean <bean123ch@gmail.com>
39259
39260 * util/console.c (grub_console_cur_color): New variable.
39261 (grub_console_standard_color): Likewise.
39262 (grub_console_normal_color): Likewise.
39263 (grub_console_highlight_color): Likewise.
39264 (color_map): Likewise.
39265 (use_color): Likewise.
39266 (NUM_COLORS): New macro.
39267 (grub_ncurses_setcolorstate): Handle color properly.
39268 (grub_ncurses_setcolor): Don't change color here, just remember the
39269 settings, color will be set in grub_ncurses_setcolorstate.
39270 (grub_ncurses_getcolor): New function.
39271 (grub_ncurses_init): Initialize color pairs.
39272 (grub_ncurses_term): New member grub_ncurses_getcolor.
39273
9c2ff3ee 392742008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39275
9c2ff3ee 39276 High resolution timer support. Implemented for x86 CPUs using TSC.
39277 Extracted generic grub_millisleep() so it's linked in only as needed.
39278 This requires a Pentium compatible CPU; if the RDTSC instruction is
39279 not supported, then it falls back on the generic grub_get_time_ms()
39280 implementation that uses the machine's RTC.
39281
39282 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39283 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39284 `kern/generic/millisleep.c'.
39285
39286 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39287 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39288
39289 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39290 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39291
39292 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39293
39294 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39295 `kern/generic/millisleep.c'.
39296
39297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39298
39299 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39300
39301 * kern/generic/rtc_get_time_ms.c: New file.
39302
39303 * kern/generic/millisleep.c: New file.
337f5a1e 39304
9c2ff3ee 39305 * kern/misc.c: Don't include
39306 <kern/time.h> anymore.
39307 (grub_millisleep_generic): Removed.
39308
39309 * commands/sleep.c (grub_interruptible_millisleep): Uses
39310 grub_get_time_ms() instead of grub_get_rtc().
39311
39312 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39313 function.
39314 (grub_cpu_is_cpuid_supported): New inline function.
39315 (grub_cpu_is_tsc_supported): New inline function.
39316 (grub_tsc_init): New function prototype.
39317 (grub_tsc_get_time_ms): New function prototype.
39318
39319 * kern/i386/tsc.c (grub_get_time_ms): New file.
39320
39321 * include/grub/time.h: Include <grub/types.h.
39322 (grub_millisleep_generic): Removed.
39323 (grub_get_time_ms): New prototype.
39324 (grub_install_get_time_ms): New prototype.
39325 (grub_rtc_get_time_ms): New prototype.
39326
39327 * kern/time.c (grub_get_time_ms): New function.
39328 (grub_install_get_time_ms): New function.
39329
39330 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39331 <grub/time.h> anymore.
39332 (grub_millisleep): Removed.
39333 (grub_machine_init): Call grub_tsc_init.
39334
39335 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39336 get_time_ms() implementation.
39337
39338 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39339 (ieee1275_get_time_ms): New function.
39340 (grub_machine_init): Install get_time_ms() implementation.
39341
39342 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39343 (grub_machine_init): Call grub_tsc_init().
39344 (grub_millisleep): Removed.
bf06a93f 39345
9c2ff3ee 39346 * kern/ieee1275/init.c (grub_millisleep): Removed.
39347 (grub_machine_init): Install ieee1275_get_time_ms()
39348 implementation.
39349 (ieee1275_get_time_ms): New function.
39350 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39351 real work.
39352
9ec92aaf 393532008-08-05 Marco Gerards <marco@gnu.org>
39354
39355 * disk/ata.c: Include <grub/pci.h>.
39356 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39357 (grub_ata_initialize): Rewritten.
39358 (grub_ata_device_initialize): New function.
39359
8d23f507 393602008-08-04 Pavel Roskin <proski@gnu.org>
39361
39362 * kern/main.c: Include grub/mm.h.
39363
5e15ee3d 393642008-08-04 Robert Millan <rmh@aybabtu.com>
39365
39366 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39367 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39368 corruption problem).
39369
a9053f8f 393702008-08-04 Robert Millan <rmh@aybabtu.com>
39371
39372 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39373 warnings introduced in my last commit.
39374
dd19c7d7 393752008-08-03 Robert Millan <rmh@aybabtu.com>
39376
39377 Make PCI available on all i386 architectures.
39378
39379 * include/grub/i386/pc/pci.h: Move from here ...
39380 * include/grub/i386/pci.h: ... to here.
39381
39382 * include/grub/i386/pc/pci.h: Remove.
39383 * include/grub/i386/efi/pci.h: Remove.
39384 * include/grub/x86_64/efi/pci.h: Remove.
39385
39386 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39387 `<grub/cpu/pci.h>'.
39388
39389 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39390 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39391 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39392
39393 * conf/i386-ieee1275.rmk: Likewise.
39394
e14a6184 393952008-08-03 Robert Millan <rmh@aybabtu.com>
39396
39397 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39398 (grub_console_setcursor): Make it possible to set cursor off.
39399
52768e37 394002008-08-03 Robert Millan <rmh@aybabtu.com>
39401
39402 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39403 of modules instead of assuming which platform provides what.
39404 * util/update-grub.in: Likewise.
39405
2d52f57f 394062008-08-03 Robert Millan <rmh@aybabtu.com>
39407
39408 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39409 instead of `grub_install_dos_part' to determine whether a drive needs
39410 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39411 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39412
2a5cd121 394132008-08-02 Robert Millan <rmh@aybabtu.com>
39414
39415 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39416
93808428 394172008-08-02 Robert Millan <rmh@aybabtu.com>
39418
39419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39420 of informational grub_dprintf() calls.
39421
3bd0a12a 394222008-08-02 Robert Millan <rmh@aybabtu.com>
39423
39424 * disk/memdisk.c (memdisk_size): Don't initialize.
39425 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39426
39427 * include/grub/i386/pc/kernel.h
39428 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39429 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39430 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39431 (grub_arch_memdisk_size): Remove.
39432
39433 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39434 field (was only used to transfer a constant). Add `type' field to
39435 support multiple module types.
39436 (grub_module_iterate): New function.
39437
39438 * kern/device.c (grub_device_open): Do not hide error messages
39439 when grub_disk_open() fails. Use grub_print_error() instead.
39440
39441 * kern/i386/pc/init.c (grub_arch_modules_addr)
39442 (grub_arch_memdisk_size): Remove functions.
39443 (grub_arch_modules_addr): Return the module address in high memory
39444 (now that it isn't copied anymore).
39445
39446 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39447 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39448 decompression routine (grub_total_module_size already includes that
39449 now). Don't copy modules back to low memory.
39450
39451 * kern/main.c: Include `<grub/mm.h>'.
39452 (grub_load_modules): Split out (and use) ...
39453 (grub_module_iterate): ... this function, which iterates through
39454 module objects and runs a hook.
39455 Comment out grub_mm_init_region() call, as it would cause non-ELF
39456 modules to be overwritten.
39457
39458 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39459 the memdisk image in its own region, make it part of the module list.
39460 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39461 (main): Parse --memdisk|-m option, and pass user-provided path as
39462 parameter to generate_image().
39463 (add_segments): Pass `memdisk_path' down to load_modules().
39464 (load_modules): Embed memdisk image in module section when requested.
39465 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39466 `header.type' instead of `header.offset'.
39467
39468 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39469 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39470 (memdisk_mod_LDFLAGS): New variables.
39471 * conf/i386-coreboot.rmk: Likewise.
39472 * conf/i386-ieee1275.rmk: Likewise.
39473
a927cc73 394742008-08-02 Robert Millan <rmh@aybabtu.com>
39475
39476 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39477 (backward_relocator): New variables. Used to allocate and relocate
39478 the payload, respectively.
39479 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39480 address, install the appropriate relocator code in each bound of
a927cc73 39481 the payload, and set the entry point such that
39482 grub_multiboot_real_boot() will jump to one of them.
39483
39484 * kern/i386/loader.S (grub_multiboot_payload_size)
39485 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39486 (grub_multiboot_payload_entry_offset): New variables.
39487 (grub_multiboot_real_boot): Set cpu context to what the relocator
39488 expects, and jump to the relocator instead of the payload.
39489
39490 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39491 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39492 (grub_multiboot_payload_entry_offset): Export.
39493
b15d8a0c 394942008-08-01 Bean <bean123ch@gmail.com>
39495
39496 * normal/menu_entry.c (editor_getline): Don't return the original
39497 string as result, as it will be released by lexer once it has done
39498 using it.
39499
cdfb3d22 395002008-08-01 Robert Millan <rmh@aybabtu.com>
39501
39502 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39503 within menuentries, not before them.
39504 util/grub.d/10_hurd.in: Likewise.
39505
9175e93d 395062008-08-01 Bean <bean123ch@gmail.com>
39507
39508 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39509 (bufio_mod_SOURCES): New macro.
39510 (bufio_mod_CFLAGS): Likewise.
39511 (bufio_mod_LDFLAGS): Likewise.
39512
39513 * include/grub/bufio.h: New file.
39514
39515 * io/bufio.c: Likewise.
39516
39517 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39518 (grub_video_reader_png): Use grub_buffile_open to open file.
39519
39520 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39521 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39522
39523 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39524 (grub_video_reader_tga): Use grub_buffile_open to open file.
39525
39526 * font/manager.c: Include <grub/bufio.h>.
39527 (add_font): Use grub_buffile_open to open file.
39528
3d8383e7 395292008-07-31 Robert Millan <rmh@aybabtu.com>
39530
39531 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39532 ELF segments, use a macro for arbitrarily accessing any of them instead
39533 of preparing a pointer that allows access to one at a time.
39534 (grub_multiboot_load_elf64): Likewise.
39535
16e641b6 395362008-07-31 Bean <bean123ch@gmail.com>
39537
39538 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39539 GRUB_KERNEL_MACHINE_DATA_END.
39540
59198b72 395412008-07-30 Robert Millan <rmh@aybabtu.com>
39542
39543 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39544 Increase from 0x50 to 0x60.
39545 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39546 use UUIDs to identify the root drive for them. If that's not
39547 possible, abort.
39548 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39549 check, for cross-disk installs.
39550
ae88bca3 395512008-07-30 Robert Millan <rmh@aybabtu.com>
39552
39553 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39554 is non-empty, use it to set the `prefix' environment variable instead
39555 of the usual approach.
39556 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39557 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39558 environment variable instead of dummy make_install_device().
39559
39560 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39561 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39562 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39563
39564 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39565 New variable reference.
39566 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39567 New macro. Defines offset of `grub_prefix' within startup.S (relative
39568 to `start').
39569 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39570 section within startup.S (relative to `start').
39571 * include/grub/i386/coreboot/kernel.h: Likewise.
39572
39573 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39574 Overwrite grub_prefix with its contents, at the beginning of the
39575 first segment.
39576 (main): Understand -p|--prefix.
39577
14f41dd1 395782008-07-30 Robert Millan <rmh@aybabtu.com>
39579
39580 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39581
4ca049a3 395822008-07-30 Robert Millan <rmh@aybabtu.com>
39583
39584 * term/i386/pc/vga_text.c (grub_console_cls): Use
39585 grub_console_gotoxy() to go back to beginning of the screen.
39586 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39587
2921d337 395882008-07-29 Christian Franke <franke@computer.org>
39589
39590 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39591 Add conversion of emulated mount points on Cygwin.
39592
b609876d 395932008-07-29 Christian Franke <franke@computer.org>
39594
39595 * util/update-grub.in: Add a check for admin
39596 group on Cygwin.
39597 Remove old `grub.cfg.new' before creation.
39598 Add `-f' to `mv' to handle the different filesystem
39599 semantics of Windows.
39600
e93e4679 396012008-07-29 Bean <bean123ch@gmail.com>
39602
39603 * normal/main.c (get_line): Fix buffer overflow bug.
39604
41694fd0 396052008-07-28 Robert Millan <rmh@aybabtu.com>
39606
39607 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39608 (struct grub_apple_header): New struct. Describes the layout of
39609 the partmap header.
39610 (apple_partition_map_iterate): Check the header magic as well as the
39611 partition magic (which was already being checked).
39612
cfd0b4e6 396132008-07-28 Pavel Roskin <proski@gnu.org>
39614
39615 * genmk.rb: Add a warning to the beginning of the output that
39616 it's a generated file and should not be edited.
39617
93cce016 396182008-07-28 Robert Millan <rmh@aybabtu.com>
39619
39620 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39621 with the same number are found, just use issue a warning with
39622 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39623
cd1df915 396242008-07-27 Robert Millan <rmh@aybabtu.com>
39625
39626 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39627 information.
39628
b70a8427 396292008-07-27 Bean <bean123ch@gmail.com>
39630
39631 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39632 (grub_fat_find_dir): Ignore case when comparing filename.
39633
8f5e379f 396342008-07-27 Bean <bean123ch@gmail.com>
39635
39636 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39637 smallino, as it's more descriptive, and i8count can be confused with
39638 the other field count.
39639 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39640 inode type.
39641
a85cd5a0 396422008-07-27 Bean <bean123ch@gmail.com>
39643
39644 * commands/crc.c: New file.
39645
39646 * lib/crc.c: Likewise.
39647
39648 * include/grub/lib/crc.h: Likewise.
39649
39650 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39651
39652 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39653 (hexdump): Move this function to ...
39654
39655 * lib/hexdump.c: ... here.
39656
39657 * include/grub/hexdump.h: Renamed to ...
39658
39659 * include/grub/lib/hexdump.h: ... this.
39660
39661 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39662
39663 * util/grub-editenv.c: Likewise.
39664
39665 * include/envblk.h: Renamed to ...
39666
39667 * include/lib/envblk.h: ... this.
39668
39669 * util/envblk.c: Renamed to ...
39670
39671 * lib/envblk.c: ... this.
39672
39673 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39674 lib/hexdump.c.
39675 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39676 (pkglib_MODULES): Add crc.mod.
39677 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39678 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39679 (crc_mod_SOURCES): New macro.
39680 (crc_mod_CFLAGS): Likewise.
39681 (crc_mod_LDFLAGS): Likewise.
39682
39683 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39684
39685 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39686
39687 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39688
39689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39690
39691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39692
c298def0 396932008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39694
39695 * commands/help.c: Include <grub/term.h>.
39696 (TERM_WIDTH): Removed. Updated all users.
39697
cc349fb3 396982008-07-27 Pavel Roskin <proski@gnu.org>
39699
39700 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39701 spurious warnings about a comment within a comment.
39702
9051607e 397032008-07-25 Robert Millan <rmh@aybabtu.com>
39704
39705 * util/getroot.c (find_root_device): Skip devices that match
39706 /dev/dm-[0-9]. This lets the real device be found for any type of
39707 abstraction (LVM, EVMS, RAID..).
39708 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39709 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39710 device is found first, find_root_device() will now skip it.
39711
01453bfc 397122008-07-24 Pavel Roskin <proski@gnu.org>
39713
39714 * include/grub/types.h: Use __builtin_bswap32() and
39715 __builtin_bswap64() with gcc 4.3 and newer.
39716
6af9849f 397172008-07-24 Christian Franke <franke@computer.org>
39718
3a0fa256 39719 * util/i386/pc/grub-install.in: If `--debug' is specified,
39720 pass `--verbose' to grub-setup.
39721 Abort script if make_system_path_relative_to_its_root() fails.
39722
7810e747 397232008-07-24 Bean <bean123ch@gmail.com>
39724
39725 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39726 variable `target_platform' should be `platform'.
39727
42290e17 397282008-07-24 Bean <bean123ch@gmail.com>
39729
51cc5193 39730 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39731 (grub_png_init_fixed_block): New function.
39732 (grub_png_decode_image_data): Handle fixed huffman code compression.
39733
2a8a80e4 397342008-07-24 Bean <bean123ch@gmail.com>
39735
39736 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39737 (grub_pe2elf_SOURCES): New macro.
39738 (CLEANFILES): Add grub-pe2elf.
39739
39740 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39741 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39742 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39743 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39744 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39745 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39746 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39747 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39748 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39749 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39750 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39751 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39752 (GRUB_PE32_DT_FUNCTION): Likewise.
39753 (GRUB_PE32_REL_I386_DIR32): Likewise.
39754 (GRUB_PE32_REL_I386_REL32): Likewise.
39755 (grub_pe32_symbol): New structure.
39756 (grub_pe32_reloc): Likewise.
39757
39758 * util/grub-pe2elf.c: New file.
39759
39760 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39761 start symbol in non pc platform.
39762
39763 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39764
39765 The following patches are from Christian Franke.
39766
39767 * include/grub/dl.h: Remove .previous, gas supports this only
39768 for ELF format.
39769
39770 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39771 Remove .type, gas supports this only for ELF format.
39772
39773 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39774 nullbytes in symbol table. This fixes an infinite loop if table is
39775 zero filled.
39776
39777 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39778 TARGET_IMG_LDFLAGS and EXEEXT.
39779
39780 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39781 TARGET_IMG_LDFLAGS_AC.
39782 (grub_CHECK_STACK_ARG_PROBE): New function.
39783
39784 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39785
39786 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39787
39788 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39789 to set TARGET_IMG_LD* accordingly.
39790 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39791 Add call to grub_CHECK_STACK_ARG_PROBE.
39792 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39793
39794 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39795
39796 * genmk.rb: Add EXEEXT to CLEANFILES.
39797
12ccdb75 397982008-07-23 Robert Millan <rmh@aybabtu.com>
39799
39800 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39801 define the codes for arrows and lines used for the menu).
39802 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39803 as well.
39804
39805 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39806 fonts, because the latter are too slow.
39807
18eeaf04 398082008-07-21 Bean <bean123ch@gmail.com>
39809
39810 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39811 a20. Run keyboard test last, as it will cause macbook to halt.
39812
b095e2ad 398132008-07-18 Pavel Roskin <proski@gnu.org>
39814
39815 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39816 load foreign architecture modules correctly anyway. Keep
39817 support for loading host architecture modules, whether we
39818 compile them or not.
39819
737feb35 398202008-07-17 Pavel Roskin <proski@gnu.org>
39821
3f4ce737 39822 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39823 change target_cpu. The compiler default can mismatch target_cpu
39824 in any case.
39825
4ad2d049 39826 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39827 * kern/efi/efi.c: Likewise.
39828
f6130a12 39829 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39830 target compiler is functional.
39831 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39832 are set up.
39833
58393a2d 39834 * configure.ac: Default to efi platform for x86_64-apple. Allow
39835 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39836 adjustments from the rest, only do them if target is not
39837 explicitly given. Merge other adjustments with the final sanity
39838 check. Remove an extraneous check for supported CPU. Be
39839 specific which CPU and which platform is not supported.
39840
737feb35 39841 * configure.ac: Default to pc platform for x86_64.
39842
546f966a 398432008-07-17 Robert Millan <rmh@aybabtu.com>
39844
39845 Partial LinuxBIOS -> Coreboot rename.
39846
39847 * conf/i386-linuxbios.rmk: Renamed to ...
39848 * conf/i386-coreboot.rmk: ... this.
39849 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39850 * configure.ac: Accept "coreboot" as input platform (but maintain
39851 compatibility with "linuxbios").
39852 * include/grub/i386/linuxbios: Renamed to ...
39853 * include/grub/i386/coreboot: ... this.
39854
20011694 398552008-07-17 Bean <bean123ch@gmail.com>
39856
39857 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39858 (appleldr_mod_SOURCE): New variable.
20011694 39859 (appleldr_mod_CFLAGS): Likewise.
39860 (appleldr_mod_LDFLAGS): Likewise.
39861 (pci_mod_SOURCES): Likewise.
39862 (pci_mod_CFLAGS): Likewise.
39863 (pci_mod_LDFLAGS): Likewise.
39864 (lspci_mod_SOURCES): Likewise.
39865 (lspci_mod_CFLAGS): Likewise.
39866 (lspci_mod_LDFLAGS): Likewise.
39867
39868 * conf/x86_64-efi.rmk: New file.
39869
39870 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39871 macro.
39872 (grub_efidisk_write): Likewise.
39873
39874 * include/efi/api.h (efi_call_0): New macro.
39875 (efi_call_1): Likewise.
39876 (efi_call_2): Likewise.
39877 (efi_call_3): Likewise.
39878 (efi_call_4): Likewise.
39879 (efi_call_5): Likewise.
39880 (efi_call_6): Likewise.
39881
39882 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39883 grub_rescue_cmd_chainloader.
39884
39885 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39886 (grub_pe32_optional_header): Change some fields based on i386 or
39887 x86_64 platform.
39888 (GRUB_PE32_PE32_MAGIC): Likewise.
39889
39890 * include/grub/efi/uga_draw.h: New file.
39891
39892 * include/grub/elf.h (STN_ABS): New constant.
39893 (R_X86_64_NONE): Relocation constant for x86_64.
39894 (R_X86_64_64): Likewise.
39895 (R_X86_64_PC32): Likewise.
39896 (R_X86_64_GOT32): Likewise.
39897 (R_X86_64_PLT32): Likewise.
39898 (R_X86_64_COPY): Likewise.
39899 (R_X86_64_GLOB_DAT): Likewise.
39900 (R_X86_64_JUMP_SLOT): Likewise.
39901 (R_X86_64_RELATIVE): Likewise.
39902 (R_X86_64_GOTPCREL): Likewise.
39903 (R_X86_64_32): Likewise.
39904 (R_X86_64_32S): Likewise.
39905 (R_X86_64_16): Likewise.
39906 (R_X86_64_PC16): Likewise.
39907 (R_X86_64_8): Likewise.
39908 (R_X86_64_PC8): Likewise.
39909
39910 * include/grub/i386/efi/pci.h: New file.
39911
39912 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39913 Change it value based on platform.
39914 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39915 (GRUB_E820_RAM): Likewise.
39916 (GRUB_E820_RESERVED): Likewise.
39917 (GRUB_E820_ACPI): Likewise.
39918 (GRUB_E820_NVS): Likewise.
39919 (GRUB_E820_EXEC_CODE): Likewise.
39920 (GRUB_E820_MAX_ENTRY): Likewise.
39921 (grub_e820_mmap): New structure.
39922 (linux_kernel_header): Change the efi field according to different
39923 kernel version, also field from linux_kernel_header.
39924
39925 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39926
39927 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39928 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39929 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39930 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39931 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39932 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39933 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39934 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39935 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39936 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39937
39938 * include/grub/x86_64/efi/kernel.h: New file.
39939
39940 * include/grub/x86_64/efi/loader.h: Likewise.
39941
39942 * include/grub/x86_64/efi/machine.h: Likewise.
39943
39944 * include/grub/x86_64/efi/pci.h: Likewise.
39945
39946 * include/grub/x86_64/efi/time.h: Likewise.
39947
39948 * include/grub/x86_64/linux.h: Likewise.
39949
39950 * include/grub/x86_64/setjmp.h: Likewise.
39951
39952 * include/grub/x86_64/time.h: Likewise.
39953
39954 * include/grub/x86_64/types.h: Likewise.
39955
39956 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39957 GRUB_TARGET_SIZEOF_VOID_P.
39958
39959 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39960 (grub_efi_locate_handle): Likewise.
39961 (grub_efi_open_protocol): Likewise.
39962 (grub_efi_set_text_mode): Likewise.
39963 (grub_efi_stall): Likewise.
39964 (grub_exit): Likewise.
39965 (grub_reboot): Likewise.
39966 (grub_halt): Likewise.
39967 (grub_efi_exit_boot_services): Likewise.
39968 (grub_get_rtc): Likewise.
39969
39970 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39971 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39972 (grub_efi_allocate_pages): Wrap efi calls.
39973 (grub_efi_free_pages): Wrap efi calls.
39974 (grub_efi_get_memory_map): Wrap efi calls.
39975
39976 * kern/x86_64/dl.c: New file.
39977
39978 * kern/x86_64/efi/callwrap.S: Likewise.
39979
39980 * kern/x86_64/efi/startup.S: Likewise.
39981
39982 * loader/efi/appleloader.c: Likewise.
39983
39984 * loader/efi/chainloader.c (cmdline): New variable.
39985 (grub_chainloader_unload): Wrap efi calls.
39986 (grub_chainloader_boot): Likewise.
39987 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39988 command line.
39989
39990 * loader/efi/chainloader_normal.c (chainloader_command):
39991 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39992 command line.
39993
39994 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39995 method.
39996 (grub_e820_add_region): New function.
39997 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39998 booting.
39999 (grub_find_video_card): New function.
40000 (grub_linux_setup_video): New function.
40001 (grub_rescue_cmd_linux): Probe for video information.
40002
40003 * normal/x86_64/setjmp.S: New file.
40004
40005 * term/efi/console.c (map_char): New function.
40006 (grub_console_putchar): Map unicode char.
40007 (grub_console_checkkey): Wrap efi calls.
40008 (grub_console_getkey): Likewise.
40009 (grub_console_getwh): Likewise.
40010 (grub_console_gotoxy): Likewise.
40011 (grub_console_cls): Likewise.
40012 (grub_console_setcolorstate): Likewise.
40013 (grub_console_setcursor): Likewise.
40014
40015 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40016
59652a20 400172008-07-16 Pavel Roskin <proski@gnu.org>
40018
ef294055 40019 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40020 format strings.
40021
59652a20 40022 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40023 pointer, not an integer. This fixes a warning and prevents
40024 precision loss on 64-bit systems.
40025 (relocate_addresses): Remove unneeded cast.
40026
afc3b5d7 400272008-07-15 Pavel Roskin <proski@gnu.org>
40028
506b2b3e 40029 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40030
62ead89c 40031 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40032
c4cd51d7 40033 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40034 Fix comparison between signed and unsigned.
40035
0d3d8f28 40036 * include/grub/i386/ieee1275/console.h: Declare
40037 grub_console_init() and grub_console_fini().
40038
8804b286 40039 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40040 It's empty and unused.
40041
ee01cf35 40042 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40043 beginning to avoid warnings with some compilers.
40044
afc3b5d7 40045 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40046 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40047
e4e8eaa5 400482008-07-14 Pavel Roskin <proski@gnu.org>
40049
407aceb4 40050 * kern/env.c (grub_register_variable_hook): Don't copy empty
40051 string, it leaks memory. Pass "" to grub_env_set(), it should
40052 handle constant strings.
40053
e4e8eaa5 40054 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40055 * commands/cmp.c (grub_cmd_cmp): Likewise.
40056 * kern/dl.c (grub_dl_flush_cache): Likewise.
40057 (grub_dl_load_core): Likewise.
40058 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40059 (grub_elf64_load_phdrs): Likewise.
40060
d4e2dad3 400612008-07-13 Pavel Roskin <proski@gnu.org>
40062
40063 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40064 between signed and unsigned.
40065 (LzmaEnc_Finish): Fix warning about an unused parameter.
40066
aa24b516 400672008-07-13 Bean <bean123ch@gmail.com>
40068
40069 * Makefile.in (enable_lzo): New rule.
40070
40071 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40072
40073 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40074
40075 * boot/i386/pc/lnxboot.S: #include <config.h>.
40076
40077 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40078 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40079
40080 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40081 compression algorithm according to configure macro.
40082
40083 * kern/i386/pc/startup.S (codestart): Likewise.
40084
40085 * kern/i386/pc/lzma_decode.S: New file.
40086
40087 * include/grub/lib/LzFind.h: Likewise.
40088
40089 * include/grub/lib/LzHash.h: Likewise.
40090
40091 * include/grub/lib/LzmaDec.h: Likewise.
40092
40093 * include/grub/lib/LzmaEnc.h: Likewise.
40094
40095 * include/grub/lib/LzmaTypes.h: Likewise.
40096
40097 * lib/LzFind.c: Likewise.
40098
40099 * lib/LzmaDec.c: Likewise.
40100
40101 * lib/LzmaEnc.c: Likewise.
40102
4ae821ac 401032008-07-13 Bean <bean123ch@gmail.com>
40104
40105 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40106 (grub_ext4_extent_header): New structure.
40107 (grub_ext4_extent): Likewise.
40108 (grub_ext4_extent_idx): Likewise.
40109 (grub_ext4_find_leaf): New function.
40110 (grub_ext2_read_block): Handle extents.
40111
9a745147 401122008-07-12 Robert Millan <rmh@aybabtu.com>
40113
40114 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40115
d49a4cf6 401162008-07-11 Robert Millan <rmh@aybabtu.com>
40117
40118 * util/grub.d/40_custom.in: New file. Example on how to add custom
40119 entries to /etc/grub.d.
40120 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40121 40_custom (implicitly, by merging all the grub.d rules).
40122
947414b4 401232008-07-11 Pavel Roskin <proski@gnu.org>
40124
0059cf6f 40125 * commands/read.c (grub_getline): Fix invalid memory access.
40126 Don't add newline to the variable value.
40127
947414b4 40128 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40129 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40130 (serial_hw_get_port): Check validity of the port number.
40131 (grub_cmd_serial): Check return value of serial_hw_get_port().
40132
62a02d00 401332008-07-07 Pavel Roskin <proski@gnu.org>
40134
40135 * boot/i386/pc/diskboot.S (notification_string): Replace
40136 "Loading kernel" with just "loading". This is shorter, less
40137 confusing and saves a few bytes for possible future changes.
40138
3e5581b0 401392008-07-05 Pavel Roskin <proski@gnu.org>
40140
ea387a48 40141 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40142 size for ATAPI devices, they are undefined. Output sector
40143 number in decimal form.
40144
3e5581b0 40145 * disk/ata.c: Use named constants for status bits.
40146
fdecb8fd 401472008-07-04 Pavel Roskin <proski@gnu.org>
40148
bcd35b90 40149 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40150 grub_addr_t before casting it to the void pointer to fix a
40151 warning. Non-addressable regions are discarded earlier.
40152 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40153 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40154 (check_signature): Don't shadow table_header.
40155 (grub_linuxbios_table_iterate): Cast numeric constants to
40156 grub_linuxbios_table_header_t.
40157 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40158 grub_stop().
40159
af58ab3d 40160 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40161 prevent warnings.
40162
1759aa57 40163 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40164 pointer, which can cause warnings. Support 64-bit addresses.
40165
fdecb8fd 40166 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40167 of sizeof(long). This fixes PowerPC image generation on x86_64.
40168
8516d2a8 401692008-07-04 Robert Millan <rmh@aybabtu.com>
40170
40171 This fixes a performance issue when pc & gpt partmap iterators
40172 didn't abort iteration even after our hook found what it was
fe987087 40173 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40174
40175 Some callers relied on previous buggy behaviour, since they would
34c44600 40176 raise an error when their own hooks caused early abortion of its
8516d2a8 40177 iteration.
40178
40179 * kern/device.c (grub_device_open): Improve error message.
40180 * disk/lvm.c (grub_lvm_open): Likewise.
40181 * disk/raid.c (grub_raid_open): Likewise.
40182
40183 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40184 when hook requests it, independently of grub_errno.
40185 (pc_partition_map_probe): Do not fail when find_func() caused
40186 early abortion of pc_partition_map_iterate().
40187
40188 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40189 when hook requests it, independently of grub_errno.
40190 (gpt_partition_map_probe): Do not fail when find_func() caused
40191 early abortion of gpt_partition_map_iterate().
40192
40193 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40194 when hook requests it, independently of grub_errno. Do not fail when
40195 part_map_iterate_hook() caused early abortion of p->iterate().
40196
40197 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40198 when grub_partition_iterate() returned with non-zero.
40199
277d0de9 402002008-07-03 Pavel Roskin <proski@gnu.org>
40201
40202 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40203 like we do in grub_ata_pio_read().
40204 (grub_ata_readwrite): Always write individual sectors. Fix the
40205 sector count for the remainder.
40206 (grub_ata_write): Enable writing to ATA devices. Correctly
40207 report error for ATAPI devices.
40208
d4c9b428 402092008-07-02 Pavel Roskin <proski@gnu.org>
40210
e43fc690 40211 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40212 warning.
40213
f707af42 40214 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40215 for every read sector, we already increment it for the whole
40216 batch. This fixes reading more than 256 sectors at once.
40217
11e16b15 40218 * util/grub-editenv.c (cmd_info): Cast argument to long
40219 explicitly. ptrdiff_t reduces to int on i386.
40220
cbabfdd4 40221 * util/grub-editenv.c (main): Be specific which parameter is
40222 missing.
40223
b8fbce0a 40224 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40225 (memdisk): Make memdisk_orig_addr a pointer.
40226
c9c8e606 40227 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40228 for file offsets, use grub_off_t instead. Fix printf format
40229 warnings.
40230
ca62e598 40231 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40232 there. Real unexpected warnings should not drown in the noise
40233 about known problems.
40234
ce8d1766 40235 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40236 grub_disk_addr_t for memory addresses.
40237
00c7a56a 40238 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40239 explicitly to fix a warning.
40240
08d3ef09 40241 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40242
cb71ba20 40243 * Makefile.in (MODULE_LDFLAGS): New variable.
40244 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40245 the linker accepts --build-id=none.
40246 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40247 MODULE_LDFLAGS.
40248 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40249
d4c9b428 40250 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40251 those in Linux XFS code. Provide a way to access 64-bit parent
40252 inode.
40253 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40254 the end of struct grub_xfs_dir_header.
40255
d4156eee 402562008-07-02 Bean <bean123ch@gmail.com>
40257
40258 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40259 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40260 and GRUB_IEEE1275_FLAG_NO_ANSI.
40261
40262 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40263 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40264 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40265
40266 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40267 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40268
40269 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40270 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40271
40272 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40273 esc sequence on non ANSI terminal.
40274 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40275
40276 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40277 beginning of file.
40278
2270f77b 402792008-07-02 Bean <bean123ch@gmail.com>
40280
40281 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40282 (grub_editenv_SOURCES): New variable.
40283 (pkglib_MODULES): Add loadenv.mod.
40284 (loadenv_mod_SOURCES): New variable.
40285 (loadenv_mod_CFLAGS): Likewise.
40286 (loadenv_mod_LDFLAGS): Likewise.
40287
40288 * include/grub/envblk.h: New file.
40289
40290 * util/envblk.c: New file.
40291
40292 * util/grub-editenv.c: New file.
40293
40294 * commands/loadenv.c: New file.
40295
0e9e51ec 402962008-07-01 Pavel Roskin <proski@gnu.org>
40297
d89b7634 40298 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40299 not unsigned char. This fixes warnings and is consistent with
40300 other tags.
40301
bf1835b1 40302 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40303
8222a04b 40304 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40305
6a42d99d 40306 * term/tparm.c (analyze): Always set *popcount.
40307
10b159d1 40308 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40309 cast to fix a warning.
40310
b8789f6c 40311 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40312 cast to suppress a warning.
40313
29d7e38a 40314 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40315 grub_fshelp_read_file() expects.
40316
f341f669 40317 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40318 write uuid as a 32-bit value in CPU byte order, so declare and
40319 use it as such.
40320
0e9e51ec 40321 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40322 long if the format specifier expects it.
40323 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40324 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40325 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40326 long to fix a warning.
40327 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40328 grub_dprintf() arguments to fix warnings.
40329
3aefa857 403302008-06-30 Pavel Roskin <proski@gnu.org>
40331
56c7668b 40332 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40333 install_bsd_part immediately before core.img is embedded or
40334 modified on disk. This fixes core.img verification if core.img
40335 cannot be embedded.
40336
3aefa857 40337 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40338 core_path to calculate the blocklist.
40339 Patch from Javier Martín <lordhabbit@gmail.com>
40340
5444088d 403412008-06-29 Robert Millan <rmh@aybabtu.com>
40342
40343 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40344 block to disk block.
40345 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40346 Patch from Niels Böhm <bitbucket@arcor.de>
40347
674835c8 403482008-06-29 Robert Millan <rmh@aybabtu.com>
40349
40350 * util/update-grub_lib.in (font_path): Search for fonts in
40351 /boot/grub first, which is more likely to be readable (we aren't
40352 deciding where fonts live, just looking for them).
40353
f527dbc8 403542008-06-26 Pavel Roskin <proski@gnu.org>
40355
6c2d8df6 40356 * util/biosdisk.c (read_device_map): Don't leave dead map
40357 entries for devices failing stat() check.
40358
f527dbc8 40359 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40360 core_path_dev for the core.img path on the target device.
40361
aebe3d13 403622008-06-26 Robert Millan <rmh@aybabtu.com>
40363
40364 * disk/fs_uuid.c: New file.
40365 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40366 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40367 (fs_uuid_mod_LDFLAGS): New variables.
40368 * include/grub/disk.h (grub_disk_dev_id): Add
40369 `GRUB_DISK_DEVICE_UUID_ID'.
40370 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40371 implement iterate().
40372
37aaf354 403732008-06-26 Robert Millan <rmh@aybabtu.com>
40374
40375 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40376 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40377 Linux image includes no initrd.
40378
25ff262a 403792008-06-21 Javier Martín <lordhabbit@gmail.com>
40380
40381 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40382 call to resolve the core image location that effectively appended the
40383 name twice.
40384
76a2bd44 403852008-06-21 Robert Millan <rmh@aybabtu.com>
40386
40387 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40388 call from here ...
40389
40390 * util/grub.d/10_hurd.in: ... to here ...
40391 * util/grub.d/10_linux.in: ... and here.
40392
650e1c79 403932008-06-19 Robert Millan <rmh@aybabtu.com>
40394
fe987087 40395 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40396 after it has been set by grub_machine_set_prefix().
40397
6ce63911 403982008-06-19 Robert Millan <rmh@aybabtu.com>
40399
40400 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40401 search result when not saving to variable, not the other way around.
40402 When saving to variable, abort iteration as soon as a match is found.
40403
73940cec 404042008-06-19 Robert Millan <rmh@aybabtu.com>
40405
40406 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40407 check for partition that provides /boot/grub. Its logic is flawed,
40408 as it prevents prepare_grub_to_access_device() from being called
40409 multiple times.
40410
3c62a39d 404112008-06-19 Robert Millan <rmh@aybabtu.com>
40412
40413 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40414 "insmod" command directly when abstraction modules are needed,
fe987087 40415 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40416 since it had already been processed).
40417
47395a42 404182008-06-19 Pavel Roskin <proski@gnu.org>
40419
40420 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40421 changed. This is needed in case GRUB_LIBDIR changes.
40422 * conf/i386-ieee1275.rmk: Likewise.
40423 * conf/i386-linuxbios.rmk: Likewise.
40424 * conf/i386-pc.rmk: Likewise.
40425 * conf/powerpc-ieee1275.rmk: Likewise.
40426
a145ac2d 404272008-06-18 Pavel Roskin <proski@gnu.org>
40428
40429 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40430 kernel_elf_symlist.c to symlist.c for consistency with other
40431 architectures. Update all users.
40432 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40433
7847c51e 404342008-06-18 Robert Millan <rmh@aybabtu.com>
40435
40436 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40437 it in prefix.
40438
40439 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40440 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40441 a RAID device, run setup() for all members independently on whether
40442 LVM abstraction is being used.
40443 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40444 If grub-mkimage has set `*install_dos_part == -2', don't override this
40445 value.
40446 Perform *install_dos_part adjustments independently on whether
40447 we're embedding or not.
40448 Clarify error message when image is too big for embedding.
40449 Remove duplicate *install_dos_part stanza.
40450
b23e5644 404512008-06-17 Robert Millan <rmh@aybabtu.com>
40452
40453 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40454 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40455 variables.
40456 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40457 values in grub_ofconsole_normal_color and
40458 grub_ofconsole_highlight_color (they're not directly related to
40459 background and foreground).
40460 (grub_ofconsole_setcolorstate): Extract background and foreground
40461 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40462
0aac2f79 404632008-06-17 Robert Millan <rmh@aybabtu.com>
40464
40465 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40466 /boot/grub for the check in last commit, not /boot (they could be
40467 different partitions).
40468
3cca7ef3 404692008-06-16 Robert Millan <rmh@aybabtu.com>
40470
40471 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40472 asked to setup access for the same partition that provides /boot,
40473 don't bother using UUIDs since our root already has the value we
40474 want.
40475
347396d8 404762008-06-16 Robert Millan <rmh@aybabtu.com>
40477
40478 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40479 I2O devices.
40480 Patch from Sven Mueller <sven@debian.org>.
40481
991477f8 404822008-06-16 Robert Millan <rmh@aybabtu.com>
40483
40484 * util/update-grub.in: Check for $EUID instead of $UID.
40485 Reported by Vincent Zweije.
40486
d31a32a1 404872008-06-16 Bean <bean123ch@gmail.com>
40488
fe987087 40489 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40490 (grub_ext2_read_block): Likewise.
40491 (grub_ext2_read_inode): Likewise.
40492 (grub_ext2_mount): Likewise.
40493 (grub_ext2_close): Likewise.
40494 (grub_ext3_get_journal): Removed.
40495
fe987087 40496 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40497 (grub_reiserfs_read_symlink): Likewise.
40498 (grub_reiserfs_mount): Likewise.
40499 (grub_reiserfs_open): Likewise.
40500 (grub_reiserfs_read): Likewise.
40501 (grub_reiserfs_close): Likewise.
40502 (grub_reiserfs_get_journal): Removed.
40503
40504 * fs/fshelp.c (grub_fshelp_read): Removed.
40505 (grub_fshelp_map_block): Likewise.
40506
40507 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40508 (grub_fshelp_journal): Likewise.
40509 (grub_fshelp_read): Likewise.
40510 (grub_fshelp_map_block): Likewise.
40511
3540a760 405122008-06-16 Pavel Roskin <proski@gnu.org>
40513
40514 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40515 floating point anymore.
40516 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40517
95614c84 405182008-06-15 Pavel Roskin <proski@gnu.org>
40519
40520 * commands/ls.c (grub_ls_list_files): Use integer calculations
40521 for human readable format, avoid floating point use.
40522 * kern/misc.c (grub_ftoa): Remove.
40523 (grub_vsprintf): Remove floating point support.
40524
50465dd6 405252008-06-15 Robert Millan <rmh@aybabtu.com>
40526
fe6b695a 40527 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40528 devices.
40529 Reported by Max Vozeler.
40530
a9207284 405312008-06-15 Robert Millan <rmh@aybabtu.com>
40532
40533 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40534 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40535 skipped later.
40536 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40537 the beginning of the prefix.
40538
40539 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40540 It is assumed that if we have a memdisk, grub-mkimage has set
40541 grub_prefix to include the "(memdisk)" drive in it.
40542
a7cbd45a 405432008-06-15 Robert Millan <rmh@aybabtu.com>
40544
40545 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40546 Initialize keyboard controller after registering the terminal, so that
40547 grub_printf() can be called from grub_keyboard_controller_init().
40548
21cf716a 405492008-06-15 Robert Millan <rmh@aybabtu.com>
40550
40551 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40552 extent-btree which is written as big endian on disk.
40553 Reported by Alain Greppin <al@chilibi.org>.
40554
23a64d8e 405552008-06-14 Robert Millan <rmh@aybabtu.com>
40556
40557 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40558 * util/i386/pc/grub-install.in (modules): Likewise.
40559
d687651c 405602008-06-13 Pavel Roskin <proski@gnu.org>
40561
40562 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40563
dfe9ddd4 405642008-06-13 Bean <bean123ch@gmail.com>
40565
40566 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40567
40568 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40569
40570 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40571 to indicate sparse block.
40572
16ae7781 405732008-06-12 Pavel Roskin <proski@gnu.org>
40574
e6d1a308 40575 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40576 number, grub_fshelp_read() does it for us.
40577
16ae7781 40578 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40579 linear disk read with journal translation.
40580 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40581 * include/grub/fshelp.h: Declare grub_fshelp_read().
40582
40fd3a2b 405832008-06-09 Pavel Roskin <proski@gnu.org>
40584
40585 * fs/minix.c (grub_minix_mount): Handle error reading
40586 superblock.
40587
f5679726 405882008-06-08 Robert Millan <rmh@aybabtu.com>
40589
40590 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40591 don't append the RAID prefix afterwards.
40592 Reported by Clint Adams.
40593
ce525529 405942008-06-08 Robert Millan <rmh@aybabtu.com>
40595
40596 Based on description from Pavel:
40597 * kern/disk.c (grub_disk_check_range): Rename to ...
40598 (grub_disk_adjust_range): ... this. Add a comment explaining the
40599 tasks performed by this function.
40600
ad4936a0 406012008-06-08 Robert Millan <rmh@aybabtu.com>
40602
40603 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40604 `num_serial' (for consistency with other variables).
40605 (struct grub_ntfs_data): Add `uuid' member.
40606 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40607 (grub_ntfs_uuid): New function.
40608 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40609
dc20b0f9 406102008-06-07 Pavel Roskin <proski@gnu.org>
40611
40612 * util/biosdisk.c (open_device): Revert last change to the
40613 function, it broke installation. The sector needs to be
40614 different dependent on which device is opened.
40615
c5e3cfba 406162008-06-06 Robert Millan <rmh@aybabtu.com>
40617
40618 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40619 rest of GRUB, and breakage doesn't happen if its value were modified.
40620
40621 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40622 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40623 a constant (same value).
40624 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40625 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40626
26a1f8c4 406272008-06-06 Robert Millan <rmh@aybabtu.com>
40628
40629 * util/biosdisk.c (open_device): Do not modify sector offset when
40630 accessing a partition. kern/disk.c already handles this for us.
40631
25d6b327 406322008-06-06 Robert Millan <rmh@aybabtu.com>
40633
40634 * util/grub-emu.c (grub_machine_init): Move code in this function from
40635 here ...
40636 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40637 segfault in case grub_printf() is called).
40638
40639 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40640 grub_probe. Update all users not to explicitly add it again.
40641 (grub_device): New variable; contains corresponding device for grubdir.
40642 (fs_module, partmap_module, devabstraction_module): Pass
40643 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40644 every time.
40645
9ece62fb 406462008-06-05 Robert Millan <rmh@aybabtu.com>
40647
40648 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40649 is found, print it (same layout as with labels).
40650
1ad36d37 406512008-06-04 Robert Millan <rmh@aybabtu.com>
40652
40653 * util/biosdisk.c (get_drive): Rename to ...
40654 (find_grub_drive): ... this. Update all users.
40655
40656 (get_os_disk): Rename to ...
40657 (convert_system_partition_to_system_disk): ... this. Update all users.
40658
40659 (find_drive): Rename to ...
40660 (find_system_device): ... this. Update all users.
40661
e6a30859 406622008-06-04 Robert Millan <rmh@aybabtu.com>
40663
40664 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40665 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40666 (make_device_map): Likewise.
40667
00c108a4 406682008-06-01 Robert Millan <rmh@aybabtu.com>
40669
40670 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40671 before dereferencing it.
40672
40673 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40674 union with fat12/fat16-specific ones. Add some new fields, including
40675 `num_serial' for both versions.
40676 (struct grub_fat_data): Add `uuid' member.
40677 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40678 names. Initialize `data->uuid' using `num_serial'.
40679 (grub_fat_uuid): New function.
40680 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40681
40682 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40683 (grub_reiserfs_uuid): New function.
40684 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40685 member.
40686
40687 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40688 (grub_xfs_uuid): New function.
40689 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40690
1385c5bb 406912008-06-01 Robert Millan <rmh@aybabtu.com>
40692
40693 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40694 code that is backward compatible with pre-uuid search command.
40695
c682dfd7 406962008-05-31 Robert Millan <rmh@aybabtu.com>
40697
40698 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40699 floppies after everything else, to ensure floppy drive isn't accessed
40700 unnecessarily (patch from Bean).
40701
b7db5d47 407022008-05-31 Robert Millan <rmh@aybabtu.com>
40703
40704 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40705 not print device names when we were asked to set a variable.
40706
6e037aa9 407072008-05-31 Robert Millan <rmh@aybabtu.com>
40708
40709 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40710 using "cursor-on" and "cursor-off" commands (understood at least by
40711 the Open Firmware flavour on OLPC).
40712
41305bc8 407132008-05-31 Michael Gorven <michael@gorven.za.net>
40714
40715 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40716 on and off sequences.
40717
69ba137e 407182008-05-31 Robert Millan <rmh@aybabtu.com>
40719
40720 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40721 * util/update-grub.in: Likewise.
40722
520ae21b 407232008-05-30 Pavel Roskin <proski@gnu.org>
40724
40725 * util/biosdisk.c (linux_find_partition): Simplify logic and
40726 make the code more universal. Keep special processing for
40727 devfs, but use a simple rule for all other devices. If the
40728 device ends with a number, append 'p' and the partition number.
40729 Otherwise, append only the partition number.
40730
5786569b 407312008-05-30 Robert Millan <rmh@aybabtu.com>
40732
40733 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40734 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40735 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40736 the `root' parameter to Linux.
40737
51500452 407382008-05-30 Robert Millan <rmh@aybabtu.com>
40739
40740 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40741 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40742 --fs_uuid with --fs-uuid.
40743 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40744 all filesystems support them).
40745
811d3878 407462008-05-30 Robert Millan <rmh@aybabtu.com>
40747
40748 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40749 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40750
cab63c95 407512008-05-30 Robert Millan <rmh@aybabtu.com>
40752
40753 * util/grub.d/00_header.in: Remove obsolete comment referencing
40754 convert_system_path_to_grub_path().
40755 * util/update-grub.in: Likewise.
40756 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40757 (convert_system_path_to_grub_path): Add a warning message explaining
40758 that this function is deprecated. Rely on is_path_readable_by_grub()
40759 for the readability checks.
40760 (font_path): Use is_path_readable_by_grub() for the readability
40761 check rather than convert_system_path_to_grub_path().
40762
972e2f7a 407632008-05-30 Robert Millan <rmh@aybabtu.com>
40764
40765 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40766 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40767 converting it first.
40768 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40769 grub.cfg for access to font file, and afterwards call it again to set
40770 the root device.
40771
62191274 407722008-05-30 Robert Millan <rmh@aybabtu.com>
40773
40774 * commands/search.c (options): Add --fs_uuid option.
40775 (search_fs_uuid): New function.
40776 (grub_cmd_search): Fix --set argument passing.
40777 Use search_fs_uuid() when requested via --fs_uuid.
40778 (grub_search_init): Update help message.
40779 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40780 and redeclare it as an array of 16-bit words.
40781 (grub_ext2_uuid): New function.
40782 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40783 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40784 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40785 (GRUB_DEVICE_BOOT_UUID): New variables.
40786 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40787 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40788 whenever possible.
40789 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40790 just assume `root' variable has the right value.
40791 * util/grub.d/10_linux.in: Likewise.
40792 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40793 via PRINT_FS_UUID.
40794 (main): Recognise `-t fs_uuid' argument.
40795
01b73ec8 407962008-05-30 Robert Millan <rmh@aybabtu.com>
40797
40798 * util/biosdisk.c (map): Redefine structure to hold information
40799 about GRUB drive name.
fe6b695a 40800 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40801 drive names.
40802 (call_hook): Remove.
40803 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40804 member. Assume drive has partitions.
40805 (grub_util_biosdisk_open): Access device names via `.device' struct
40806 member.
40807 (open_device): Likewise.
40808 (find_drive): Likewise.
40809 (read_device_map): Adjust map[] usage to match the new struct
40810 definition. Don't check for duplicates (still possible, but not cheap
40811 anymore).
40812 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40813 (make_device_name): Remove assumption of BIOS-like drive names.
40814
22f16596 408152008-05-30 Pavel Roskin <proski@gnu.org>
40816
40817 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40818 compiling execute.c doesn't need grub_script.tab.h anymore.
40819 (normal/command.c_DEPENDENCIES): Likewise.
40820 (normal/function.c_DEPENDENCIES): Likewise.
40821 * conf/i386-ieee1275.rmk: Likewise.
40822 * conf/i386-linuxbios.rmk: Likewise.
40823 * conf/i386-pc.rmk: Likewise.
40824 * conf/powerpc-ieee1275.rmk: Likewise.
40825 * conf/sparc64-ieee1275.rmk: Likewise.
40826
528ad8f2 408272008-05-29 Pavel Roskin <proski@gnu.org>
40828
d1dff95d 40829 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40830 when scanning metadata for volume group name.
40831
528ad8f2 40832 * include/grub/script.h: Don't include grub_script.tab.h. It's
40833 a generated file, which may only be included from the files with
40834 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40835 use union YYSTYPE, as the later allows forward declaration.
40836 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40837
47248e08 408382008-05-29 Robert Millan <rmh@aybabtu.com>
40839
40840 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40841 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40842 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40843 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40844 scan codes.
40845
ee632529 408462008-05-29 Robert Millan <rmh@aybabtu.com>
40847
40848 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40849 control key combinations.
40850
eee96e08 408512008-05-29 Robert Millan <rmh@aybabtu.com>
40852
40853 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40854 * util/ieee1275/grub-install.in: ... to here.
40855 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40856 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40857 (grub_install_SOURCES): Likewise.
40858
da9a6a94 408592008-05-29 Robert Millan <rmh@aybabtu.com>
40860
40861 * fs/affs.c: Update copyright year.
40862 * fs/ext2.c: Likewise.
40863 * fs/fshelp.c: Likewise.
40864 * fs/hfsplus.c: Likewise.
40865 * fs/ntfs.c: Likewise.
40866 * fs/xfs.c: Likewise.
40867 * include/grub/fshelp.h: Likewise.
40868 * util/grub-mkdevicemap.c: Likewise.
40869
12e65f3a 408702008-05-28 Robert Millan <rmh@aybabtu.com>
40871
40872 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40873 might need to be fatfs to support some firmware implementations
40874 (e.g. OFW or EFI).
40875
23023641 408762008-05-28 Robert Millan <rmh@aybabtu.com>
40877
40878 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40879 devices.
40880 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40881 (make_device_map): Likewise.
40882
887d2619 408832008-05-20 Bean <bean123ch@gmail.com>
40884
40885 * fs/fshelp.c (grub_fshelp_map_block): New function.
40886 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40887 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40888
40889 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40890 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40891 (grub_fshelp_journal): New structure.
40892 (grub_fshelp_map_block): New function prototype.
40893 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40894 (grub_fshelp_map_block): Likewise.
40895
40896 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40897 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40898 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40899 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40900 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40901 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40902 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40903 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40904 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40905 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40906 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40907 (grub_ext2_sblock): New members for journal support.
40908 (grub_ext3_journal_header): New structure.
40909 (grub_ext3_journal_revoke_header): Likewise.
40910 (grub_ext3_journal_block_tag): Likewise.
40911 (grub_ext3_journal_sblock): Likewise.
40912 (grub_fshelp_node): New members logfile and journal.
40913 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40914 grub_fshelp_map_block to get real block number.
40915 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40916 number.
40917 (grub_ext2_read_inode): Likewise.
40918 (grub_ext3_get_journal): New function.
40919 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40920 (grub_ext2_close): Release memory used by journal.
40921
40922 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40923 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40924 (grub_reiserfs_transaction_header): Renamed to
40925 grub_reiserfs_description_block, replace field data with real_blocks.
40926 (grub_reiserfs_commit_block): New structure.
40927 (grub_reiserfs_data): New member journal.
40928 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40929 number.
40930 (grub_reiserfs_read_symlink): Likewise.
40931 (grub_reiserfs_iterate_dir): Likewise.
40932 (grub_reiserfs_open): Likewise.
40933 (grub_reiserfs_read): Likewise.
40934 (grub_reiserfs_get_journal): New function.
40935 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40936 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40937 using grub_reiserfs_get_journal.
40938 (grub_reiserfs_close): Release memory used by journal.
40939
40940 * fs/affs.c (grub_affs_read_block): Change block type to
40941 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40942
40943 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40944
40945 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40946
40947 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40948
40949 * fs/udf.c (grub_udf_read_block): Change block type to
40950 grub_disk_addr_t. Use type cast to avoid warning.
40951
40952 * fs/xfs.c (grub_xfs_read_block): Likewise.
40953
b7c6bed5 409542008-05-16 Christian Franke <franke@computer.org>
40955
40956 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40957 to ensure that break with ESC will always work.
40958 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40959 Remove ESC from keyboard queue.
40960
eedf167f 409612008-05-16 Christian Franke <franke@computer.org>
40962
40963 * util/biosdisk.c: [__CYGWIN__] Add includes.
40964 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40965 (get_os_disk): Move variable declarations to OS specific
40966 parts to avoid warning.
40967 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40968 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40969 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40970 Cygwin.
40971 * util/getroot.c: [__CYGWIN__] Add includes.
40972 (strip_extra_slashes): Fix "/" case.
40973 [__CYGWIN__] (get_win32_path): New function.
40974 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40975 [__CYGWIN__] (find_root_device): Disable.
40976 [__CYGWIN__] (get_bootsec_serial): New function.
40977 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40978 [__linux__] (grub_guess_root_device): Add early returns to simplify
40979 structure.
40980 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40981 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40982 check for Linux only.
40983
a079699e 409842008-05-15 Bean <bean123ch@gmail.com>
40985
40986 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40987 keyboard hang problem in apple's intel mac.
40988
1cf4059a 409892008-05-09 Robert Millan <rmh@aybabtu.com>
40990
40991 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40992 devices.
40993 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40994 (make_device_map): Likewise.
40995 Reported by Aurelien Jarno <aurel32@debian.org>
40996
ed759390 409972008-05-07 Ian Campbell <ijc@hellion.org.uk>
40998
40999 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41000 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41001 (make_device_map): Output entries for xvd type disks.
41002
b56c4eaa 410032008-05-07 Robert Millan <rmh@aybabtu.com>
41004
41005 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41006 devices.
41007 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41008 (make_device_map): Likewise.
41009 Reported by Roland Dreier <rdreier@cisco.com>
41010
7f8866ed 410112008-05-07 Robert Millan <rmh@aybabtu.com>
41012
41013 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41014 grub_strstr() call. Correct a few mistakes in failure path handling.
41015
b0346e0f 410162008-05-06 Robert Millan <rmh@aybabtu.com>
41017
41018 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41019 Do not print a trailing slash (therefore, the root directory is an
41020 empty string).
41021 (convert_system_path_to_grub_path): Do not remove trailing slash
41022 from make_system_path_relative_to_its_root() output.
41023
41024 * util/i386/pc/grub-install.in: Add trailing slash to output from
41025 make_system_path_relative_to_its_root().
41026
6cf12cbd 410272008-05-06 Robert Millan <rmh@aybabtu.com>
41028
41029 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41030 ensures that output lines aren't intermangled with those sent to
41031 stderr (via grub_util_info()).
41032 * util/grub-probe.c (grub_refresh): Likewise.
41033 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41034
0fbb3117 410352008-05-05 Christian Franke <franke@computer.org>
41036
41037 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41038 Add Cygwin device names.
41039 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41040 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41041 (check_device): Return error instead of success on empty name.
41042 (make_device_map): Move label inside linux specific code to
41043 prevent compiler warning.
41044
8124cdb7 410452008-04-30 Robert Millan <rmh@aybabtu.com>
41046
41047 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41048 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41049 first boot option.
41050 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41051
094c01d0 410522008-04-29 Robert Millan <rmh@aybabtu.com>
41053
41054 * docs/grub.cfg: New file (example GRUB configuration).
41055
f4b1fc02 410562008-04-26 Robert Millan <rmh@aybabtu.com>
41057
329ce2a5 41058 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41059 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41060 and `disk/ieee1275/nand.c'.
f4b1fc02 41061
25f16ec1 410622008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41063
25f16ec1 41064 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41065 i386-linuxbios.
41066
41067 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41068 change the buffer size to 4096 for cdrom device.
41069
41070 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41071 and nand.mod.
41072 (_linux_mod_SOURCES): New variable.
41073 (_linux_mod_CFLAGS): Likewise.
41074 (_linux_mod_LDFLAGS): Likewise.
41075 (linux_mod_SOURCES): Likewise.
41076 (linux_mod_CFLAGS): Likewise.
41077 (linux_mod_LDFLAGS): Likewise.
41078 (nand_mod_SOURCES): Likewise.
41079 (nand_mod_CFLAGS): Likewise.
41080 (nand_mod_LDFLAGS): Likewise.
41081
41082 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41083 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41084 type property. (nand device in olpc don't have this property)
41085
41086 * include/grub/disk.h (grub_disk_dev_id): New macro
41087 GRUB_DISK_DEVICE_NAND_ID.
41088
41089 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41090 function prototype.
41091 (grub_rescue_cmd_initrd): Likewise.
41092
41093 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41094 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41095 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41096
25f16ec1 41097 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41098 GRUB_MACHINE_IEEE1275 is defined.
41099
41100 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41101 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41102
41103 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41104 on nested function heap_init.
41105 (grub_upper_mem): New variable for i386-ieee1275.
41106 (grub_get_extended_memory): New function for i386-ieee1275.
41107 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41108
41109 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41110 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41111 property.
f19dbdb7 41112
25f16ec1 41113 * loader/i386/ieee1275/linux.c: New file.
41114
41115 * loader/i386/ieee1275/linux_normal.c: New file.
41116
41117 * disk/ieee1275/nand.c: New file.
41118
e89d61e9 411192008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41120
41121 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41122 value.
41123 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41124
602566f6 411252008-04-18 Robert Millan <rmh@aybabtu.com>
41126
41127 Restructures early code path on ieee1275 to unify grub_main() as
41128 the first C function that is executed in every platform.
41129
41130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41131 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41132 cmain().
41133 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41134 * kern/ieee1275/cmain.c (cmain): Rename to ...
41135 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41136 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41137 at the beginning.
41138
57490c2b 411392008-04-18 Robert Millan <rmh@aybabtu.com>
41140
41141 * util/update-grub.in: Fix syntax error when setting
41142 `GRUB_PRELOAD_MODULES'.
41143 Reported by Stephane Chazelas <stephane@artesyncp.com>
41144
1977517d 411452008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41146
41147 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41148 section into account, newer toolchains generate unique build ids
41149 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41150 we want build ids to be preserved
1977517d 41151 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41152 far from other sections don't cause the raw binary images grow
41153 size
41154
bfb1f1a2 411552008-04-15 Robert Millan <rmh@aybabtu.com>
41156
41157 * disk/lvm.c: Update copyright year.
41158 * kern/misc.c: Likewise.
41159
01979850 411602008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41161
41162 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41163 there is no memory left for physical volume name.
01979850 41164
0a1150e2 411652008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41166
41167 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41168 volume name mapping to support bigger than 9 character names properly.
41169
82ead3fe 411702008-04-13 Robert Millan <rmh@aybabtu.com>
41171
41172 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41173 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41174
e54a72f5 411752008-04-13 Christian Franke <franke@computer.org>
41176
41177 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41178 to create a floppy emulation boot CD when non emulation mode
41179 does not work.
41180 Enable Joliet CD filesystem extension.
41181
9fe86034 411822008-04-13 Robert Millan <rmh@aybabtu.com>
41183
41184 * kern/misc.c (grub_strncat): Fix off-by-one error.
41185 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41186
41187 * kern/env.c (grub_env_context_close): Clear current context, not
41188 previous one.
41189 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41190
41191 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41192
7ceeee39 411932008-04-13 Robert Millan <rmh@aybabtu.com>
41194
41195 Improve robustness when handling LVM.
41196
41197 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41198 (and leave `*p' unmodified).
7ceeee39 41199 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41200 through it.
41201 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41202 iterating through it.
41203 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41204 through it.
fe6b695a 41205 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41206 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41207 Don't assume `vg->pvs != NULL' when iterating through it.
41208
58cd3d85 412092008-04-13 Robert Millan <rmh@aybabtu.com>
41210
41211 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41212 * genmk.rb (partmap): New variable.
41213 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41214 (#{partmap}): New target rule.
41215 * genpartmaplist.sh: New file.
41216 * Makefile.in (pkglib_DATA): Add partmap.lst.
41217 (partmap.lst): New target rule.
41218 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41219 modules (including all partition maps), instead of preloading them.
41220
78b51059 412212007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41222
41223 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41224 `linux-boot-prober' (if installed) to detect other operating
41225 systems which are installed on the computer and add them to
41226 the boot menu.
41227 * conf/common.rmk: Build and install 30_os-prober.
41228
a91627b4 412292008-04-12 Robert Millan <rmh@aybabtu.com>
41230
41231 * kern/powerpc/ieee1275/init.c: Move from here ...
41232 * kern/ieee1275/init.c: ... to here. Update all users.
41233
41234 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41235 * kern/ieee1275/cmain.c: ... to here. Update all users.
41236
41237 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41238 * kern/ieee1275/openfw.c: ... to here. Update all users.
41239
41240 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41241 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41242
322562ea 412432008-04-10 Pavel Roskin <proski@gnu.org>
41244
41245 * configure.ac: Always use "_cv_" in cache variables for
41246 compatibility with Autoconf 2.62.
41247
a02a73c5 412482008-04-07 Robert Millan <rmh@aybabtu.com>
41249
41250 Revert grub/machine/init.h addition by Pavel (since it breaks on
41251 i386-ieee1275 and others):
41252 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41253 * util/powerpc/ieee1275/misc.c: Likewise.
41254
25c024b1 412552008-04-07 Robert Millan <rmh@aybabtu.com>
41256
41257 * util/grub-probe.c (probe): Improve error message.
41258
3cbd2f98 412592008-04-07 Robert Millan <rmh@aybabtu.com>
41260
41261 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41262 (this prevents the presence of a bogus entry from ruining the whole
41263 thing).
41264
87a297bf 412652008-04-06 Pavel Roskin <proski@gnu.org>
41266
36747a62 41267 * util/biosdisk.c: Include grub/util/biosdisk.h.
41268 * util/grub-fstest.c (execute_command): Make static.
41269 * util/grub-mkdevicemap.c (check_device): Likewise.
41270 * util/i386/pc/misc.c: Include grub/machine/init.h.
41271 * util/powerpc/ieee1275/misc.c: Likewise.
41272 * util/lvm.c: Include grub/util/lvm.h.
41273 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41274 grub/cache.h.
41275 * util/raid.c: Include grub/util/raid.h.
41276 (grub_util_getdiskname): Make static.
41277
87a297bf 41278 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41279 grub_hostfs_fini(), as they are called from grub_init_all() and
41280 grub_fini_all() respectively. This fixes an infinite loop in
41281 grub-fstest due to double registration of hostfs.
41282 Reported by Christian Franke <Christian.Franke@t-online.de>
41283
f6ce7629 412842008-04-05 Pavel Roskin <proski@gnu.org>
41285
41286 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41287 all 8 functions. Otherwise, probe function 0 only.
41288
070e49e4 412892008-04-04 Pavel Roskin <proski@gnu.org>
41290
8b088a4c 41291 * commands/lspci.c (grub_lspci_iter): Print the bus number
41292 correctly.
41293
4f657021 41294 * commands/lspci.c (grub_pci_classes): Fix typos.
41295 (grub_lspci_iter): Don't print func twice. Print vendor ID
41296 before device ID, as it's normally done.
41297
070e49e4 41298 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41299 Fix signedness warnings.
41300 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41301 Likewise.
41302 * util/ieee1275/get_disk_name.c: Include config.h so that
41303 _GNU_SOURCE is defined and getline() is declared. Mark an
41304 unused argument as such. Fix a signedness warning.
41305
ba7328dc 413062008-04-02 Pavel Roskin <proski@gnu.org>
41307
26887f22 41308 * genkernsyms.sh.in: Use more robust assignments for CC and
41309 srcdir. Quote srcdir.
41310 * gensymlist.sh.in: Likewise. Assert at the compile time that
41311 the symbol table is not empty.
41312
ba7328dc 41313 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41314 * fs/cpio.c (grub_cpio_read): Likewise.
41315
0f582c6b 413162008-04-01 Pavel Roskin <proski@gnu.org>
41317
4b6e1995 41318 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41319 * disk/host.c (grub_host_open): Likewise.
41320 * disk/loopback.c (grub_loopback_open): Likewise.
41321 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41322 disk->id as in disk/host.c, not a multi-character constant.
41323
828a2768 41324 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41325 later is obsolete, potentially dangerous and sets a bad example.
41326 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41327 * util/misc.c (grub_util_get_image_size): Likewise.
41328
2bb4fb47 41329 * disk/loopback.c (options): Improve help for "--partitions".
41330
0f582c6b 41331 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41332 options to align them with the short options, e.g. "echo -e".
41333
a33224e0 413342008-03-31 Bean <bean123ch@gmail.com>
41335
41336 * video/reader/png.c (grub_png_data): New member is_16bit and
41337 image_data.
41338 (grub_png_decode_image_header): Detect 16 bit png image.
41339 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41340 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41341 (grub_video_reader_png): Release memory occupied by image_data.
41342
41343 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41344 4096 bytes.
41345 (grub_nfs_mount): Skip the test for sector per cluster.
41346
41347 * include/grub/ntfs.h (MAX_SPC): Removed.
41348
86cb4f54 413492008-03-31 Bean <bean123ch@gmail.com>
41350
41351 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41352 (grub_probe_SOURCES): Add fs/afs.c.
41353 (grub_fstest_SOURCES): Likewise.
41354 (afs_mod_SOURCES): New variable.
41355 (afs_mod_CFLAGS): Likewise.
41356 (afs_mod_LDFLAGS): Likewise.
41357
41358 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41359 (grub_emu_SOURCES): Likewise.
41360
41361 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41362
41363 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41364
41365 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41366
41367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41368
41369 * fs/afs.c: New file.
41370
17c74c21 413712008-03-30 Pavel Roskin <proski@gnu.org>
41372
4cb68e89 41373 * disk/host.c: Include grub/misc.h to fix a warning.
41374 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41375 warnings about implicit declarations.
41376
8790bb04 41377 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41378 variable.
41379 * include/grub/i386/loader.h: Change declaration of
41380 grub_linux_boot() to match what grub_loader_set() expects.
41381 * util/getroot.c (grub_guess_root_device): Return const char* to
41382 fix a warning.
41383 * util/grub-probe.c (probe): Fix a warning about uninitialized
41384 abstraction_name variable.
41385 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41386 second argument as unused to fix a warning.
41387
9a3f3296 41388 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41389 missing grub_error() call.
41390
0ecef90d 41391 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41392 2.60 and newer uses it to define datadir.
41393
0bf6d401 41394 * commands/sleep.c: Fix warning about implicit declaration.
41395 * disk/memdisk.c: Likewise.
41396 * loader/aout.c: Likewise.
41397 * loader/i386/bsd_normal.c: Likewise.
41398 * util/grub-probe.c: Likewise.
41399
7cdacf97 41400 * commands/i386/cpuid.c (has_longmode): Make static.
41401 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41402 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41403
17c74c21 41404 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41405 GDT. This is more robust, as %ds can change.
41406 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41407 calling real_to_prot().
41408 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41409
80a3e68b 414102008-03-28 Pavel Roskin <proski@gnu.org>
41411
41412 * kern/i386/pc/startup.S: Assert that uncompressed functions
41413 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41414 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41415 code, as they push parts of the code (error handlers) beyond
41416 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41417 code as correctness and size.
41418
77bcd272 414192008-03-28 Pavel Roskin <proski@gnu.org>
41420
41421 * kern/i386/pc/startup.S
41422 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41423 data block address to the real mode, keep offset minimal. This
41424 works around a bug in AWARD BIOS on old Athlon systems, which
41425 makes CD detection hang.
41426
c5dfd43b 414272008-03-26 Pavel Roskin <proski@gnu.org>
41428
41429 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41430 const.
41431 * include/grub/normal.h: Add grub_parse_color_name_pair()
41432 declaration.
41433
bf962df2 414342008-03-24 Bean <bean123ch@gmail.com>
41435
41436 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41437 (cd_count): Removed.
41438 (cd_drive): New variable.
41439 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41440 (grub_biosdisk_call_hook): Likewise.
41441 (grub_biosdisk_iterate): Change cdrom detection method.
41442 (grub_biosdisk_open): Replace cd_start with cd_drive.
41443 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41444 detect cdrom device.
41445
41446 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41447 Removed.
41448 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41449 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41450 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41451 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41452 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41453 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41454 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41455 (grub_biosdisk_cdrp): New structure.
41456 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41457
41458 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41459
41460 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41461 device.
41462
41463 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41464 New function.
41465
68e7fc7a 414662008-03-20 Robert Millan <rmh@aybabtu.com>
41467
41468 Remove 2 TiB limit in ata.mod.
41469 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41470 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41471 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41472 grub_uint64_t instead of grub_uint32_t.
41473
38ad2cf5 414742008-03-05 Bean <bean123ch@gmail.com>
41475
41476 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41477 (grub_multiboot): Set boot device.
41478
41479 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41480
2b89344e 414812008-03-02 Bean <bean123ch@gmail.com>
41482
41483 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41484 symlink_buffer.
41485
87a95d1f 414862008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41487
41488 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41489 texinfo.tex.
41490
41491 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41492 modified.
41493
41494 * docs/fdl.texi: New file.
f19dbdb7 41495
87a95d1f 41496 * docs/mdate-sh: New file. Copied from gnulib.
41497 * docs/texinfo.tex: Likewise.
41498
41499 * config.guess: Updated from gnulib.
41500 * install-sh: Likewise.
41501
7dc15d8e 415022008-02-28 Robert Millan <rmh@aybabtu.com>
41503
41504 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41505 (aout_mod_SOURCES): New variable.
41506 (aout_mod_CFLAGS): Likewise.
41507 (aout_mod_LDFLAGS): Likewise.
41508
41509 * conf/i386-ieee1275.rmk: Likewise.
41510
b00ab696 415112008-02-28 Robert Millan <rmh@aybabtu.com>
41512
41513 * util/update-grub.in: Reorganise terminal validity check. Accept
41514 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41515 Based on suggestion by Franklin PIAT.
41516
79ca2d78 415172008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41518
41519 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41520 function.
41521 * util/getroot.c (grub_util_check_block_device): New function that
41522 returns the given argument if it is a block device and returns NULL else.
41523 * util/grub-probe.c (argument_is_device): New variable.
41524 (probe): Promote device_name from a variable to an argument. Receive
41525 device_name from grub_util_check_block_device() if path is NULL and from
41526 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41527 (options): Introduce new parameter '-d, --device'.
79ca2d78 41528 (main): Add description of the new parameter to the help screen.
41529 Rename path variable to argument. Set argument_is_device if the '-d'
41530 option is given. Pass argument to probe() depending on
41531 argument_is_device.
41532
0d16e571 415332008-02-24 Bean <bean123ch@gmail.com>
41534
41535 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41536 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41537 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41538 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41539 (GRUB_ISO9660_VOLDESC_END): Likewise.
41540 (grub_iso9660_primary_voldesc): New member escape.
41541 (grub_iso9660_data): New member joliet.
41542 (grub_iso9660_convert_string): New function.
41543 (grub_iso9660_mount): Detect joliet extension.
41544 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41545 (grub_iso9660_iso9660_label): Likewise.
41546
41547 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41548 (grub_setup_SOURCES): Add fs/udf.c.
41549 (grub_fstest_SOURCES): Likewise.
41550 (udf_mod_SOURCES): New variable.
41551 (udf_mod_CFLAGS): Likewise.
41552 (udf_mod_LDFLAGS): Likewise.
41553
41554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41555 (grub_emu_SOURCES): Likewise.
41556
41557 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41558
41559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41560
41561 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41562
41563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41564
41565 * fs/udf.c: New file.
41566
8a594a17 415672008-02-24 Robert Millan <rmh@aybabtu.com>
41568
41569 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41570 (normal/lexer.c_DEPENDENCIES): New variables.
41571 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41572 (normal/lexer.c_DEPENDENCIES): Likewise.
41573 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41574 (normal/lexer.c_DEPENDENCIES): Likewise.
41575 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41576 (normal/lexer.c_DEPENDENCIES): Likewise.
41577 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41578 (normal/lexer.c_DEPENDENCIES): Likewise.
41579 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41580 (normal/lexer.c_DEPENDENCIES): Likewise.
41581
2dc33c03 415822008-02-23 Robert Millan <rmh@aybabtu.com>
41583
41584 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41585 since they were intended to be in hex. This didn't break previously
41586 because of a bug in gpt_partition_map_iterate() (see below).
41587
41588 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41589 when checking the validity of GPT header.
41590 Remove `partno', since it always provides the same information as `i'.
41591
f6f4cfb0 415922008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41593
41594 * include/grub/efi/time.h: Fix a wrong comment.
41595
79ff665f 415962008-02-19 Pavel Roskin <proski@gnu.org>
41597
41598 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41599 message.
41600
d38e24c2 416012008-02-19 Bean <bean123ch@gmail.com>
41602
41603 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41604 (aout_mod_SOURCES): New variable.
41605 (aout_mod_CFLAGS): Likewise.
41606 (aout_mod_LDFLAGS): Likewise.
41607 (_bsd_mod_SOURCES): New variable.
41608 (_bsd_mod_CFLAGS): Likewise.
41609 (_bsd_mod_LDFLAGS): Likewise.
41610 (bsd_mod_SOURCES): New variable.
41611 (bsd_mod_CFLAGS): Likewise.
41612 (bsd_mod_LDFLAGS): Likewise.
41613
41614 * include/grub/aout.h: New file.
41615
41616 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41617
41618 * include/grub/i386/bsd.h: New file.
41619
41620 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41621 to make it public.
41622
41623 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41624 function is called, so that it's possible to change it inside the hook.
41625 (grub_elf64_load): Likewise.
41626 (grub_elf_file): Don't close the file if elf header is not found.
41627 (grub_elf_close): Close the file if grub_elf_file fails (The new
41628 grub_elf_file won't close it).
41629 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41630 (grub_elf64_size): Likewise.
41631
41632 * kern/i386/loader.S (grub_unix_real_boot): New function.
41633
41634 * loader/aout.c: New file.
41635
41636 * loader/i386/bsd.c: New file.
41637
41638 * loader/i386/bsd_normal.c: New file.
41639
41640 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41641
41642 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41643 can test other formats.
d38e24c2 41644
b93bdb0f 416452008-02-19 Robert Millan <rmh@aybabtu.com>
41646
41647 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41648 (grub_gpt_partition_type_empty): Redefine with macro from
41649 `<grub/gpt_partition.h>'.
41650 (gpt_partition_map_iterate): Adjust partition type comparison.
41651
41652 Export `entry' as partmap-specific `part.data' struct.
41653 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41654
41655 * include/grub/gpt_partition.h (grub_gpt_header)
41656 (grub_gpt_partentry): ... to here (new file).
41657
41658 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41659
41660 (grub_gpt_partition_type_bios_boot): New const variable, defined
41661 with macro from `<grub/gpt_partition.h>'.
41662
41663 (setup): Replace `first_start' with `embed_region', which keeps
41664 track of the embed region (and is partmap-agnostic).
41665
41666 Replace find_first_partition_start() with find_usable_region(),
41667 which finds a usable region for embedding using partmap-specific
41668 knowledge (supports PC/MSDOS and GPT).
41669
41670 Fix all assumptions that the embed region start at sector 1, using
41671 `embed_region.start' from now on. Similarly, use `embed_region.end'
41672 rather than `first_start' to calculate available size.
41673
41674 In grub_util_info() message, replace "into after the MBR" with an
41675 indication of the specific sector our embed region starts at.
41676
66cb40f6 416772008-02-19 Robert Millan <rmh@aybabtu.com>
41678
41679 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41680 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41681 `commands/reboot.c'.
41682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41683 (halt_mod_SOURCES): Likewise.
41684 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41685 (halt_mod_SOURCES): Likewise.
41686
b7202015 416872008-02-17 Christian Franke <franke@computer.org>
41688
41689 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41690
32b0fc49 416912008-02-17 Robert Millan <rmh@aybabtu.com>
41692
41693 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41694 set `first_start' to 0 for non-PC/MSDOS partition maps.
41695
aca63502 416962008-02-16 Robert Millan <rmh@aybabtu.com>
41697
41698 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41699 do not assume partition map is PC/MSDOS before performing checks that
41700 are specific to that layout.
41701
0de8be86 417022008-02-13 Robert Millan <rmh@aybabtu.com>
41703
41704 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41705 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41706 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41707
c3db8364 417082008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41709
41710 * configure.ac: Only a cosmetic change on the handling of
41711 -fno-stack-protector.
41712
f714229e 417132008-02-12 Alexandre Boeglin <alex@boeglin.org>
41714
c3db8364 41715 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41716 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41717 reboot.c.
f714229e 41718 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41719 (halt_mod_SOURCES): New variable.
41720 (halt_mod_CFLAGS): Likewise.
41721 (halt_mod_LDFLAGS): Likewise.
41722 (reboot_mod_SOURCES): Likewise.
41723 (reboot_mod_CFLAGS): Likewise.
41724 (reboot_mod_LDFLAGS): Likewise.
41725
c3db8364 41726 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41727 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41728 reboot.c.
f714229e 41729 (halt_mod_SOURCES): Likewise.
41730 (reboot_mod_SOURCES): Likewise.
41731
c3db8364 41732 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41733 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41734 (reboot_mod_SOURCES): Likewise.
41735
41736 * commands/i386/pc/reboot.c: merge this file ...
41737
41738 * commands/ieee1275/reboot.c: ... and this file ...
41739
41740 * commands/reboot.c: ... to this file.
c3db8364 41741 Add some precompiler directive to include the correct header for
41742 each machine.
f714229e 41743
41744 * commands/ieee1275/halt.c: move this file ...
41745
41746 * commands/halt.c: ... to here.
c3db8364 41747 Add some precompiler directive to include the correct header for
41748 each machine.
f714229e 41749
41750 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41751 (grub_halt): Likewise.
41752
41753 * kern/efi/efi.c (grub_reboot): New function.
41754 (grub_halt): Likewise.
41755
c74493e0 417562008-02-12 Robert Millan <rmh@aybabtu.com>
41757
41758 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41759 /dev (like it is done for /dev/mapper). This doesn't provide support
41760 for EVMS, but at least it is now easy to identify the problem when it
41761 arises.
41762
d0db4b04 417632008-02-11 Robert Millan <rmh@aybabtu.com>
41764
41765 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41766 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41767 comparing it with -1, not 0.
41768
bf748642 417692008-02-10 Robert Millan <rmh@aybabtu.com>
41770
41771 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41772 `disk/lvm.c'.
41773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41774 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41775
41776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41777 `disk/lvm.c' to the end of the list.
41778 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41779 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41780
b5db202a 417812008-02-10 Robert Millan <rmh@aybabtu.com>
41782
41783 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41784 grub_print_error() instead. This will let user know why we're entering
41785 rescue mode.
41786 Based on suggestions from Sam Morris.
41787
83abee31 417882008-02-10 Alexandre Boeglin <alex@boeglin.org>
41789
41790 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41791 on remaining N args, instead of "--" arg N times.
41792
78d5a08b 417932008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41794
41795 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41796 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41797 pattern for unknown glyphs.
41798
68807e5f 417992008-02-09 Robert Millan <rmh@aybabtu.com>
41800
41801 * configure.ac: Probe for `help2man'.
41802 * Makefile.in (builddir): New variable.
41803 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41804 or otherwise add a few flags/options to it.
41805 (install-local): For every executable utility or script that is
41806 installed, invoke $(HELP2MAN) to install a manpage based on --help
41807 output.
41808
41809 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41810 that it doesn't prevent --help from working in build tree.
41811
41812 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41813 with `bug-grub@gnu.org'.
41814 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41815 * util/update-grub.in (usage): New function.
41816 Implement proper argument check, with support for --help and --version
41817 (as well as existing -y).
41818
418192008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41820
41821 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41822 avoid overwriting previous output.
41823 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41824
c1962162 418252008-02-09 Robert Millan <rmh@aybabtu.com>
41826
41827 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41828 drawing the menu.
41829
3dac2e3f 418302008-02-09 Robert Millan <rmh@aybabtu.com>
41831
41832 * commands/sleep.c: New file.
41833 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41834 (sleep_mod_SOURCES): New variable.
41835 (sleep_mod_CFLAGS): Likewise.
41836 (sleep_mod_LDFLAGS): Likewise.
41837
7a634e08 418382008-02-09 Robert Millan <rmh@aybabtu.com>
41839
41840 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41841 situations in which we can deduce the RAID size and the superblock
41842 doesn't match it.
41843
b92f0c18 418442008-02-09 Robert Millan <rmh@aybabtu.com>
41845
41846 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41847 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41848 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41849
41850 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41851 and return a grub_diskmemberlist_t composed of physical array members.
41852 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41853
41854 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41855 prototype.
41856 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41857 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41858 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41859
41860 * util/grub-probe.c (probe): Move partmap probing code from here ...
41861 (probe_partmap): ... to here.
41862 (probe): Use probe_partmap() once for the disk we're probing, and
41863 additionally, when such disk contains a memberlist() struct member,
41864 once for each disk that is contained in the structure returned by
41865 memberlist().
41866
91a4bf68 418672008-02-09 Robert Millan <rmh@aybabtu.com>
41868
41869 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41870 environment variable to 'all' in order to obtain debug output from
41871 non-util/ code.
41872 * util/i386/pc/grub-setup.c (main): Likewise.
41873
a96f9caa 418742008-02-08 Robert Millan <rmh@aybabtu.com>
41875
41876 * disk/raid.c (grub_raid_scan_device): Check for
41877 `array->device[sb.this_disk.number]' rather than for
41878 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41879 guaranteed to be accessible.
a96f9caa 41880
b37a9222 418812008-02-08 Robert Millan <rmh@aybabtu.com>
41882
41883 * disk/raid.c: Update copyright.
41884 * fs/cpio.c: Likewise.
41885 * include/grub/raid.h: Likewise.
41886 * loader/i386/pc/multiboot.c: Likewise.
41887 * util/hostfs.c: Likewise.
41888
5626aee1 418892008-02-08 Robert Millan <rmh@aybabtu.com>
41890
41891 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41892 to a grub_disk_t array.
41893 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41894 `device[x]'.
41895 (grub_raid_scan_device): Replace `device[x].name' accesses with
41896 `device[x]->name'. Simplify initialization of `array->device[x]'.
41897
554f0187 418982008-02-08 Robert Millan <rmh@aybabtu.com>
41899
41900 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41901 grub_dprintf() calls.
41902 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41903 error message.
41904
1ec8425d 419052008-02-07 Christian Franke <franke@computer.org>
41906
41907 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41908 instead of fseek and ftell to support large files.
41909 (grub_hostfs_read): Likewise.
41910
f2156fda 419112008-02-07 Robert Millan <rmh@aybabtu.com>
41912
41913 Patch from Jeroen Dekkers.
41914 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41915 failure, since successfully reading all array members might not be
f2156fda 41916 required.
41917
9216e0e7 419182008-02-06 Robert Millan <rmh@aybabtu.com>
41919
41920 * util/grub-probe.c (probe): Simplify partmap probing (with the
41921 assumption that the first word up to the underscore equals to
41922 the module name).
41923
b0dfd29a 419242008-02-06 Christian Franke <franke@computer.org>
41925
41926 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41927 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41928 last block of a cpio or tar stream.
41929 Check for "TRAILER!!!" instead of any empty data
41930 block to detect last block of a cpio stream.
41931 (grub_cpio_dir): Fix constness of variable np.
41932 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41933 cpio or tar trailer is detected. This fixes a crash
41934 on open of a non existing file.
41935
c32865bf 419362008-02-05 Bean <bean123ch@gmail.com>
41937
41938 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41939 address of entry.
41940 (grub_multiboot_load_elf64): Likewise.
41941 (grub_multiboot): Initialize mbi structure.
41942
41943 * util/grub-fstest.c: Don't include unused header file script.h.
41944
fe6b695a 41945 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41946 of file.
41947 (grub_fstest_SOURCES): Likewise.
41948
409480b7 419492008-02-05 Robert Millan <rmh@aybabtu.com>
41950
41951 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41952 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41953 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41954 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41955
41956 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41957 (translation_table): Replace hardcoded values with macros
41958 provided by `<grub/term.h>'.
41959
41960 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41961 (keyboard_map): Correct/add a few values, with macros provided
41962 by `<grub/term.h>'.
41963 (keyboard_map_shift): Zero values that don't differ from their
41964 `keyboard_map' equivalents.
41965 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41966 Discard the second scan code that is always sent by Caps lock.
41967 Only use `keyboard_map_shift' when it provides a non-zero value,
41968 otherwise fallback to `keyboard_map'.
41969
99fadbaa 419702008-02-04 Bean <bean123ch@gmail.com>
41971
41972 * Makefile.in (enable_grub_fstest): New variable.
41973
41974 * conf/common.rmk (grub_fstest_init.lst): New rule.
41975 (grub_fstest_init.h): Likewise.
41976 (grub_fstest_init.c): Likewise.
41977 (util/grub-fstest.c_DEPENDENCIES): New variable.
41978 (grub_fstest_SOURCES): Likewise.
41979
41980 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41981
41982 * util/grub-fstest.c: New file.
41983
bf567c50 419842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41985
41986 Make grub-setup handle a separate root device.
f19dbdb7 41987
bf567c50 41988 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41989 so that the root device can be compared with the destination
41990 device.
41991 When embedding the core image, if the root and destination devices
41992 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41993 0xFF.
41994 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41995
9be6b98b 419962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41997
41998 Add support for having a grub directory in a different drive. This
41999 is still only the data handling part.
f19dbdb7 42000
9be6b98b 42001 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42002 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42003 (grub_root_drive): New variable.
42004
42005 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42006 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42007 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42008 as it was.
42009
42010 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42011
42012 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42013 macro.
42014 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42015
42016 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42017 is bogus, because PXE booting does not specify any drive
42018 correctly.
42019
42020 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42021 am not sure if this is really correct.
42022
42023 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42024 is always identical to the boot drive when booting from a CD.
42025
42026 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42027 longer.
42028 (root_drive): New variable.
42029 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42030 (setup_sectors): Push %dx right after popping it, because %dh will
42031 be modified later.
42032 (copy_buffer): Restore %dx.
42033
e0ca0677 420342008-02-03 Robert Millan <rmh@aybabtu.com>
42035
42036 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42037 use `cdboot.img' for cdrom images.
42038
3b3f6629 420392008-02-03 Robert Millan <rmh@aybabtu.com>
42040
42041 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42042 only setup gfxterm when `font' command has succeeded.
42043
d42b3672 420442008-02-03 Robert Millan <rmh@aybabtu.com>
42045
42046 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42047 (grub_rescue_cmd_multiboot_loader)
42048 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42049
fa370ea6 420502008-02-03 Pavel Roskin <proski@gnu.org>
42051
e0c5dacb 42052 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42053 %edx and %esi from stack only after grub_gate_a20() is called.
42054 grub_gate_a20() clobbers %edx.
42055
f2a76e1d 420562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42057
42058 * configure.ac (AC_INIT): Bumped to 1.96.
42059
42060 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42061 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42062 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42063 video/readers/png.c.
42064
90fd32d1 420652008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42066
42067 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42068 (cdboot_img_SOURCES): New variable.
42069 (cdboot_img_ASFLAGS): New variable.
42070 (cdboot_img_LDFLAGS): New variable.
42071
42072 * boot/i386/pc/cdboot.S: New file.
42073
42074 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42075 (cd_count): Likewise.
42076 (grub_biosdisk_get_drive): Add support for cd device.
42077 (grub_biosdisk_call_hook): Likewise.
42078 (grub_biosdisk_iterate): Likewise.
42079 (grub_biosdisk_open): Likewise.
42080 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42081 (grub_biosdisk_rw): Support reading from cd device.
42082 (GRUB_MOD_INIT): Iterate cd devices.
42083
42084 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42085 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42086 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42087
42088 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42089
4020aa53 420902008-02-02 Robert Millan <rmh@aybabtu.com>
42091
42092 * commands/read.c: New file.
42093 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42094 (read_mod_SOURCES): New variable.
42095 (read_mod_CFLAGS): Likewise.
42096 (read_mod_LDFLAGS): Likewise.
42097
e03a1132 420982008-02-02 Robert Millan <rmh@aybabtu.com>
42099
42100 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42101 determining whether menu has to be displayed.
42102
58c69220 421032008-02-02 Marco Gerards <marco@gnu.org>
42104
42105 * bus/pci.c: New file.
42106
42107 * include/grub/pci.h: Likewise.
42108
42109 * include/grub/i386/pc/pci.h: Likewise.
42110
42111 * commands/lspci.c: Likewise.
42112
42113 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42114 `lspci.mod'.
42115 (pci_mod_SOURCES): New variable.
42116 (pci_mod_CFLAGS): Likewise.
42117 (pci_mod_LDFLAGS): Likewise.
42118 (lspci_mod_SOURCES): Likewise.
42119 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42120 (lspci_mod_LDFLAGS): Likewise.
58c69220 42121
c004e1b4 421222008-02-02 Bean <bean123ch@gmail.com>
42123
42124 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42125 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42126
42127 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42128 (grub_xfs_btree_node): New structure.
42129 (grub_xfs_btree_root): New structure.
42130 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42131 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42132 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42133 (GRUB_XFS_EXTENT_SIZE): Likewise.
42134 (grub_xfs_read_block): Support btree format type.
42135 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42136 Use directory block as basic unit.
42137
42138 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42139
42140 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42141 __attribute__ ((__regparm__ (1))).
42142
f95562bf 421432008-02-01 Robert Millan <rmh@aybabtu.com>
42144
42145 Correct a mistake in previous commit.
42146
42147 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42148 top.
42149 (normal/command.c_DEPENDENCIES): New variable.
42150
7d31f41f 421512008-02-01 Robert Millan <rmh@aybabtu.com>
42152
42153 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42154 top.
42155 (normal/command.c_DEPENDENCIES): New variable.
42156 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42157 * conf/i386-ieee1275.rmk: Likewise.
42158 * conf/i386-linuxbios.rmk: Likewise.
42159 * conf/i386-pc.rmk: Likewise.
42160 * conf/sparc64-ieee1275.rmk: Likewise.
42161 * conf/powerpc-ieee1275.rmk: Likewise.
42162 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42163
42164 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42165
60b6be74 421662008-02-01 Robert Millan <rmh@aybabtu.com>
42167
42168 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42169 call at beginning of function.
42170
078522ab 421712008-01-31 Pavel Roskin <proski@gnu.org>
42172
42173 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42174 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42175 (grub_mkrescue_SOURCES): Likewise.
078522ab 42176 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42177
ccaa8a5f 421782008-01-30 Robert Millan <rmh@aybabtu.com>
42179
42180 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42181 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42182 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42183 (grub_probe_SOURCES): ... to here.
42184
42185 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42186 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42187 * conf/i386-ieee1275.rmk: Likewise.
42188 * conf/i386-linuxbios.rmk: Likewise.
42189 * conf/powerpc-ieee1275.rmk: Likewise.
42190
ae5a9cd7 421912008-01-30 Tristan Gingold <gingold@free.fr>
42192
42193 * kern/rescue.c: Silently accept empty lines.
42194
70bc2ef2 421952008-01-29 Bean <bean123ch@gmail.com>
42196
42197 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42198 (real_code_2): Code cleanup and change comment style.
42199 (move_memory): Avoid using 32-bit address mode.
42200
6a4d50ea 422012008-01-29 Bean <bean123ch@gmail.com>
42202
42203 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42204 (png_mod_SOURCES): New variable.
42205 (png_mod_CFLAGS): Likewise.
42206 (png_mod_LDFLAGS): Likewise.
42207
42208 * video/readers/png.c: New file.
42209
11cc30ac 422102008-01-28 Robert Millan <rmh@aybabtu.com>
42211
42212 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42213 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42214 `ifndef GRUB_MOD_GAP' hack.
42215 * util/elf/grub-mkimage.c (add_segments): Likewise.
42216
3abc589f 422172008-01-27 Robert Millan <rmh@aybabtu.com>
42218
42219 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42220 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42221 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42222
e1907778 422232008-01-27 Robert Millan <rmh@aybabtu.com>
42224
42225 Get grub-emu to build again (including parallel builds).
42226
42227 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42228 Split into ...
42229 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42230 (normal/execute.c_DEPENDENCIES): ... this, ...
42231 (grub-emu_DEPENDENCIES): ... and this.
42232
42233 * conf/i386-efi.rmk: Likewise.
42234 * conf/i386-linuxbios.rmk: Likewise.
42235 * conf/i386-ieee1275.rmk: Likewise.
42236 * conf/powerpc-ieee1275.rmk: Likewise.
42237 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42238
2216b101 422392008-01-27 Robert Millan <rmh@aybabtu.com>
42240
42241 * NEWS: Add a few items.
42242
f75172d9 422432008-01-27 Robert Millan <rmh@aybabtu.com>
42244
42245 Fix parallel builds with grub-emu. Based on earlier commit for
42246 grub-probe and grub-setup.
42247
42248 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42249 (util/grub-emu.c_DEPENDENCIES): ... this.
42250 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42251 (util/grub-emu.c_DEPENDENCIES): ... this.
42252 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42253 (util/grub-emu.c_DEPENDENCIES): ... this.
42254 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42255 (util/grub-emu.c_DEPENDENCIES): ... this.
42256 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42257 (util/grub-emu.c_DEPENDENCIES): ... this.
42258
3f51de77 422592008-01-27 Pavel Roskin <proski@gnu.org>
42260
42261 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42262 to create a gap between _end and the modules added to the image
42263 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42264 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42265 * util/elf/grub-mkimage.c (add_segments): Likewise.
42266
2033f53e 422672008-01-26 Pavel Roskin <proski@gnu.org>
42268
42269 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42270 just return an error.
42271
22da1f6f 422722008-01-26 Bean <bean123ch@gmail.com>
42273
42274 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42275 (grub_reiserfs_get_item): Save offset of the next item.
42276 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42277
2a9525e6 422782008-01-25 Robert Millan <rmh@aybabtu.com>
42279
42280 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42281 make all filesystem sources appear together (possibly fixing omissions
42282 while at it).
42283 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42284 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42285 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42287
42288 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42289 add `kern/file.c'.
42290 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42291 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42292 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42293 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42294
42295 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42296 (probe): Add a sanity check to make sure of our ability to read
42297 requested files when probing for filesystem type.
42298
42299 * genmk.rb: Update copyright year (2007).
42300
42301 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42302 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42303 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42304 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42305 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42306 : Remove function prototypes.
42307
b95f71b5 423082008-01-25 Robert Millan <rmh@aybabtu.com>
42309
42310 Revert my previous commits (based on wrong assumption of how grub_errno
42311 works).
42312
fe6b695a 42313 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42314 * kern/file.c (grub_file_open): Likewise.
42315
d08bbb49 423162008-01-24 Pavel Roskin <proski@gnu.org>
42317
42318 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42319 that hang if GRUB tries to setup colors.
42320 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42321 colors for firmwares that don't support it.
42322 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42323 Recognize Open Hack'Ware, set flags to work around its
42324 limitations.
42325
605e36ed 423262008-01-24 Robert Millan <rmh@aybabtu.com>
42327
42328 * kern/file.c (grub_file_open): Do not account previous failures of
42329 unrelated functions when grub_errno is checked for.
42330 Reported by Oleg Strikov.
42331
bac332a1 423322008-01-24 Bean <bean123ch@gmail.com>
42333
42334 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42335 (grub_ufs_sblock): New member volume name.
42336 (grub_ufs_find_file): Fix string copy bug.
42337 (grub_ufs_label): Implement this function properly.
42338
42339 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42340 (grub_hfs_iterate_records): Use the correct file number for extents
42341 and catalog file. Fix problem in next index calculation.
42342 (grub_hfs_find_node): Replace recursive function call with loop.
42343 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42344
15c80c09 423452008-01-23 Robert Millan <rmh@aybabtu.com>
42346
42347 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42348 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42349 (grub_multiboot2_real_boot): New function prototype.
42350
42351 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42352 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42353
42354 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42355 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42356
305338fd 423572008-01-23 Robert Millan <rmh@aybabtu.com>
42358
42359 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42360 #ifdef'ed out grub_printf().
42361
3ea52685 423622008-01-23 Robert Millan <rmh@aybabtu.com>
42363
42364 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42365 grub_dprintf calls, since they make "debug=all" mode unusable.
42366 (grub_console_checkkey): Likewise.
42367
5882ae4b 423682008-01-23 Robert Millan <rmh@aybabtu.com>
42369
42370 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42371 `term/i386/pc/at_keyboard.c'.
42372 (pkglib_MODULES): Add `serial.mod'.
42373 (serial_mod_SOURCES): New variable.
42374 (serial_mod_CFLAGS): Likewise.
42375 (serial_mod_LDFLAGS): Likewise.
42376
42377 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42378 `<grub/powerpc/ieee1275/console.h>'.
42379 (grub_keyboard_controller_init): New function prototype.
42380 (grub_console_checkkey): Likewise.
42381 (grub_console_getkey): Likewise.
42382
42383 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42384 keyboard on i386.
42385
42386 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42387 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42388
06ab5303 423892008-01-23 Robert Millan <rmh@aybabtu.com>
42390
42391 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42392 present, "(memdisk)/boot/grub" becomes the default prefix.
42393
42394 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42395 a memdisk tarball with all the modules. Add --overlay=DIR option that
42396 allows users to overlay additional files into the image.
42397
dbb475a4 423982008-01-23 Robert Millan <rmh@aybabtu.com>
42399
42400 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42401 and `machine/memory.h'.
42402 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42403 (_multiboot_mod_SOURCES): New variable.
42404 (_multiboot_mod_CFLAGS): Likewise.
42405 (_multiboot_mod_LDFLAGS): Likewise.
42406 (multiboot_mod_SOURCES): Likewise.
42407 (multiboot_mod_CFLAGS): Likewise.
42408 (multiboot_mod_LDFLAGS): Likewise.
42409
42410 * include/grub/i386/ieee1275/loader.h: New file.
42411
42412 * include/grub/i386/ieee1275/machine.h: Likewise.
42413
42414 * include/grub/i386/ieee1275/memory.h: Likewise.
42415
42416 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42417 variable declaration.
42418 (grub_os_area_size): Likewise.
42419
42420 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42421 (grub_lower_mem, grub_upper_mem): New variables.
42422 (grub_stop_floppy): New function (just to make
42423 grub_multiboot2_real_boot() happy).
42424
42425 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42426 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42427 (grub_stop): New function.
42428 Include `"../realmode.S"' and `"../loader.S"'.
42429
42430 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42431 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42432
42433 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42434 rely on grub_multiboot2_real_boot() for final boot.
42435
25638629 424362008-01-22 Robert Millan <rmh@aybabtu.com>
42437
42438 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42439 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42440 device that doesn't look like an SD card.
42441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42442 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42443 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42444 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42445 found.
42446
9dad816d 424472008-01-22 Robert Millan <rmh@aybabtu.com>
42448
42449 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42450 avoid claiming over our own code.
42451
34842f2d 424522008-01-22 Bean <bean123ch@gmail.com>
42453
42454 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42455 (jpeg_mod_SOURCES): New variable.
42456 (jpeg_mod_CFLAGS): Likewise.
42457 (jpeg_mod_LDFLAGS): Likewise.
42458
42459 * video/readers/jpeg.c : New file.
42460
44023a28 424612008-01-22 Bean <bean123ch@gmail.com>
42462
42463 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42464 there are no more items.
42465
bc2d8ac6 424662008-01-21 Robert Millan <rmh@aybabtu.com>
42467
42468 * kern/mm.c (grub_mm_init_region): Improve debug message.
42469
261bd4bc 424702008-01-21 Robert Millan <rmh@aybabtu.com>
42471
42472 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42473 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42474 address.
42475 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42476 a C macro.
42477 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42478 Indicates start of upper memory.
42479 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42480 (generate_image): Abort when image size is big enough to corrupt
42481 upper memory.
42482
42483 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42484 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42485 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42486 instead of hardcoding 0xA0000.
42487 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42488 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42489 instead of hardcoding 0xA0000.
42490
f970b55e 424912008-01-21 Robert Millan <rmh@aybabtu.com>
42492
42493 * disk/memdisk.c (memdisk_size): New variable.
42494 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42495 `memdisk_size'.
42496 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42497 image to dynamic memory.
42498 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42499 `memdisk_size'. Free memdisk block.
42500
1a8b0526 425012008-01-21 Robert Millan <rmh@aybabtu.com>
42502
42503 Fix detection of very small filesystems (like tar).
42504
42505 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42506 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42507 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42508 a problem with this disk).
42509
6e9b4aab 425102008-01-21 Robert Millan <rmh@aybabtu.com>
42511
42512 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42513 on grub_biosdisk_rw_standard() error.
42514
0d8837b2 425152008-01-21 Robert Millan <rmh@aybabtu.com>
42516
42517 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42518 recent changes.
42519 * kern/elf.c: Likewise.
42520 * kern/ieee1275/ieee1275.c: Likewise.
42521 * kern/powerpc/ieee1275/openfw.c: Likewise.
42522 * term/ieee1275/ofconsole.c: Likewise.
42523
ffd36e34 425242008-01-21 Robert Millan <rmh@aybabtu.com>
42525
42526 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42527
3f0093d0 42528 * include/grub/kernel.h (grub_arch_memdisk_addr)
42529 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42530
3f0093d0 42531 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42532 (grub_arch_memdisk_size): ... to here.
ffd36e34 42533
6c391b21 425342008-01-21 Robert Millan <rmh@aybabtu.com>
42535
42536 Mostly based on bugfix from Bean.
42537
42538 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42539 attribute with hook() parameter.
42540 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42541 declaration.
42542 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42543 attribute with hook() parameter.
42544 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42545 declaration.
42546
55a581dc 425472008-01-21 Robert Millan <rmh@aybabtu.com>
42548
42549 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42550 (pkglib_MODULES): Add `memdisk.mod'.
42551 (memdisk_mod_SOURCES): New variable.
42552 (memdisk_mod_CFLAGS): Likewise.
42553 (memdisk_mod_LDFLAGS): Likewise.
42554
42555 * disk/memdisk.c: New file.
42556
42557 * include/grub/disk.h (grub_disk_dev_id): Add
42558 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42559
42560 * include/grub/i386/pc/kernel.h
42561 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42562 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42563 (grub_kernel_image_size): New variable declaration.
42564 (grub_total_module_size): Likewise.
42565 (grub_memdisk_image_size): Likewise.
42566
42567 * include/grub/i386/pc/memory.h
42568 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42569
42570 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42571 (grub_arch_memdisk_addr): New variable declaration.
42572 (grub_arch_memdisk_size): Likewise.
42573
42574 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42575 (grub_arch_memdisk_size): Likewise.
42576
42577 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42578 (codestart): Replace hardcoded `0x100000' with
42579 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42580
42581 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42582 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42583 not NULL, append the contents of the file it refers to, at the end of
42584 the compressed kernel image. Initialize `grub_memdisk_image_size'
42585 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42586 (options): Add "memdisk"|'m' option.
42587 (main): Parse --memdisk|-m option, and pass user-provided path as
42588 parameter to generate_image().
42589
3d7f54c9 425902008-01-20 Robert Millan <rmh@aybabtu.com>
42591
42592 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42593 grub_dprintf() calls from here ...
42594 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42595
0bf74728 425962008-01-20 Robert Millan <rmh@aybabtu.com>
42597
42598 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42599
42600 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42601 declaration.
42602 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42603 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42604 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42605 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42606 property).
42607 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42608 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42609
33bf70a7 426102008-01-19 Robert Millan <rmh@aybabtu.com>
42611
fe6b695a 42612 Get rid of confusing function (superseded by
33bf70a7 42613 `grub_ieee1275_get_integer_property')
42614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42615 prototype.
42616 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42617 function.
42618 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42619 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42620 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42621
e2da7d26 426222008-01-19 Robert Millan <rmh@aybabtu.com>
42623
42624 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42625 command after "shut-down", since implementations differ on which
42626 the command for halt is.
42627
59f1fd8d 426282008-01-19 Robert Millan <rmh@aybabtu.com>
42629
42630 * include/grub/i386/linuxbios/console.h: Add header protection.
42631 (grub_keyboard_controller_init): New function prototype.
42632 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42633 (KEYBOARD_COMMAND_READ): Likewise.
42634 (KEYBOARD_COMMAND_WRITE): Likewise.
42635 (KEYBOARD_SCANCODE_SET1): Likewise.
42636 (grub_keyboard_controller_write): New function.
42637 (grub_keyboard_controller_read): Likewise.
42638 (grub_keyboard_controller_init): Likewise.
42639
42640 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42641 (grub_console_init): On coreboot/LinuxBIOS, call
42642 grub_keyboard_controller_init().
42643
5f5a7c15 426442008-01-19 Robert Millan <rmh@aybabtu.com>
42645
42646 PowerPC changes provided by Pavel Roskin.
42647
42648 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42649 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42650 don't rely on cmain() doing it.
42651 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42652 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42653
1210e168 426542008-01-16 Robert Millan <rmh@aybabtu.com>
42655
42656 * include/grub/i386/linuxbios/memory.h
42657 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42658 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42659 receive `table_header' as argument. Instead, probe for it in the
42660 known memory ranges where it can be present.
42661 (grub_available_iterate): Do not pass a fixed `table_header' address
42662 to grub_linuxbios_table_iterate().
42663
3d04eab8 426642008-01-15 Robert Millan <rmh@aybabtu.com>
42665
42666 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42667 * conf/i386-ieee1275.rmk: New file.
42668 * include/grub/i386/ieee1275/console.h: Likewise.
42669 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42670 * include/grub/i386/ieee1275/kernel.h: Likewise.
42671 * include/grub/i386/ieee1275/time.h: Likewise.
42672 * kern/i386/ieee1275/init.c: Likewise.
42673 * kern/i386/ieee1275/startup.S: Likewise.
42674
d1bc1b73 426752008-01-15 Robert Millan <rmh@aybabtu.com>
42676
42677 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42678 when pointers are 32-bit (but still do set it to one when they are
42679 64-bit).
42680
66a65807 426812008-01-15 Robert Millan <rmh@aybabtu.com>
42682
42683 * include/grub/ieee1275/ieee1275.h
42684 (grub_ieee1275_get_integer_property): New function prototype.
42685
42686 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42687 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42688 grub_ieee1275_get_property() to handle endianness.
66a65807 42689
42690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42691 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42692 where appropriate.
66a65807 42693 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42694 (grub_map): Likewise.
42695 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42696
a83ccafd 426972008-01-15 Bean <bean123ch@gmail.com>
42698
42699 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42700 (grub_script_execute_cmdline): Reset grub_errno.
42701
42702 * normal/main.c (read_config_file): Reset grub_errno.
42703
42704 * normal/parse.y (script_init): New.
42705 (script): Move function and menuentry here.
42706 (delimiter): New.
42707 (command): Add delimiter at the end of command.
42708 (commands): Adjust to match the new command.
42709 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42710 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42711 (if): Use the new commands.
42712
42713 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42714
df6ecfc6 427152008-01-15 Robert Millan <rmh@aybabtu.com>
42716
42717 * normal/menu.c (run_menu): Move timeout message from here ...
42718 (print_timeout): ... to here.
42719 (run_menu): Use print_timeout() once during initial draw to print
42720 the whole message, and again in every clock tick to update only
42721 the number of seconds.
42722
87ae25eb 427232008-01-15 Robert Millan <rmh@aybabtu.com>
42724
42725 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42726 actual size of `available' from grub_ieee1275_get_property(), and
42727 restrict parsing to that bound.
42728
47bf09a4 427292008-01-15 Christian Franke <franke@computer.org>
42730
42731 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42732 (argp_program_version): Remove variable.
42733 (argp_program_bug_address): Likewise.
42734 (options): Convert from struct argp_option to struct option.
42735 (struct arguments): Remove.
42736 (parse_opt): Remove.
42737 (usage): New function.
42738 (main): Replace struct args members by simple variables.
42739 Replace argp_parse() by getopt_long().
42740 Add switch to evaluate options.
42741 Add missing "(...)" around root_dev in prefix string.
42742
c86f1469 427432008-01-14 Robert Millan <rmh@aybabtu.com>
42744
42745 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42746 for grub_ieee1275_exit(), in order to improve portability.
42747
e622c559 427482008-01-14 Robert Millan <rmh@aybabtu.com>
42749
42750 * util/grub.d/10_linux.in (prefix): Define.
42751 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42752
44cb1ec8 427532008-01-13 Pavel Roskin <proski@gnu.org>
42754
42755 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42756 grub_errno if no errors have been detected.
42757
1eb8c802 427582008-01-12 Robert Millan <rmh@aybabtu.com>
42759
42760 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42761 (grub_util_get_dev_abstraction): New function prototype.
42762
42763 * util/getroot.c: Include `<grub/util/getroot.h>'
42764 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42765 (grub_util_get_dev_abstraction): ... here (new function).
42766
42767 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42768 `PRINT_ABSTRACTION'.
42769 (probe): Probe for abstraction type when requested.
42770 (main): Understand `--target=abstraction'.
42771
42772 * util/i386/efi/grub-install.in: Add abstraction module to core
42773 image when it is found to be necessary.
42774 * util/i386/pc/grub-install.in: Likewise.
42775 * util/powerpc/ieee1275/grub-install.in: Likewise.
42776
42777 * util/update-grub_lib.in (font_path): Return system path without
42778 converting to GRUB path.
42779 * util/update-grub.in: Convert system path returned by font_path()
42780 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42781 abstraction module is needed for loading fonts (if any). Export
42782 that as `GRUB_PRELOAD_MODULES'.
42783 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42784 insmod commands).
42785
52bd3de9 427862008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42787
42788 Remove some unused code from reiserfs.
f19dbdb7 42789
52bd3de9 42790 * fs/reiserfs.c (struct grub_reiserfs_key)
42791 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42792 (struct grub_reiserfs_node_body): Removed.
42793 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42794 Likewise.
42795 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42796 Likewise.
42797 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42798 Likewise.
42799 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42800 Likewise.
42801 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42802 Likewise.
42803 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42804 Likewise.
42805 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42806 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42807 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42808
2f80039d 428092008-01-10 Robert Millan <rmh@aybabtu.com>
42810
42811 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42812 Determines if a file is garbage left by packaging systems, etc.
42813 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42814 for processing /etc/grub.d scripts.
42815 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42816 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42817 as a condition for processing Linux images.
42818
87888032 428192008-01-10 Pavel Roskin <proski@gnu.org>
42820
42821 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42822 to compile reiserfs.c on PowerPC.
42823
7e54fced 428242008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42825
42826 * kern/device.c (grub_device_iterate): Do not abort device iteration
42827 when one of the devices cannot be opened.
42828 * kern/disk.c (grub_disk_open): Do not account previous failures of
42829 unrelated functions when grub_errno is checked for.
42830
5aa541e6 428312008-01-08 Robert Millan <rmh@aybabtu.com>
42832
42833 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42834 `! grub_linux_is_bzimage', change order of address comparison to make
42835 it more intuitive, and improve "too big zImage" error message.
42836
7076340d 428372008-01-08 Robert Millan <rmh@aybabtu.com>
42838
42839 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42840 `$(update-grub_DATA)'.
42841 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42842 targets.
42843
9ca70333 428442008-01-07 Robert Millan <rmh@aybabtu.com>
42845
42846 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42847 which instruction is modified by grub-setup during installation
42848 (since it wasn't obvious by only looking at this file).
42849
38ccf575 428502008-01-07 Robert Millan <rmh@aybabtu.com>
42851
42852 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42853 listing actual TODO items.
42854
f5db4291 428552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42856
868967cf 42857 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42858 correctly.
42859 (grub_reiserfs_get_key_offset): Likewise.
42860 (grub_reiserfs_set_key_offset): Likewise.
42861 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42862 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42863
42864 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42865 better to remove the bitfield version completely.
f19dbdb7 42866
868967cf 428672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42868
f5db4291 42869 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42870 allocated from the heap, due to the fshelp implementation.
42871 (grub_reiserfs_dir): Free NODE, due to the same reason.
42872
492e6d9d 428732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42874
42875 Mostly from Vincent Pelletier:
f19dbdb7 42876
492e6d9d 42877 * fs/reiserfs.c: New file.
f19dbdb7 42878
492e6d9d 42879 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42880 (reiserfs_mod_SOURCES): New variable.
42881 (reiserfs_mod_CFLAGS): Likewise.
42882 (reiserfs_mod_LDFLAGS): Likewise.
42883
42884 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42885 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42886 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42887 normal/color.c.
42888
9ce3e7c1 428892008-01-06 Robert Millan <rmh@aybabtu.com>
42890
42891 * normal/color.c: Remove `<grub/env.h>'.
42892
f3b58148 428932008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42894
42895 * include/grub/normal.h: Include <grub/env.h>.
42896
7ac3bcfa 428972008-01-05 Robert Millan <rmh@aybabtu.com>
42898
42899 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42900 usage example with `(hd0,1)'.
fb358190 42901 Reported by Samuel Thibault.
7ac3bcfa 42902
c8ee99d7 429032008-01-05 Robert Millan <rmh@aybabtu.com>
42904
42905 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42906 (grub_linux_boot_zimage): Rename to ...
42907 (grub_linux_boot): ... this.
42908 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42909 (grub_linux_boot_zimage): Conditionalize zImage copy.
42910
42911 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42912 (grub_linux_boot_bzimage): Remove prototype.
42913 (grub_linux_boot_zimage): Rename to ...
42914 (grub_linux_boot): ... this.
42915
42916 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42917 (grub_linux_boot): Remove function.
42918
0ece25b1 429192008-01-05 Robert Millan <rmh@aybabtu.com>
42920
42921 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42922 (grub_env_write_color_highlight): Likewise.
42923 (grub_wait_after_message): Likewise.
42924
42925 * normal/color.c: New file.
42926
42927 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42928 (normal_mod_DEPENDENCIES): Likewise.
42929
42930 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42931 (normal_mod_DEPENDENCIES): Likewise.
42932
42933 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42934 (normal_mod_DEPENDENCIES): Likewise.
42935
42936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42937 (normal_mod_DEPENDENCIES): Likewise.
42938
42939 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42940 for waiting after a message is printed.
42941 * normal/main.c (read_config_file): Likewise.
42942 (grub_normal_init): Register grub_env_write_color_normal() and
42943 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42944 `color_highlight' variables as global.
42945
42946 * normal/menu.c (grub_wait_after_message): New function.
42947 (grub_color_menu_normal): New variable. Replaces ...
42948 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42949 (grub_color_menu_highlight): New variable. Replaces ...
42950 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42951 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42952 `GRUB_TERM_COLOR_STANDARD'.
42953 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42954 `normal_code' and `highlight_code' to `old_color_normal' and
42955 `old_color_highlight', respectively.
42956 (grub_menu_init_page): Update colors when drawing the menu, based on
42957 `menu_color_normal' and `menu_color_highlight' variables.
42958 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42959 a message is printed.
42960
182dd4e5 429612008-01-05 Robert Millan <rmh@aybabtu.com>
42962
42963 * kern/env.c (grub_env_context_open): Propagate hooks for global
42964 variables to new context.
42965
42966 * kern/main.c (grub_set_root_dev): Export `root' variable.
42967
ddf8f6ad 429682008-01-05 Robert Millan <rmh@aybabtu.com>
42969
42970 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42971 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42972 them.
42973
d8b43d9b 429742008-01-05 Robert Millan <rmh@aybabtu.com>
42975
42976 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42977
2bff2de3 429782008-01-04 Christian Franke <franke@computer.org>
42979
42980 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42981 of eisa_mmap.
42982
97eab917 429832008-01-03 Pavel Roskin <proski@gnu.org>
42984
42985 * kern/i386/linuxbios/init.c: Put "void" to all function
42986 declarations with no arguments.
42987 * kern/powerpc/ieee1275/init.c: Likewise.
42988 * term/i386/pc/at_keyboard.c: Likewise.
42989 * term/i386/pc/vga_text.c: Likewise.
42990 * util/grub-mkdevicemap.c: Likewise.
42991
b9416d00 429922008-01-02 Robert Millan <rmh@aybabtu.com>
42993
42994 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42995 message when loaded image is out of bounds.
42996 (grub_multiboot_load_elf64): Likewise.
42997
92695df9 429982008-01-02 Pavel Roskin <proski@gnu.org>
42999
43000 * util/grub.d/10_linux.in: Try version without ".old" when
43001 looking for initrd. It's better to use initrd from the newer
43002 kernel of the same version than no initrd at all.
43003
d98d9cad 430042008-01-01 Robert Millan <rmh@aybabtu.com>
43005
43006 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43007
dbfdce36 430082008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43009
f19dbdb7 43010 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43011 grub_video_get_active_render_target.
43012 (grub_video_adapter): Added unmap_color and get_active_render_target.
43013
f19dbdb7 43014 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43015 grub_video_get_active_render_target.
43016 (grub_video_get_info): Changed method to accept NULL pointer as an
43017 argument to allow detection of active video adapter.
43018
43019 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43020 grub_video_vbe_unmap_color_int.
43021 Added grub_video_vbe_unmap_color and
43022 grub_video_vbe_get_active_render_target.
43023 (grub_video_vbe_adapter): Added unmap_color and
43024 get_active_render_target.
43025
f19dbdb7 43026 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43027 with grub_video_vbe_unmap_color_int.
43028
43029 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43030 (DEFAULT_NORMAL_COLOR): Likewise.
43031 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43032 (DEFAULT_FG_COLOR): Removed.
43033 (DEFAULT_BG_COLOR): Likewise.
43034 (DEFAULT_CURSOR_COLOR): Changed value.
43035 (grub_virtual_screen): Added standard_color_setting,
43036 normal_color_setting, highlight_color_setting and term_color.
43037 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43038 (bitmap_width): Added.
43039 (bitmap_height): Likewise.
43040 (bitmap): Likewise.
43041 (set_term_color): Likewise.
43042 (grub_virtual_screen_setup): Changed to use new terminal coloring
43043 settings.
43044 (grub_gfxterm_init): Added init for bitmap.
43045 (grub_gfxterm_fini): Added destroy for bitmap.
43046 (redraw_screen_rect): Updated to use background bitmap and new
43047 terminal coloring.
43048 (scroll_up): Added optimization for case when there is no bitmap.
43049 (grub_gfxterm_cls): Fixed to use correct background color.
43050 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43051 coloring.
43052 (grub_virtual_screen_setcolor): Likewise.
43053 (grub_virtual_screen_getcolor): Added.
43054 (grub_gfxterm_background_image_cmd): Likewise.
43055 (grub_video_term): Added setcolor and getcolor.
43056 (MOD_INIT): Added registration of background_image command.
43057 (MOD_TERM): Added unregistration for background_image command.
43058
c3c20931 430592007-12-30 Pavel Roskin <proski@gnu.org>
43060
43061 * loader/multiboot_loader.c: Fix multiboot command
43062 unregistration. Fix all typos in the word "multiboot".
43063
df266716 430642007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43065
43066 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43067 support for initrd names used in Fedora.
43068
fc6e896c 430692007-12-26 Bean <bean123ch@gmail.com>
43070
43071 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43072 (cpio_mod_SOURCES): New variable.
43073 (cpio_mod_CFLAGS): Likewise.
43074 (cpio_mod_LDFLAGS): Likewise.
43075
43076 * fs/cpio.c: New file.
43077
43078 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43079
43080 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43081
43082 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43083
43084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43085
533110ad 430862007-12-25 Robert Millan <rmh@aybabtu.com>
43087
43088 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43089 (grub_getcolor): New function.
43090
43091 * kern/term.c (grub_getcolor): New function.
43092 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43093 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43094 (print_entry): Set normal and highlight colors to
43095 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43096 respectively, before printing and restore them to old
43097 values afterwards.
43098 (grub_menu_init_page): Likewise. Fill an additional colored space
43099 that would otherwise be left blank.
43100
43101 * term/efi/console.c (grub_console_getcolor): New function.
43102 (struct grub_console_term.getcolor): New variable.
43103 * term/i386/pc/console.c (grub_console_getcolor): New function.
43104 (struct grub_console_term.getcolor): New variable.
43105 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43106 (struct grub_console_term.getcolor): New variable.
43107
43108 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43109 (struct grub_console_term.setcolor): Remove variable.
43110 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43111 (struct grub_console_term.setcolor): Remove variable.
43112 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43113 (struct grub_console_term.setcolor): Remove variable.
43114 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43115 (struct grub_console_term.setcolor): Remove variable.
43116
4931827f 431172007-12-25 Robert Millan <rmh@aybabtu.com>
43118
43119 * configure.ac: Search for possible unifont.hex locations, and
43120 define UNIFONT_HEX if found.
43121
43122 * Makefile.in (UNIFONT_HEX): Define variable.
43123 (DATA): Rename to ...
43124 (PKGLIB): ... this. Update all users.
43125 (PKGDATA): New variable.
43126 (pkgdata_IMAGES): Rename to ...
43127 (pkglib_IMAGES): ... this. Update all users.
43128 (pkgdata_MODULES): Rename to ...
43129 (pkglib_MODULES): ... this. Update all users.
43130 (pkgdata_PROGRAMS): Rename to ...
43131 (pkglib_PROGRAMS): ... this. Update all users.
43132 (pkgdata_DATA): Rename to ...
43133 (pkglib_DATA): ... this. Update all users.
43134 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43135 (unicode.pff, ascii.pff): New rules.
43136 (all-local): Add `$(PKGDATA)' dependency.
43137 (install-local): Process `$(PKGDATA)'.
43138
43139 * util/update-grub_lib.in (font_path): Search for *.pff files in
43140 a few more locations, including `${pkgdata}'.
43141
57e57e31 431422007-12-23 Robert Millan <rmh@aybabtu.com>
43143
43144 Patch from Bean <bean123ch@gmail.com>:
43145 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43146 `size'.
43147
4bc72aa9 431482007-12-21 Bean <bean123ch@gmail.com>
43149
43150 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43151 (ntfscomp_mod_SOURCES): New variable.
43152 (ntfscomp_mod_CFLAGS): Likewise.
43153 (ntfscomp_mod_LDFLAGS): Likewise.
43154
43155 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43156 (grub_probe_SOURCES): Likewise.
43157 (grub_emu_SOURCES): Likewise.
43158
43159 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43160 (grub_emu_SOURCES): Likewise.
43161
43162 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43163 (grub_emu_SOURCES): Likewise.
43164
43165 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43166 (grub_emu_SOURCES): Likewise.
43167
43168 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43169 (read_run_list): Renamed to grub_ntfs_read_run_list.
43170 (decomp_nextvcn): Moved to ntfscomp.c.
43171 (decomp_getch): Likewise.
43172 (decomp_get16): Likewise.
43173 (decomp_block): Likewise.
43174 (read_block): Likewise.
43175 (read_data): Partially moved to ntfscomp.c.
43176 (fixup): Change unsigned to grub_uint16_t.
43177 (read_mft): Change unsigned long to grub_uint32_t.
43178 (read_attr): Likewise.
43179 (read_data): Likewise.
43180 (read_run_data): Likewise.
43181 (read_run_list): Likewise.
43182 (read_mft): Likewise.
43183
43184 * fs/ntfscomp.c: New file.
43185
43186 * include/grub/ntfs.h: New file.
43187
af680a87 431882007-12-16 Robert Millan <rmh@aybabtu.com>
43189
43190 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43191 IDE disk check, since Linux is known to support 20 IDE disks.
43192 Reported by Colin Watson.
43193
84be7599 431942007-12-15 Bean <bean123ch@gmail.com>
43195
43196 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43197 (lnxboot_img_SOURCES): New variable.
43198 (lnxboot_img_ASFLAGS): Likewise.
43199 (lnxboot_img_LDFLAGS): Likewise.
43200
43201 * boot/i386/pc/lnxboot.S: New file.
43202
6af9db01 432032007-11-24 Pavel Roskin <proski@gnu.org>
43204
43205 * configure.ac: Test if '--build-id=none' is supported by the
43206 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43207 objcopy to generate incorrect binary files (binutils
43208 2.17.50.0.18-1 as shipped by Fedora 8).
43209 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43210 linking, so that build ID doesn't break the test.
43211
7361cfe6 432122007-11-24 Pavel Roskin <proski@gnu.org>
43213
43214 * include/grub/i386/time.h: use "void" in the argument list
43215 of grub_cpu_idle().
43216 * include/grub/powerpc/time.h: Likewise.
43217 * include/grub/sparc64/time.h: Likewise.
43218
1593e10c 432192007-11-18 Christian Franke <franke@computer.org>
43220
43221 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43222 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43223 This fixes the problem that function keys did not work in grub-emu.
43224
3b8db1a8 432252007-11-18 Christian Franke <franke@computer.org>
43226
43227 * disk/host.c (grub_host_open): Remove attribute unused from
43228 name parameter. Add check for "host". This fixes the problem
43229 that grub-emu does not find partitions.
43230
2e29408d 432312007-11-18 Christian Franke <franke@computer.org>
43232
43233 * util/hostfs.c (is_dir): New function.
43234 (grub_hostfs_dir): Handle missing dirent.d_type case.
43235 (grub_hostfs_read): Add missing fseek().
43236 (grub_hostfs_label): Clear label pointer. This fixes a crash
43237 of grub-emu on "ls (host)".
43238
398cd047 432392007-11-18 Christian Franke <franke@computer.org>
43240
43241 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43242 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43243 to 64 bit boundary by default.
43244
c405c391 432452007-11-18 Bean <bean123ch@gmail.com>
43246
43247 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43248 (hexdump_mod_SOURCES): New variable.
43249 (hexdump_mod_CFLAGS): Likewise.
43250 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43251
c405c391 43252 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43253
43254 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43255
43256 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43257
43258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43259
43260 * include/grub/hexdump.h: New file.
43261
43262 * commands/hexdump.c: New file.
43263
5cced7fd 432642007-11-10 Robert Millan <rmh@aybabtu.com>
43265
43266 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43267 in grub_outb() calls.
43268 (beep_on): Likewise.
43269
8b714eb0 432702007-11-10 Christian Franke <franke@computer.org>
43271
43272 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43273 (grub_menu_run): Likewise.
43274
ce0f1839 432752007-11-10 Robert Millan <rmh@aybabtu.com>
43276
43277 * include/grub/i386/efi/machine.h: New file.
43278 * include/grub/i386/linuxbios/machine.h: Likewise.
43279 * include/grub/i386/pc/machine.h: Likewise.
43280 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43281 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43282
43283 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43284 (serial_hw_io_addr): New variable.
43285 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43286 instead of `(unsigned short *) 0x400'.
43287
270c237d 432882007-11-10 Bean <bean123ch@gmail.com>
43289
43290 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43291
a87783bf 432922007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43293
43294 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43295 (vga_mod_SOURCES): Added.
43296 (vga_mod_CFLAGS): Likewise.
43297 (vga_mod_LDFLAGS): Likewise.
43298
43299 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43300 grub_outb() calls.
43301 (set_map_mask): Likewise.
43302 (set_read_map): Likewise.
43303 (set_read_address): Likewise.
43304 (vga_font): Removed variable.
43305 (get_vga_glyph): Removed function.
43306 (invalidate_char): Likewise.
43307 (write_char): Changed to use grub_font_get_glyph() for font
43308 information.
43309 (grub_vga_putchar): Likewise.
43310 (grub_vga_getcharwidth): Likewise.
43311
6433b448 433122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43313
43314 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43315 flags.
43316 (pxeboot_img_LDFLAGS): Likewise.
43317 (diskboot_img_LDFLAGS): Likewise.
43318 (kernel_img_LDFLAGS): Likewise.
43319
49178511 433202007-11-06 Robert Millan <rmh@aybabtu.com>
43321
43322 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43323 in grub_outb() calls.
43324 (serial_hw_init): Likewise.
43325
53b052de 433262007-11-05 Robert Millan <rmh@aybabtu.com>
43327
43328 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43329 spaces. Skip non-regular files.
43330
5ab33bba 433312007-11-05 Robert Millan <rmh@aybabtu.com>
43332
43333 * kern/disk.c (grub_disk_firmware_fini)
43334 (grub_disk_firmware_is_tainted): New variables.
43335
43336 * include/grub/disk.h (grub_disk_firmware_fini)
43337 (grub_disk_firmware_is_tainted): Likewise.
43338
43339 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43340 (grub_disk_biosdisk_fini): ... to here.
43341 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43342 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43343 is set. Register grub_disk_biosdisk_fini() in
43344 `grub_disk_firmware_fini'.
43345
43346 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43347 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43348 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43349 to finish existing firmware disk interface.
43350
43351 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43352 (ata_mod_SOURCES): New variable.
43353 (ata_mod_CFLAGS): Likewise.
43354 (ata_mod_LDFLAGS): Likewise.
43355
0149ab7c 433562007-11-05 Robert Millan <rmh@aybabtu.com>
43357
43358 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43359 (grub_ata_wait): Reimplement using grub_millisleep().
43360
43361 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43362 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43363
be7ac41e 433642007-11-03 Marco Gerards <marco@gnu.org>
43365
43366 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43367 (CRTC_ADDR_PORT): New macro.
43368 (CRTC_DATA_PORT): Likewise.
43369 (CRTC_CURSOR): Likewise.
43370 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43371 (CRTC_CURSOR_ADDR_LOW): Likewise.
43372 (update_cursor): New function.
43373 (grub_console_real_putchar): Call `update_cursor'.
43374 (grub_console_gotoxy): Likewise.
43375 (grub_console_cls): Set the default color when clearing the
43376 screen.
43377 (grub_console_setcursor): Implemented.
43378
bb06ab2e 433792007-11-03 Marco Gerards <marco@gnu.org>
43380
43381 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43382 become activate.
43383 (grub_ata_pio_write): Likewise.
43384
43385 (grub_atapi_identify): Wait after issuing an ATA command.
43386 (grub_atapi_packet): Likewise.
43387 (grub_ata_identify): Likewise.
43388 (grub_ata_readwrite): Likewise.
43389
cf8f780b 433902007-11-03 Marco Gerards <marco@gnu.org>
43391
43392 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43393 (grub_ata_pio_write): Likewise.
43394 (grub_ata_readwrite): Use `grub_error', instead of
43395 returning `grub_errno'.
43396
ed649e54 433972007-11-03 Marco Gerards <marco@gnu.org>
43398
43399 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43400 grub_ata_pio_write once for every single sector, instead of for
43401 multiple sectors.
43402
ca25d8f0 434032007-10-31 Robert Millan <rmh@aybabtu.com>
43404
43405 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43406
43407 * conf/i386-linuxbios.rmk: New file.
43408
43409 * kern/i386/pc/hardware.c: Likewise.
43410 * term/i386/pc/at_keyboard.c: Likewise.
43411 * term/i386/pc/vga_text.c: Likewise.
43412
43413 * include/grub/i386/linuxbios/boot.h: Likewise.
43414 * include/grub/i386/linuxbios/console.h: Likewise.
43415 * include/grub/i386/linuxbios/init.h: Likewise.
43416 * include/grub/i386/linuxbios/kernel.h: Likewise.
43417 * include/grub/i386/linuxbios/loader.h: Likewise.
43418 * include/grub/i386/linuxbios/memory.h: Likewise.
43419 * include/grub/i386/linuxbios/serial.h: Likewise.
43420 * include/grub/i386/linuxbios/time.h: Likewise.
43421
43422 * kern/i386/linuxbios/init.c: Likewise.
43423 * kern/i386/linuxbios/startup.S: Likewise.
43424 * kern/i386/linuxbios/table.c: Likewise.
43425
e911ecc1 434262007-10-31 Marco Gerards <marco@gnu.org>
43427
43428 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43429 (ata_mod_SOURCES): New variable.
43430 (ata_mod_CFLAGS): Likewise.
43431 (ata_mod_LDFLAGS): Likewise.
43432
43433 * disk/ata.c: New file.
43434
43435 * include/grub/disk.h (grub_disk_dev_id): Add
43436 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43437
7f66d0e0 434382007-10-31 Robert Millan <rmh@aybabtu.com>
43439
43440 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43441 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43442
43443 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43444 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43445
43446 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43447 `<grub/types.h>'.
43448
43449 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43450
5cd7dd46 434512007-10-27 Robert Millan <rmh@aybabtu.com>
43452
3236ca65 43453 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43454
2ebfc90f 434552007-10-22 Robert Millan <rmh@aybabtu.com>
43456
43457 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43458 `"../realmode.S"'.
43459 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43460
73fcb0f3 434612007-10-22 Robert Millan <rmh@aybabtu.com>
43462
43463 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43464 (pkgdata_MODULES): Add `biosdisk.mod'.
43465 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43466 variables.
43467
43468 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43469 (grub_biosdisk_init): Replace with ...
43470 (GRUB_MOD_INIT(biosdisk)): ... this.
43471 (grub_biosdisk_fini): Replace with ...
43472 (GRUB_MOD_FINI(biosdisk)): ... this.
43473
43474 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43475 (grub_machine_init): Remove call to grub_biosdisk_init().
43476 (grub_machine_fini): Remove call to grub_machine_fini().
43477
43478 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43479
3381d274 434802007-10-22 Robert Millan <rmh@aybabtu.com>
43481
43482 * include/grub/time.h: New file.
43483 * include/grub/i386/time.h: Likewise.
43484 * include/grub/powerpc/time.h: Likewise.
43485 * include/grub/sparc64/time.h: Likewise.
43486
43487 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43488 instances to ...
43489 (KERNEL_MACHINE_TIME_HEADER): ... this.
43490 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43491 instances to ...
43492 (KERNEL_MACHINE_TIME_HEADER): ... this.
43493 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43494 instances to ...
43495 (KERNEL_MACHINE_TIME_HEADER): ... this.
43496
43497 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43498 (grub_millisleep): New function.
43499 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43500 (grub_millisleep): New function.
43501 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43502 Remove `grub/machine/time.h' include.
43503 (grub_millisleep): New function.
43504 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43505 Remove `grub/machine/time.h' include.
43506 (grub_millisleep): New function.
43507
43508 * include/grub/misc.h (grub_div_roundup): New function.
43509
43510 * kern/misc.c: Include `<grub/time.h>'.
43511 (grub_millisleep_generic): New function.
43512
43513 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43514 Add `time.h'.
43515 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43516 Add `time.h'.
43517 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43518 `machine/time.h'. Add `time.h'.
43519 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43520
a39a0312 435212007-10-21 Robert Millan <rmh@aybabtu.com>
43522
43523 * include/grub/misc.h (grub_max): New function.
43524
2aad70e2 435252007-10-21 Robert Millan <rmh@aybabtu.com>
43526
43527 * util/misc.c (grub_util_info): Call fflush() before returning.
43528
54b71c4b 435292007-10-20 Robert Millan <rmh@aybabtu.com>
43530
43531 * genmk.rb (Image): Copy `extra_flags' from here ...
43532 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43533
43534 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43535 to `argc' and `args' arguments.
43536
a979f513 435372007-10-17 Robert Millan <rmh@aybabtu.com>
43538
43539 * kern/i386/loader.S: New file.
43540
43541 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43542 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43543 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43544 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43545 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43546 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43547 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43548 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43549 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43550 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43551 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43552 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43553 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43554 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43555
43556 * kern/i386/realmode.S: New file.
43557
43558 * kern/i386/pc/startup.S (protstack): Moved from here ...
43559 * kern/i386/realmode.S (protstack)... to here.
43560 * kern/i386/pc/startup.S (gdt): Moved from here ...
43561 * kern/i386/realmode.S (gdt)... to here.
43562 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43563 * kern/i386/realmode.S (prot_to_real)... to here.
43564
43565 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43566 `kern/i386/realmode.S'.
43567
825fc8fd 435682007-10-17 Robert Millan <rmh@aybabtu.com>
43569
43570 * include/grub/i386/loader.h: New file.
43571
43572 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43573 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43574 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43575 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43576 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43577 * include/grub/i386/loader.h (grub_linux_prot_size)
43578 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43579 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43580 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43581 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43582
43583 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43584
e179b2f4 435852007-10-15 Robert Millan <rmh@aybabtu.com>
43586
43587 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43588 filesystem when dev->disk is unset.
43589 Do probe for filesystem even when dev->disk->has_partitions is set.
43590 In case a filesystem is found, always report it.
43591 In case it isn't, if dev->disk->has_partitions is set, report that
43592 a partition table was found instead of reporting that no filesystem
43593 could be identified.
43594
5db82af6 435952007-10-12 Robert Millan <rmh@aybabtu.com>
43596
43597 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43598 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43599
68f6ac74 43600 * include/grub/types.h (grub_host_to_target16): New macro.
43601 (grub_host_to_target32): Likewise.
43602 (grub_host_to_target64): Likewise.
43603 (grub_target_to_host16): Likewise.
43604 (grub_target_to_host32): Likewise.
43605 (grub_target_to_host64): Likewise.
5db82af6 43606
43607 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43608 Renamed from to ...
43609 (GRUB_MOD_ALIGN): ...this. Update all users.
43610
68f6ac74 43611 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43612 grub_host_to_target32.
43613 Replace grub_be_to_cpu32 with grub_target_to_host32.
43614 (load_modules): Likewise.
43615 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43616 Replace grub_be_to_cpu32 with grub_target_to_host32.
43617 Replace grub_cpu_to_be16 with grub_host_to_target16.
43618 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43619
3cf497cc 436202007-10-12 Robert Millan <rmh@aybabtu.com>
43621
43622 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43623 * util/elf/grub-mkimage.c: ... here.
43624
43625 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43626 `util/powerpc/ieee1275/grub-mkimage.c'.
43627
c8cc3692 436282007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43629
c8cc3692 43630 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43631 and make it easier to figure out.
43632 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43633 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43634 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43635 leave us with less than HEAP_MIN_SIZE total heap.
43636 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43637
5c58b791 436382007-10-03 Robert Millan <rmh@aybabtu.com>
43639
43640 * include/grub/i386/io.h: New file.
43641 * commands/i386/pc/play.c (inb): Removed.
43642 (outb): Removed.
43643 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43644 with grub_outb().
afcd2ef8 43645 * term/i386/pc/serial.c (inb): Removed.
43646 (outb): Removed.
43647 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43648 with grub_outb().
43649 * term/i386/pc/vga.c (inb): Removed.
43650 (outb): Removed.
43651 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43652 with grub_outb().
5c58b791 43653
1a477ed6 436542007-10-02 Robert Millan <rmh@aybabtu.com>
43655
43656 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43658 Reported by Marcin Kurek.
43659
6b5d80fa 436602007-09-07 Robert Millan <rmh@aybabtu.com>
43661
43662 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43663 SmartFirmware version updates (as released by Sven Luther), and avoid
43664 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43665 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43666 known broken.
43667
5618afbf 436682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43669
43670 From Hitoshi Ozeki:
43671 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43672 when merging two regions.
43673
6139dcd9 436742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43675
508e39ee 43676 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43677 * normal/completion.c (grub_normal_do_completion): Likewise.
43678 Reported by Hitoshi Ozeki.
43679
436802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43681
6139dcd9 43682 Do not use devices at boot in chainloading.
f19dbdb7 43683
6139dcd9 43684 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43685 (boot_part_addr): Likewise.
43686 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43687 with BOOT_DRIVE and BOOT_PART_ADDR.
43688 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43689 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43690
38da6516 436912007-08-29 Robert Millan <rmh@aybabtu.com>
43692
43693 Patch from Simon Peter <dn.tlp@gmx.net>:
43694 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43695 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43696 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43697 util/i386/pc/grub-setup.c_DEPENDENCIES.
43698 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43699 util/grub-probe.c_DEPENDENCIES.
43700 * conf/powerpc-ieee1275.rmk: Likewise.
43701
29d0928c 437022007-08-28 Robert Millan <rmh@aybabtu.com>
43703
43704 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43705 to tell grub-mkdevicemap how to name devices.
43706 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43707 feature).
43708
43709 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43710 util/i386/get_disk_name.c.
43711 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43712 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43713 util/ieee1275/get_disk_name.c.
43714
43715 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43716
43717 * DISTLIST: Add util/i386/get_disk_name.c and
43718 util/ieee1275/get_disk_name.c.
43719
43720 * util/grub-mkdevicemap.c: Replace device naming logic with
43721 grub_util_get_disk_name() calls.
43722
5a0d3cca 437232007-08-20 Robert Millan <rmh@aybabtu.com>
43724
43725 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43726 (so that it works for both plural and singular quantities).
43727
8b72db2f 437282007-08-05 Robert Millan <rmh@aybabtu.com>
43729
43730 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43731 so that [xz] isn't taken into account when determining order.
43732
352466bf 437332007-08-02 Marco Gerards <marco@gnu.org>
43734
43735 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43736 `include/multiboot2.h', `include/grub/elfload.h',
43737 `include/multiboot.h', `include/grub/multiboot.h',
43738 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43739 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43740 `kern/elf.c', `loader/multiboot_loader.c',
43741 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43742 `loader/i386/pc/multiboot2.c',
43743 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43744 `util/i386/pc/grub-mkrescue.in'. Remove
43745 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43746 `include/grub/i386/pc/util/biosdisk.h' and
43747 `include/grub/powerpc/ieee1275/multiboot.h'.
43748
8f096014 437492007-08-02 Bean <bean123ch@gmail.com>
43750
43751 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43752 (ntfs_mod_SOURCES): New variable.
43753 (ntfs_mod_CFLAGS): Likewise.
43754 (ntfs_mod_LDFLAGS): Likewise.
43755
43756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43757 (grub_probe_SOURCES): Likewise.
43758 (grub_emu_SOURCES): Likewise.
43759
43760 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43761 (grub_emu_SOURCES): Likewise.
43762
43763 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43764 (grub_emu_SOURCES): Likewise.
f19dbdb7 43765
8f096014 43766 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43767
43768 * fs/ntfs.c: New file.
43769
9959f7db 437702007-08-02 Bean <bean123ch@gmail.com>
43771
43772 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43773
43774 * file.h (grub_file): Likewise.
43775
43776 * fshelp.h (grub_fshelp_read_file): Likewise.
43777
43778 * util/i386/pc/grub-setup.c (setup): Likewise.
43779 (save_first_sector): Likewise.
43780 (save_blocklists): Likewise.
f19dbdb7 43781
9959f7db 43782 * fs/affs.c (grub_affs_read_file): Likewise.
43783
43784 * fs/ext2.c (grub_ext2_read_file): Likewise.
43785
43786 * fs/fat.c (grub_fat_read_data): Likewise.
43787
43788 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43789
43790 * fs/hfs.c (grub_hfs_read_file): Likewise.
43791
43792 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43793
43794 * fs/jfs.c (grub_jfs_read_file): Likewise.
43795
43796 * fs/minix.c (grub_minix_read_file): Likewise.
43797
43798 * fs/sfs.c (grub_sfs_read_file): Likewise.
43799
43800 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43801
9959f7db 43802 * fs/xfs.c (grub_xfs_read_file): Likewise.
43803
43804 * command/blocklist.c (read_blocklist): Likewise.
43805 (print_blocklist): Likewise.
43806
0a203f83 438072007-08-02 Marco Gerards <marco@gnu.org>
43808
43809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43810 `util/hostfs.c'.
43811
43812 * disk/host.c: New file.
43813
43814 * util/hostfs.c: Likewise.
43815
43816 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43817 return `GRUB_ERR_BAD_FS'.
43818 * fs/sfs.c (grub_sfs_mount): Likewise.
43819 * fs/xfs.c (grub_xfs_mount): Likewise.
43820
43821 * include/grub/disk.h (enum grub_disk_dev_id): Add
43822 `GRUB_DISK_DEVICE_HOST_ID'.
43823
43824 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43825
e5dfe777 438262007-07-24 Jerone Young <jerone@gmail.com>
43827
f19dbdb7 43828 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43829 modules for compilation.
43830 * conf/powerpc-ieee1275.rmk: Likewise.
43831
43832 * include/multiboot.h: Move multiboot definitions to one file. Rename
43833 many definitions to not get grub specific.
43834 * include/multiboot2.h: Create header with multiboot 2 definitions.
43835 * include/grub/multiboot.h: Header for grub specific function
43836 prototypes and definitions.
43837 * include/grub/multiboot2.h: Likewise.
43838 * include/grub/multiboot_loader.h: Likewise.
43839 * include/grub/i386/pc/multiboot.h: Removed.
43840 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43841
43842 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43843 and 2 to allow for one multiboot and module commands.
43844 * loader/multiboot2.c: Add multiboot2 functionality.
43845 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43846 and definition names.
43847 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43848 2 functions.
43849 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43850 ieee1275 specific multiboot2 code.
43851
43852 * kern/i386/pc/startup.S: Change headers and definition names for
43853 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43854
daf0f0ba 438552007-07-22 Robert Millan <rmh@aybabtu.com>
43856
43857 * geninitheader.sh: Process file specified in first parameter rather
43858 than hardcoding grub_modules_init.lst.
fe6b695a 43859 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43860 than hardcoding grub_modules_init.h.
43861
43862 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43863 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43864 grub_probe_init.[ch] and grub_setup_init.[ch].
43865
43866 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43867 grub_modules_init.h with grub_emu_init.h.
43868 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43869 grub_probe_init.[ch] files.
43870 * conf/i386-efi.rmk: Likewise.
43871 * conf/i386-pc.rmk: Likewise.
43872 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43873 grub_setup_init.[ch] files.
43874
43875 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43876 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43877 to initialize modules rather than a list of hardcoded functions.
43878 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43879 grub_init_all() to initialize modules rather than a list of hardcoded
43880 functions.
43881
54cdc1cc 438822007-07-22 Robert Millan <rmh@aybabtu.com>
43883
43884 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43885 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43886
ad0686cc 438872007-07-22 Robert Millan <rmh@aybabtu.com>
43888
43889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43890 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43891 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43892 flag when running on SmartFirmware.
43893 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43894 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43895 was set.
43896
43897 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43898 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43899 rather than decreasing it.
43900
43901 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43902 there's not enough space to do it, fail in the same way as when it
43903 can't be done because there are no partitions.
43904
43905 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43906 when nvsetenv failed.
43907
969c02ec 439082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43911 because this rule is automatically generated.
43912 (grub-mkrescue): Removed for the same reason as above.
43913
5a79f472 439142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43915
43916 Migrate to GNU General Public License Version 3.
f19dbdb7 43917
5a79f472 43918 * COPYING: Replaced with the plain text version of GPLv3.
43919
43920 * config.guess: Updated from gnulib.
43921 * config.sub: Likewise.
43922
43923 * geninit.sh: Output a GPLv3 copyright notice.
43924 * geninitheader.sh: Likewise.
43925 * genmodsrc.sh: Likewise.
43926 * gensymlist.sh.in: Likewise.
43927
43928 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43929 * boot/i386/pc/diskboot.S: Likewise.
43930 * boot/i386/pc/pxeboot.S: Likewise.
43931 * commands/blocklist.c: Likewise.
43932 * commands/boot.c: Likewise.
43933 * commands/cat.c: Likewise.
43934 * commands/cmp.c: Likewise.
43935 * commands/configfile.c: Likewise.
43936 * commands/echo.c: Likewise.
43937 * commands/help.c: Likewise.
43938 * commands/ls.c: Likewise.
43939 * commands/search.c: Likewise.
43940 * commands/terminal.c: Likewise.
43941 * commands/test.c: Likewise.
43942 * commands/videotest.c: Likewise.
43943 * commands/i386/cpuid.c: Likewise.
43944 * commands/i386/pc/halt.c: Likewise.
43945 * commands/i386/pc/play.c: Likewise.
43946 * commands/i386/pc/reboot.c: Likewise.
43947 * commands/i386/pc/vbeinfo.c: Likewise.
43948 * commands/i386/pc/vbetest.c: Likewise.
43949 * commands/ieee1275/halt.c: Likewise.
43950 * commands/ieee1275/reboot.c: Likewise.
43951 * commands/ieee1275/suspend.c: Likewise.
43952 * disk/loopback.c: Likewise.
43953 * disk/lvm.c: Likewise.
43954 * disk/raid.c: Likewise.
43955 * disk/efi/efidisk.c: Likewise.
43956 * disk/i386/pc/biosdisk.c: Likewise.
43957 * disk/ieee1275/ofdisk.c: Likewise.
43958 * font/manager.c: Likewise.
43959 * fs/affs.c: Likewise.
43960 * fs/ext2.c: Likewise.
43961 * fs/fat.c: Likewise.
43962 * fs/fshelp.c: Likewise.
43963 * fs/hfs.c: Likewise.
43964 * fs/hfsplus.c: Likewise.
43965 * fs/iso9660.c: Likewise.
43966 * fs/jfs.c: Likewise.
43967 * fs/minix.c: Likewise.
43968 * fs/sfs.c: Likewise.
43969 * fs/ufs.c: Likewise.
43970 * fs/xfs.c: Likewise.
43971 * hello/hello.c: Likewise.
43972 * include/grub/acorn_filecore.h: Likewise.
43973 * include/grub/arg.h: Likewise.
43974 * include/grub/bitmap.h: Likewise.
43975 * include/grub/boot.h: Likewise.
43976 * include/grub/cache.h: Likewise.
43977 * include/grub/device.h: Likewise.
43978 * include/grub/disk.h: Likewise.
43979 * include/grub/dl.h: Likewise.
43980 * include/grub/elfload.h: Likewise.
43981 * include/grub/env.h: Likewise.
43982 * include/grub/err.h: Likewise.
43983 * include/grub/file.h: Likewise.
43984 * include/grub/font.h: Likewise.
43985 * include/grub/fs.h: Likewise.
43986 * include/grub/fshelp.h: Likewise.
43987 * include/grub/gzio.h: Likewise.
43988 * include/grub/hfs.h: Likewise.
43989 * include/grub/kernel.h: Likewise.
43990 * include/grub/loader.h: Likewise.
43991 * include/grub/lvm.h: Likewise.
43992 * include/grub/misc.h: Likewise.
43993 * include/grub/mm.h: Likewise.
43994 * include/grub/net.h: Likewise.
43995 * include/grub/normal.h: Likewise.
43996 * include/grub/parser.h: Likewise.
43997 * include/grub/partition.h: Likewise.
43998 * include/grub/pc_partition.h: Likewise.
43999 * include/grub/raid.h: Likewise.
44000 * include/grub/rescue.h: Likewise.
44001 * include/grub/script.h: Likewise.
44002 * include/grub/setjmp.h: Likewise.
44003 * include/grub/symbol.h: Likewise.
44004 * include/grub/term.h: Likewise.
44005 * include/grub/terminfo.h: Likewise.
44006 * include/grub/tparm.h: Likewise.
44007 * include/grub/types.h: Likewise.
44008 * include/grub/video.h: Likewise.
44009 * include/grub/efi/api.h: Likewise.
44010 * include/grub/efi/chainloader.h: Likewise.
44011 * include/grub/efi/console.h: Likewise.
44012 * include/grub/efi/console_control.h: Likewise.
44013 * include/grub/efi/disk.h: Likewise.
44014 * include/grub/efi/efi.h: Likewise.
44015 * include/grub/efi/pe32.h: Likewise.
44016 * include/grub/efi/time.h: Likewise.
44017 * include/grub/i386/linux.h: Likewise.
44018 * include/grub/i386/setjmp.h: Likewise.
44019 * include/grub/i386/types.h: Likewise.
44020 * include/grub/i386/efi/kernel.h: Likewise.
44021 * include/grub/i386/efi/loader.h: Likewise.
44022 * include/grub/i386/efi/time.h: Likewise.
44023 * include/grub/i386/pc/biosdisk.h: Likewise.
44024 * include/grub/i386/pc/boot.h: Likewise.
44025 * include/grub/i386/pc/chainloader.h: Likewise.
44026 * include/grub/i386/pc/console.h: Likewise.
44027 * include/grub/i386/pc/init.h: Likewise.
44028 * include/grub/i386/pc/kernel.h: Likewise.
44029 * include/grub/i386/pc/loader.h: Likewise.
44030 * include/grub/i386/pc/memory.h: Likewise.
44031 * include/grub/i386/pc/multiboot.h: Likewise.
44032 * include/grub/i386/pc/serial.h: Likewise.
44033 * include/grub/i386/pc/time.h: Likewise.
44034 * include/grub/i386/pc/vbe.h: Likewise.
44035 * include/grub/i386/pc/vbeblit.h: Likewise.
44036 * include/grub/i386/pc/vbefill.h: Likewise.
44037 * include/grub/i386/pc/vbeutil.h: Likewise.
44038 * include/grub/i386/pc/vga.h: Likewise.
44039 * include/grub/ieee1275/ieee1275.h: Likewise.
44040 * include/grub/ieee1275/ofdisk.h: Likewise.
44041 * include/grub/powerpc/libgcc.h: Likewise.
44042 * include/grub/powerpc/setjmp.h: Likewise.
44043 * include/grub/powerpc/types.h: Likewise.
44044 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44045 * include/grub/powerpc/ieee1275/console.h: Likewise.
44046 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44047 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44048 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44049 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44050 * include/grub/powerpc/ieee1275/time.h: Likewise.
44051 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44052 * include/grub/sparc64/libgcc.h: Likewise.
44053 * include/grub/sparc64/setjmp.h: Likewise.
44054 * include/grub/sparc64/types.h: Likewise.
44055 * include/grub/sparc64/ieee1275/console.h: Likewise.
44056 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44057 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44058 * include/grub/sparc64/ieee1275/time.h: Likewise.
44059 * include/grub/util/biosdisk.h: Likewise.
44060 * include/grub/util/getroot.h: Likewise.
44061 * include/grub/util/lvm.h: Likewise.
44062 * include/grub/util/misc.h: Likewise.
44063 * include/grub/util/raid.h: Likewise.
44064 * include/grub/util/resolve.h: Likewise.
44065 * io/gzio.c: Likewise.
44066 * kern/device.c: Likewise.
44067 * kern/disk.c: Likewise.
44068 * kern/dl.c: Likewise.
44069 * kern/elf.c: Likewise.
44070 * kern/env.c: Likewise.
44071 * kern/err.c: Likewise.
44072 * kern/file.c: Likewise.
44073 * kern/fs.c: Likewise.
44074 * kern/loader.c: Likewise.
44075 * kern/main.c: Likewise.
44076 * kern/misc.c: Likewise.
44077 * kern/mm.c: Likewise.
44078 * kern/parser.c: Likewise.
44079 * kern/partition.c: Likewise.
44080 * kern/rescue.c: Likewise.
44081 * kern/term.c: Likewise.
44082 * kern/efi/efi.c: Likewise.
44083 * kern/efi/init.c: Likewise.
44084 * kern/efi/mm.c: Likewise.
44085 * kern/i386/dl.c: Likewise.
44086 * kern/i386/efi/init.c: Likewise.
44087 * kern/i386/efi/startup.S: Likewise.
44088 * kern/i386/pc/init.c: Likewise.
44089 * kern/i386/pc/lzo1x.S: Likewise.
44090 * kern/i386/pc/startup.S: Likewise.
44091 * kern/ieee1275/ieee1275.c: Likewise.
44092 * kern/powerpc/cache.S: Likewise.
44093 * kern/powerpc/dl.c: Likewise.
44094 * kern/powerpc/ieee1275/cmain.c: Likewise.
44095 * kern/powerpc/ieee1275/crt0.S: Likewise.
44096 * kern/powerpc/ieee1275/init.c: Likewise.
44097 * kern/powerpc/ieee1275/openfw.c: Likewise.
44098 * kern/sparc64/cache.S: Likewise.
44099 * kern/sparc64/dl.c: Likewise.
44100 * kern/sparc64/ieee1275/init.c: Likewise.
44101 * kern/sparc64/ieee1275/openfw.c: Likewise.
44102 * loader/efi/chainloader.c: Likewise.
44103 * loader/efi/chainloader_normal.c: Likewise.
44104 * loader/i386/efi/linux.c: Likewise.
44105 * loader/i386/efi/linux_normal.c: Likewise.
44106 * loader/i386/pc/chainloader.c: Likewise.
44107 * loader/i386/pc/chainloader_normal.c: Likewise.
44108 * loader/i386/pc/linux.c: Likewise.
44109 * loader/i386/pc/linux_normal.c: Likewise.
44110 * loader/i386/pc/multiboot.c: Likewise.
44111 * loader/i386/pc/multiboot_normal.c: Likewise.
44112 * loader/powerpc/ieee1275/linux.c: Likewise.
44113 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44114 * normal/arg.c: Likewise.
44115 * normal/cmdline.c: Likewise.
44116 * normal/command.c: Likewise.
44117 * normal/completion.c: Likewise.
44118 * normal/execute.c: Likewise.
44119 * normal/function.c: Likewise.
44120 * normal/lexer.c: Likewise.
44121 * normal/main.c: Likewise.
44122 * normal/menu.c: Likewise.
44123 * normal/menu_entry.c: Likewise.
44124 * normal/misc.c: Likewise.
44125 * normal/parser.y: Likewise.
44126 * normal/script.c: Likewise.
44127 * normal/i386/setjmp.S: Likewise.
44128 * normal/powerpc/setjmp.S: Likewise.
44129 * normal/sparc64/setjmp.S: Likewise.
44130 * partmap/acorn.c: Likewise.
44131 * partmap/amiga.c: Likewise.
44132 * partmap/apple.c: Likewise.
44133 * partmap/gpt.c: Likewise.
44134 * partmap/pc.c: Likewise.
44135 * partmap/sun.c: Likewise.
44136 * term/gfxterm.c: Likewise.
44137 * term/terminfo.c: Likewise.
44138 * term/efi/console.c: Likewise.
44139 * term/i386/pc/console.c: Likewise.
44140 * term/i386/pc/serial.c: Likewise.
44141 * term/i386/pc/vesafb.c: Likewise.
44142 * term/i386/pc/vga.c: Likewise.
44143 * term/ieee1275/ofconsole.c: Likewise.
44144 * util/biosdisk.c: Likewise.
44145 * util/console.c: Likewise.
44146 * util/genmoddep.c: Likewise.
44147 * util/getroot.c: Likewise.
44148 * util/grub-emu.c: Likewise.
44149 * util/grub-mkdevicemap.c: Likewise.
44150 * util/grub-probe.c: Likewise.
44151 * util/lvm.c: Likewise.
44152 * util/misc.c: Likewise.
44153 * util/raid.c: Likewise.
44154 * util/resolve.c: Likewise.
44155 * util/update-grub.in: Likewise.
44156 * util/update-grub_lib.in: Likewise.
44157 * util/grub.d/00_header.in: Likewise.
44158 * util/grub.d/10_hurd.in: Likewise.
44159 * util/grub.d/10_linux.in: Likewise.
44160 * util/i386/efi/grub-install.in: Likewise.
44161 * util/i386/efi/grub-mkimage.c: Likewise.
44162 * util/i386/pc/grub-install.in: Likewise.
44163 * util/i386/pc/grub-mkimage.c: Likewise.
44164 * util/i386/pc/grub-mkrescue.in: Likewise.
44165 * util/i386/pc/grub-setup.c: Likewise.
44166 * util/i386/pc/misc.c: Likewise.
44167 * util/powerpc/ieee1275/grub-install.in: Likewise.
44168 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44169 * util/powerpc/ieee1275/misc.c: Likewise.
44170 * video/bitmap.c: Likewise.
44171 * video/video.c: Likewise.
44172 * video/i386/pc/vbe.c: Likewise.
44173 * video/i386/pc/vbeblit.c: Likewise.
44174 * video/i386/pc/vbefill.c: Likewise.
44175 * video/i386/pc/vbeutil.c: Likewise.
44176 * video/readers/tga.c: Likewise.
44177
3572d015 441782007-07-02 Robert Millan <rmh@aybabtu.com>
44179
44180 * conf/i386-efi.rmk: Replace obsolete reference to
44181 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44182 with util/getroot.c.
44183 * conf/powerpc-ieee1275.rmk: Likewise.
44184 * conf/sparc64-ieee1275.rmk: Likewise.
44185
44186 * util/grub-emu.c (main): Fix unchecked pointer handling.
44187
2c2a681b 441882007-07-02 Robert Millan <rmh@aybabtu.com>
44189
44190 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44191 invocation to fail, in order to support partition-less media.
44192
44193 * util/i386/pc/grub-install.in: Likewise.
44194
44195 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44196 which fs or partmap modules are needed (akin to its sister scripts).
44197
44198 Also use grub-probe to get rid of unportable /proc/mounts check.
44199
44200 Print the same informational message that the other scripts do, before
fe6b695a 44201 exiting.
2c2a681b 44202
6193defe 442032007-06-23 Robert Millan <rmh@aybabtu.com>
44204
fe6b695a 44205 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44206 a font file can be found and, if so, echo the GRUB path to it.
44207
44208 * util/update-grub.in: Handle multiple terminals depending on user
44209 input, platform availability and font file presence. Propagate
44210 variables of our findings to /etc/grub.d/ children.
44211
44212 * util/grub.d/00_header.in: Handle multiple terminals, based on
44213 environment setup by update-grub.
44214
eface1dc 442152007-06-23 Robert Millan <rmh@aybabtu.com>
44216
ba50d28f 44217 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44218
bf697e28 442192007-06-21 Robert Millan <rmh@aybabtu.com>
44220
44221 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44222 indicate end of data section in kernel image.
44223 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44224 GRUB_KERNEL_MACHINE_DATA_END.
44225
44226 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44227 space for it.
44228 * kern/i386/efi/startup.S: Likewise.
44229
44230 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44231 during image generation. Implement --prefix option to override this
44232 patch.
44233 * util/i386/efi/grub-mkimage.c: Likewise.
44234
44235 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44236 code to make path relative to its root into a separate function.
44237
44238 * util/i386/pc/grub-install.in: Use newly provided
44239 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44240 pass the result to grub-install --prefix.
44241
baa574b4 442422007-06-13 Robert Millan <rmh@aybabtu.com>
44243
44244 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44245 DEFAULT_DEVICE_MAP.
44246 * util/grub-emu.c: Use above definitions from misc.h instead of
44247 defining them.
44248 * util/grub-mkdevicemap.c: Likewise.
44249 * util/i386/pc/grub-setup.c: Likewise.
44250 * util/grub-probe.c: Likewise.
44251 (probe): Abort with grub_util_error() when either
44252 grub_guess_root_device or grub_util_get_grub_dev fails.
44253
0215dcbf 442542007-06-12 Robert Millan <rmh@aybabtu.com>
44255
44256 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44257 "pager" assignment.
44258 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44259 "pcdata".
44260 * util/grub-probe.c (probe): Likewise for "drive_name".
44261
8af2ab7b 442622007-06-11 Robert Millan <rmh@aybabtu.com>
44263
44264 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44265 not just the cdrom one.
44266
59d31694 442672007-06-11 Robert Millan <rmh@aybabtu.com>
44268
44269 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44270 Add --pkglibdir=DIR option to override pkglibdir.
44271 Mention --image-type=TYPE in help output.
44272 Fix --grub-mkimage (it was a no-op).
fe6b695a 44273 Abort gracefully when no parameter is given.
59d31694 44274
7ee367e4 442752007-06-11 Robert Millan <rmh@aybabtu.com>
44276
44277 * util/i386/pc/grub-mkrescue.in: New file.
44278 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44279 * Makefile.in: Handle bin_SCRIPTS.
44280
29b0ed46 442812007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44282
44283 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44284 list of video modes.
44285
c0f90770 442862007-06-06 Robert Millan <rmh@aybabtu.com>
44287
44288 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44289 file doesn't exist, or if it is in a filesystem grub can't read.
44290
44291 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44292 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44293 header comment to fit in 80 columns when the variables are resolved.
44294
44295 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44296 could be identified by update-grub. Remove redundant check for
fe6b695a 44297 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44298 handles that).
44299
fb36dc26 443002007-06-04 Robert Millan <rmh@aybabtu.com>
44301
44302 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44303
44304 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44305
44306 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44307
0c68c93e 443082007-06-04 Robert Millan <rmh@aybabtu.com>
44309
44310 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44311
44312 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44313 grub_apple_partition_map_fini.
44314
44315 * util/biosdisk.c
44316 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44317 to access >2 TiB disks).
44318
44319 Print disk->total_sectors with %llu instead of %lu, since this
44320 variable is always 64-bit (prevents wrong disk size from being displayed
44321 on either >2 TiB disk or big-endian CPU).
44322
44323 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44324 into a generic case that supports all (sane) partition maps.
44325
44326 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44327 breaks big-endian.
44328
44329 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44330 and grub_apple_partition_map_fini() after that.
44331
0f23eb74 443322007-06-01 Robert Millan <rmh@aybabtu.com>
44333
44334 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44335
44336 * util/grub.d/00_header.in: Only enable gfxterm when
44337 convert_system_path_to_grub_path() succeeds.
44338
42c71976 443392007-05-20 Robert Millan <rmh@aybabtu.com>
44340
44341 * util/update-grub_lib.in: New file.
44342 * DISTLIST: Add update-grub_lib.in.
44343 * conf/common.rmk: Generate update-grub_lib and install it in
44344 $(lib_DATA).
44345 * Makefile.in: Add install routine for $(lib_DATA).
44346
44347 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44348 function provided by update-grub_lib to support arbitrary paths of
44349 unifont.pff.
44350 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44351 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44352
5beb2291 443532007-05-19 Robert Millan <rmh@aybabtu.com>
44354
44355 * commands/i386/cpuid.c: New module.
44356 * DISTLIST: Add it.
44357 * conf/i386-efi.rmk: Enable cpuid.mod.
44358 * conf/i386-pc.rmk: Likewise.
44359
7262eca1 443602007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44361
44362 * kern/disk.c (grub_disk_read): Check return value of
44363 grub_realloc().
44364
260ba823 443652007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44366
44367 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44368 arrays.
44369 * disk/raid.c (grub_raid_open): Likewise.
44370
1ecb6cf2 443712007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44372
44373 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44374 stack instead of on the heap.
44375
44376 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44377 before doing a read on it.
44378
44379 * configure.ac: Only use -fno-stack-protector for the target
44380 environment.
f19dbdb7 44381
21c8cbb1 443822007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44383
44384 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44385 __attribute_ ((unused)) to mode_type argument.
44386
44387 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44388
21c8cbb1 44389 * kern/misc.c (memcmp): Fix prototype.
44390
44391 * include/grub/partition.h [GRUB_UTIL]
44392 (grub_gpt_partition_map_init): Add prototype.
44393 (grub_gpt_partition_map_fini): Likewise.
44394
44395 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44396 at the right place.
44397
44398 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44399 (grub_fat_read_data): Likewise.
44400 (grub_fat_find_dir): Likewise.
44401
44402 * font/manager.c (find_glyph): Make table a const.
44403 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44404
849d55d3 444052007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44406
44407 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44408 code, first search for device in /dev/mapper, then in /dev.
44409 (grub_util_get_grub_dev): New function.
44410 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44411 prototype.
44412 * util/grub-probe.c (probe): Remove check for RAID, call
44413 grub_util_get_grub_dev() instead of
44414 grub_util_biosdisk_get_grub_dev().
44415 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44416 grub_util_biosdisk_get_grub_dev().
44417 * util/i386/pc/grub-setup.c (main): Likewise.
44418
8fff7c2f 444192007-05-16 Robert Millan <rmh@aybabtu.com>
44420
44421 * DISTLIST: Update for the latest changes.
44422 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44423 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44424 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44425 grub/util/biosdisk.h.
44426 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44427 grub/util/biosdisk.h.
44428
48e12b52 444292007-05-16 Robert Millan <rmh@aybabtu.com>
44430
44431 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44432
46b9d128 444332007-05-16 Robert Millan <rmh@aybabtu.com>
44434
44435 * util/i386/efi/grub-install.in: New.
44436 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44437 newly added grub-install.
44438 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44439 include.
44440 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44441 grub/util/biosdisk.h.
44442 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44443 grub/util/biosdisk.h.
44444
2d1a40a9 444452007-05-16 Robert Millan <rmh@aybabtu.com>
44446
44447 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44448 * include/grub/util/biosdisk.h: ... here.
44449 * util/i386/pc/biosdisk.c: Moved to ...
44450 * util/biosdisk.c: ... here.
44451 * util/i386/pc/getroot.c: Moved to ...
44452 * util/getroot.c: ... here.
44453 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44454 * util/grub-mkdevicemap.c: ... here.
44455 * util/i386/pc/grub-probe.c: Moved to ...
44456 * util/grub-probe.c: ... here.
44457
9e26e3bc 444582007-05-15 Robert Millan <rmh@aybabtu.com>
44459
44460 * util/update-grub.in: Remove duplicated line in grub.cfg header
44461 message.
44462
57f96397 444632007-05-13 Robert Millan <rmh@aybabtu.com>
44464
44465 * util/update-grub.in: Fix a few assumptions about the devices holding
44466 /, /boot and /boot/grub being the same.
44467 * util/grub.d/00_header.in: Likewise.
44468 * util/grub.d/10_hurd.in: Likewise.
44469 * util/grub.d/10_linux.in: Likewise.
44470
44471 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44472 patterns. Use that to define the `.old' suffix as older than `'.
44473
44474 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44475
44476 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44477 the grub.cfg header message.
44478
2e610d62 444792007-05-11 Robert Millan <rmh@aybabtu.com>
44480
44481 * util/update-grub.in: Create device.map if it doesn't already exist,
44482 before attempting to run grub-probe.
44483 Check for grub-probe and grub-mkdevicemap with the same code
44484 grub-install is using.
44485 Remove test mode.
44486
3f6a10ef 444872007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44488
44489 * Makefile.in: Add the datarootdir autoconf variable.
44490
02e7b75e 444912007-05-09 Robert Millan <rmh@aybabtu.com>
44492
44493 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44494 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44495
75f396cc 444962007-05-07 Robert Millan <rmh@aybabtu.com>
44497
44498 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44499 determine partition map module.
44500 * util/i386/pc/grub-install.in: Use this feature to decide which
44501 partition module to load, instead of hardcoding pc and gpt.
44502
da65cb36 445032007-05-07 Robert Millan <rmh@aybabtu.com>
44504
44505 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44506 source directory differs from build directory.
44507
b57d6a91 445082007-05-05 Robert Millan <rmh@aybabtu.com>
44509
44510 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44511 initialisation.
44512
509d00f1 445132007-05-05 Robert Millan <rmh@aybabtu.com>
44514
44515 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44516
c48f23ef 445172007-05-05 Robert Millan <rmh@aybabtu.com>
44518
44519 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44520 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44521
20b97658 445222007-05-05 Robert Millan <rmh@aybabtu.com>
44523
44524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44525 (grub_probe_SOURCES): Likewise.
44526 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44527 GPT and initialize dos_part and bsd_part accordingly.
44528 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44529 install_bsd_part.
44530 (main): Activate gpt module for use during partition identification,
44531 and deactivate it afterwards.
44532 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44533 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44534 partition identification, and deactivate it afterwards.
44535
99123174 445362007-05-05 Robert Millan <rmh@aybabtu.com>
44537
44538 * term/i386/pc/console.c (grub_console_fini): Call
44539 grub_term_set_current() before grub_term_unregister().
44540
ebd97f6e 445412007-05-04 Robert Millan <rmh@aybabtu.com>
44542
44543 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44544 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44545 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44546 and update-grub_DATA.
44547 * conf/common.rmk: Build and install update-grub components.
44548 * conf/common.mk: Regenerate.
44549 * util/update-grub.in: New. Core of update-grub.
44550 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44551 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44552 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44553 * util/grub.d/README: New. Document grub.d directory layout.
44554
b06a264d 445552007-05-01 Robert Millan <rmh@aybabtu.com>
44556
44557 * util/grub-emu.c: Move initialization functions
44558 grub_util_biosdisk_init() and grub_init_all() before
44559 grub_util_biosdisk_get_grub_dev(), which relies on them.
44560
41f0050e 445612007-04-19 Robert Millan <rmh@aybabtu.com>
44562
44563 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44564 it is used later.
44565
04582bb3 445662007-04-18 Jerone Young <jerone@gmail.com>
44567
f19dbdb7 44568 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44569 stanza.
44570
08db4632 445712007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44572
08db4632 44573 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44574 continue on and look for device node with real device name.
44575
801b76be 445762007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44577
fe6b695a 44578 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44579 ability.
44580 * Makefile.in: Add autoconf package transformation code.
44581 * util/i386/pc/grub-install.in: Likewise.
44582 * util/powerpc/ieee1275/grub-install.in: Likewise.
44583
6795c4e1 445842007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44585
44586 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44587 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44588 (EXT2_REVISION): Likewise.
44589 (EXT2_INODE_SIZE): Likewise.
44590 (struct grub_ext2_block_group): Added a missing member
44591 "used_dirs".
44592 (grub_ext2_read_inode): Divide by the inode size in a superblock
44593 instead of 128 to obtain INODES_PER_BLOCK.
44594 Use the macro EXT2_INODE_SIZE instead of directly using
44595 SBLOCK->INODE_SIZE.
44596
d70af616 445972007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44598
44599 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44600 superblock instead of the structure size to compute an
44601 offset. This fixes the problem that GRUB could not read a
44602 filesystem when inode size is different from 128-byte.
44603
3b801603 446042007-03-05 Marco Gerards <marco@gnu.org>
44605
44606 * normal/main.c (read_config_file): When "menu" is not set, create
44607 an initial context.
44608
4785bfe4 446092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44610
44611 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44612 (HEAP_LIMIT): New macro.
44613 (grub_claim_heap): Claim memory up to `heaplimit'.
44614
a0cbb023 446152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44616
44617 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44618 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44619 (_start): Likewise.
44620 (grub_arch_modules_addr): Return address after `_end'.
44621 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44622 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44623 (add_segments): Calculate `_end' from phdr size and location.
44624 (ALIGN_UP): Moved to ...
44625 * include/grub/misc.h: here.
44626 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44627 New macro.
44628 (GRUB_IEEE1275_MODULE_BASE): Removed.
44629
fd7d8eba 446302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44631
44632 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44633 loop boundary.
44634
9b09e6fc 446352007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44636
44637 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44638 All users updated.
44639 (grub_elf64_load_hook_t): Likewise.
44640 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44641 debug output.
44642
3ce27299 446432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44644
44645 * kern/mm.c: Update copyright.
44646 (grub_mm_debug): Correct syntax error.
44647 (grub_mm_dump_free): New function.
44648 (grub_debug_free): Call `grub_free'.
44649 * include/grub/mm.h: Update copyright.
44650 (grub_mm_dump_free): Add declaration.
44651
077d5fee 446522007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44653
44654 * include/grub/ieee1275/ieee1275.h: Update copyright.
44655 * kern/powerpc/ieee1275/init.c: Likewise.
44656 * kern/powerpc/ieee1275/openfw.c: Likewise.
44657
44658 * loader/powerpc/ieee1275/linux.c: Likewise.
44659 * include/grub/elfload.h: Likewise.
44660 * kern/elf.c: Likewise.
44661 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44662 callers.
44663 (grub_elf64_load): Likewise.
44664 (grub_elf32_load_segment): Move to a nested function.
44665 (grub_elf64_load_segment): Likewise.
44666
dc946850 446672007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44668
44669 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44670 prototype.
44671 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44672 (grub_heap_len): Likewise.
44673 (HEAP_SIZE): New macro.
44674 (grub_claim_heap): New function.
44675 (grub_machine_init): Don't claim heap directly. Call
44676 `grub_claim_heap'.
44677 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44678 (grub_available_iterate): New function.
44679
baa2a121 446802007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44681
44682 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44683 * configure.ac: Use it for testing the HOST and TARGET compilers.
44684
4fe9862e 446852006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44686
44687 * Makefile.in (enable_grub_emu): New variable.
44688 * configure.ac (--enable-grub-emu): New option.
44689 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44690 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44691 * conf/i386-pc.rmk: Likewise.
44692 * conf/powerpc-ieee1275.rmk: Likewise.
44693 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44694
a8aa5762 446952006-12-12 Marco Gerards <marco@gnu.org>
44696
44697 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44698
44699 * kern/env.c (grub_env_unset): Don't free the member `value' when
44700 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44701 pointer.
44702
44703 * normal/main.c (current_menu): Removed.
44704 (free_menu): Unset the `menu' environment variable.
44705 (grub_normal_menu_addentry): Make use of the environment variable
44706 `menu', instead of using the global `current_menu'. Allocate
44707 memory for the sourcecode of this entry.
44708 (read_config_file): New argument `nested', changed all callers.
44709 Only in the case of a new context, initialize a new menu. Set the
44710 `menu' environment variable.
44711 (grub_normal_execute): Don't set and unset the environment
44712 variable `menu' here anymore. Only free the menu when leaving the
44713 context.
44714
44715 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44716 leak.
44717
957b3a3e 447182006-12-11 Marco Gerards <marco@gnu.org>
44719
44720 * normal/menu_entry.c (run): Fix off by one bug so the last line
44721 is executed. Move the loader check to outside the loop.
44722
ef875714 447232006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44724
44725 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44726
4e739985 447272006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44728
44729 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44730 the number of sectors. Reported by Andrey Shuvikov
44731 <mr_hyro@yahoo.com>.
f19dbdb7 44732
790707f2 447332006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44734
44735 * kern/disk.c (grub_disk_read): When there is a read error, always
44736 try to read only the necessary data.
f19dbdb7 44737
790707f2 44738 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44739 disk/raid.c.
44740 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44741 prototype.
44742 [GRUB_UTIL] (grub_raid_fini): Likewise.
44743 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44744 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44745 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44746 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44747 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44748 and grub_raid_fini().
f19dbdb7 44749
03e58196 447502006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44751
44752 * include/grub/types.h (__unused): Rename to UNUSED.
44753 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44754 (grub_elf64_size): Likewise.
f19dbdb7 44755
ae4f23bf 447562006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44757
44758 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44759 grub_error_push and grub_error_pop in the error-handling path.
44760 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44761 length.
44762
2166cc83 447632006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44764
44765 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44768 (kernel_elf_SOURCES): Likewise.
44769 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44770 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44771 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44772 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44773 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44774 (elf_mod_SOURCES): New variable.
44775 (elf_mod_CFLAGS): Likewise.
44776 (elf_mod_LDFLAGS): Likewise.
44777 * include/grub/types.h (__unused): New macro.
44778 * include/grub/elfload.h: New file.
44779 * kern/elf.c: Likewise.
44780 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44781 (ELF32_LOADMASK): New macro.
44782 (ELF64_LOADMASK): Likewise.
44783 (vmlinux): Removed.
44784 (grub_linux_load32): New function.
44785 (grub_linux_load64): Likewise.
44786 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44787 Use grub_elf_t instead of grub_file_t.
44788
a09d5aa5 447892006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44790
44791 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44792 `catch_result' to struct set_color_args.
44793
d976fc51 447942006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44795
44796 * normal/menu.c: Include grub/script.h.
44797 * normal/menu_entry.c: Likewise.
44798 * include/grub/normal.h: Do not include grub/script.h.
44799
67507549 448002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44801
44802 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44803
69203a99 448042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44805
44806 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44807 disk.
44808 (grub_disk_close): Print debug messages when closing a disk.
44809 (grub_disk_read): Print debug messages when disk read fails.
44810 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44811 filesystem type.
44812 * kern/partition.c: Include misc.h.
44813 (grub_partition_iterate): Print debug messages when detecting
44814 partition type.
44815
e2b8278c 448162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44817
44818 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44819 is negative.
44820 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44821
97b2f2ff 448222006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44823
44824 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44825 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44826
6555d655 448272006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44828
44829 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44830 instead of sizeof(lv). Patch by Michael Guntsche.
44831
4d42b77f 448322006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44833
44834 * disk/lvm.c: Rename VGS to VG_LIST.
44835 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44836 (grub_lvm_open): Likewise.
44837 Thanks to Michael Guntsche for finding this bug.
44838
5d74d927 448392006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44840
44841 * configure.ac (AC_INIT): Bumped to 1.95.
44842
a1bb27e4 448432006-10-14 Robert Millan <rmh@aybabtu.com>
44844
44845 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44846 with "/dev/.static/dev/md".
44847
e0994b8b 448482006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44849
44850 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44851 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44852 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44853 DRIVE_NAME are always freed.
44854
44855 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44856 DOS_PART, as a DOS partition is counted from one instead of zero
44857 now. Reported by Robert Millan.
44858
ddd5cee9 448592006-10-14 Robert Millan <rmh@aybabtu.com>
44860
44861 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44862 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44863 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44864 string returned by grub_guess_root_device.
44865 * util/i386/pc/grub-setup.c: Likewise.
44866 * util/i386/pc/grub-probefs.c: Likewise.
44867
44868 * util/i386/pc/grub-probefs.c: Rename to ...
44869 * util/i386/pc/grub-probe.c: ... this.
44870 * DISTLIST: Remove grub-probefs, add grub-probe.
44871 * conf/i386-efi.rmk: Likewise.
44872 * conf/i386-pc.rmk: Likewise.
44873 * util/i386/pc/grub-install.in: Likewise.
44874
44875 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44876 choose which information we want to print.
44877
2b002173 448782006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44879
44880 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44881 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44882 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44883 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44884 video/readers/tga.c and video/i386/pc/vbeutil.c.
44885
448862006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44887
44888 Added support for RAID and LVM.
f19dbdb7 44889
2b002173 44890 * disk/lvm.c: New file.
44891 * disk/raid.c: Likewise.
44892 * include/grub/lvm.h: Likewise.
f19dbdb7 44893 * include/grub/raid.h: Likewise.
2b002173 44894 * include/grub/util/lvm.h: Likewise.
44895 * include/grub/util/raid.h: Likewise.
44896 * util/lvm.c: Likewise.
44897 * util/raid.c: Likewise.
44898
44899 * include/grub/disk.h (grub_disk_dev_id): Add
44900 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44901 (grub_disk_get_size): New prototype.
44902 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44903 returns a partition.
44904 (grub_disk_get_size): New function.
f19dbdb7 44905
2b002173 44906 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44907 verbatim if grub_install_dos_part is -2.
44908
44909 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44910 and LVM devices.
44911
44912 * util/i386/pc/grub-setup.c (setup): New argument
44913 MUST_EMBED. Force embedding of GRUB when the argument is
44914 true. Close FILE before returning.
44915 (main): Add support for RAID and LVM.
f19dbdb7 44916
2b002173 44917 * conf/common.rmk: Add RAID and LVM modules.
44918 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44919 util/lvm.c.
44920 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44921
44922 * kern/misc.c (grub_strstr): New function.
44923 * include/grub/misc.h (grub_strstr): New prototype.
44924
050548d0 449252006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44926
44927 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44928
da849d2d 449292006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44930
44931 * kern/misc.c (grub_strtoull): Guess the base only if not
44932 specified.
44933
97b2f2ff 449342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44935
44936 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44937 PowerMac support.
44938
97b2f2ff 449392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44940
44941 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44942
44943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44944 Remove `flags' argument. All callers changed.
44945 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44946 (IEEE1275_IHANDLE_INVALID): New variable.
44947 (IEEE1275_CELL_INVALID): New variable.
44948 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44949 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44950 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44951 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44952 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44953 codes from Open Firmware. All callers updated.
44954 (grub_ieee1275_next_property): Directly return Open Firmware return
44955 code.
44956 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44957 Standardize error checking from `grub_ieee1275_get_property'.
44958 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44959 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44960
97b2f2ff 449612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44962
44963 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44964 `instance_to_package_args' to `instance_to_path_args'.
44965
44966 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44967 `grub_ieee1275_chosen'.
44968
44969 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44970 `grub_ieee1275_interpret'.
44971
97b2f2ff 449722006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44973
44974 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44975
97b2f2ff 449762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44977
44978 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44979 (__cmpdi): Likewise.
44980
44981 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44982 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44983 `grub_ssize_t'.
44984
02bb8acc 44985 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44986
44987 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44988 to type `grub_ssize_t'.
44989 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44990
7f9a8531 449912006-09-22 Marco Gerards <marco@gnu.org>
44992
44993 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44994 newlines.
44995
b5ef1102 449962006-09-22 Marco Gerards <marco@gnu.org>
44997
44998 * commands/echo.c: New file.
44999
45000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45001
45002 * conf/common.rmk (echo_mod_SOURCES): New variable.
45003 (echo_mod_CFLAGS): Likewise.
45004 (echo_mod_LDFLAGS): Likewise.
45005
2cff3677 450062006-09-22 Marco Gerards <marco@gnu.org>
45007
45008 * normal/main.c (get_line): Malloc memory instead of using
45009 preallocated memory. Removed the arguments `cmdline' and
45010 `max_len'. Updated all callers.
45011
6ba4688b 450122006-09-22 Marco Gerards <marco@gnu.org>
45013
45014 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45015 (normal_mod_DEPENDENCIES): Likewise.
45016
45017 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45018 (normal_mod_DEPENDENCIES): Likewise.
45019
45020 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45021
e02ac02c 450222006-09-22 Johan Rydberg <jrydberg@gnu.org>
45023
45024 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45025 programs.
45026 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45027 (normal_mod_DEPENDENCIES): Likewise.
45028 * conf/i386-pc.mk: Regenerate.
45029 * conf/i386-efi.mk: Likewise
45030 * conf/common.mk: Likewise.
45031 * conf/powerpc-ieee1275.mk: Likewise.
45032 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45033
8d252e44 450342006-09-22 Robert Millan <rmh@aybabtu.com>
45035
45036 Sync with i386 version.
45037 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45038 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45039
209bf7ac 450402006-09-21 Robert Millan <rmh@aybabtu.com>
45041
45042 Import from GRUB Legacy (lib/device.c):
45043 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45044 (init_device_map) [__linux__]: Add support for I2O devices.
45045
6b146090 450462006-09-14 Marco Gerards <marco@gnu.org>
45047
45048 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45049 `-melf_i386'.
45050
e38600a8 450512006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45052
45053 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45054 /boot/grub/*.lst.
78fa1790 45055
2952da5d 45056 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45057
2952da5d 45058 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45059 before adding it to device.map.
45060
01b82a64 450612006-08-15 Johan Rydberg <jrydberg@gnu.org>
45062
fe6b695a 45063 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45064 compiles a file; using the -MD option.
45065 * conf/common.mk: Regenerate.
45066 * conf/i386-pc.mk: Likewise.
45067 * conf/i386-efi.mk: Likewise.
45068 * conf/powerpc-ieee1275.mk: Likewise.
45069 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45070
1064790d 450712006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45072
45073 Move the prototypes of grub_setjmp and grub_longjmp to
45074 cpu/setjmp.h, so that each architecture may specify different
45075 attributes.
f19dbdb7 45076
1064790d 45077 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45078 (grub_longjmp): Likewise.
45079 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45080 (grub_longjmp): Likewise.
45081 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45082 (grub_longjmp): Likewise.
45083
45084 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45085 [!GRUB_UTIL] (grub_longjmp): Removed.
45086
29dda3ed 450872006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45088
45089 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45090 "color!" method does not return any value.
45091
ad2a06ed 450922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45093
45094 * include/grub/bitmap.h: New file.
45095
45096 * include/grub/i386/pc/vbeutil.h: Likewise.
45097
45098 * video/bitmap.c: Likewise.
45099
45100 * video/readers/tga.c: Likewise.
45101
45102 * video/i386/pc/vbeutil.c: Likewise.
45103
45104 * commands/videotest.c: Code cleanup and updated to reflect to new
45105 video API.
45106
45107 * term/gfxterm.c: Likewise.
45108
45109 * video/video.c: Likewise.
45110
45111 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45112 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45113 (bitmap_mod_SOURCES): New entry.
45114 (bitmap_mod_CFLAGS): Likewise.
45115 (bitmap_mod_LDFLAGS): Likewise.
45116 (tga_mod_SOURCES): Likewise.
45117 (tga_mod_CFLAGS): Likewise.
45118 (tga_mod_LDFLAGS): Likewise.
45119
45120 * include/grub/video.h (grub_video_blit_operators): New enum type.
45121 (grub_video_render_target): Changed as forward declaration and moved
45122 actual definition to be video driver specific.
45123 (grub_video_adapter.blit_bitmap): Added blitting operator.
45124 (grub_video_adapter.blit_render_target): Likewise.
45125 (grub_video_blit_bitmap): Likewise.
45126 (grub_video_blit_render_target): Likewise.
45127
45128 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45129 driver specific render target definition.
45130 (grub_video_vbe_map_rgba): Added driver internal helper.
45131 (grub_video_vbe_unmap_color): Updated to use
45132 grub_video_i386_vbeblit_info.
45133 (grub_video_vbe_get_video_ptr): Likewise.
45134
45135 * include/grub/i386/pc/vbeblit.h
45136 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45137 grub_video_i386_vbeblit_info.
45138 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45139 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45142 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45143 (grub_video_i386_vbeblit_index_index): Likewise.
45144 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45145 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45146 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45147 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45148 operator.
45149 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45150 operator.
45151
45152 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45153 include/grub/i386/pc/vbeblit.h.
45154
45155 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45156 Updated to use grub_video_i386_vbeblit_info.
45157 (grub_video_i386_vbefill_R8G8B8): Likewise.
45158 (grub_video_i386_vbefill_index): Likewise.
45159 (grub_video_i386_vbefill): Added generic filler.
45160
45161 * video/i386/pc/vbefill.c: Updated to reflect changes on
45162 include/grub/i386/pc/vbefill.h.
45163
45164 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45165 grub_video_i386_vbeblit_info.
45166 (grub_video_vbe_unmap_color): Likewise.
45167 (grub_video_vbe_blit_glyph): Likewise.
45168 (grub_video_vbe_scroll): Likewise.
45169 (grub_video_vbe_draw_pixel): Removed function.
45170 (grub_video_vbe_get_pixel): Likewise.
45171 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45172 updated code to use it.
45173 (common_blitter): Added common blitter for render target and bitmap.
45174 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45175 (grub_video_vbe_blit_render_target): Likewise.
45176
bc8c036d 451772006-07-30 Johan Rydberg <jrydberg@gnu.org>
45178
45179 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45180 is in text mode if there is no console control protocol instance
45181 available.
45182
684a8eff 451832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45184
45185 * include/grub/video.h: Code cleanup.
45186
45187 * include/grub/i386/pc/vbe.h: Likewise.
45188
45189 * video/i386/pc/vbe.c: Likewise.
45190
45191 * video/i386/pc/vbeblit.c: Likewise.
45192
45193 * video/i386/pc/vbefill.c: Likewise.
45194
45195 * video/video.c: Likewise. Also added more comments.
45196
5915059b 451972006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45198
45199 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45200 (struct grub_biosdisk_dap): Likewise.
45201
45202 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45203 linkage settings for all functions.
45204
90ce5d56 452052006-07-12 Marco Gerards <marco@gnu.org>
45206
45207 * configure.ac (--enable-mm-debug): Fix typo.
45208
45209 * genkernsyms.sh.in: Use proper quoting for `CC'.
45210
43e7f879 452112006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45212
45213 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45214 (normal_mod_ASFLAGS): Remove "-m32".
45215
4889bdec 452162006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45217
45218 * util/misc.c: Include config.h.
45219 [!HAVE_MEMALIGN]: Do not include malloc.h.
45220 (grub_memalign): Use posix_memalign, if present. Then, use
45221 memalign, if present. Otherwise, emit an error.
45222
45223 * util/grub-emu.c: Do not include malloc.h.
45224
45225 * include/grub/util/misc.h: Include unistd.h. This is required for
45226 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45227 D. Eades III <hde@foobar-qux.org>.
45228
45229 * configure.ac (AC_GNU_SOURCE): Added.
45230 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45231 type.
45232
fd39d4da 452332006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45234
45235 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45236 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45237
b786f3b5 452382006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45239
45240 * include/grub/types.h (grub_host_addr_t): Rename to
45241 grub_target_addr_t.
45242 (grub_host_off_t): Rename to grub_target_off_t.
45243 (grub_host_size_t): Rename to grub_target_size_t.
45244 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45245 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45246
45247 * include/grub/kernel.h (struct grub_module_header): Change type
45248 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45249 (grub_module_info): Likewise.
f19dbdb7 45250
051988bb 452512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45252
45253 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45254 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45255 Velazquez <jesus.velazquez@gmail.com>.
45256
deae281b 452572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45258
45259 Count partitions from 1 instead of 0 in the string representation
45260 of partitions. Still use 0-based internally.
f19dbdb7 45261
deae281b 45262 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45263 (sun_partition_map_iterate): Use grub_partition_t instead of
45264 struct grub_partition *. Cast DESC->START_CYLINDER to
45265 grub_uint64_t after converting the endian.
45266 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45267 (sun_partition_map_get_name): Add 1 to P->INDEX.
45268
45269 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45270 PCDATA->DOS_PART.
45271 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45272
45273 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45274 zero instead of one.
45275 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45276 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45277
45278 * partmap/apple.c (apple_partition_map_iterate): Change the type
45279 of POS to unsigned.
45280 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45281 (apple_partition_map_get_name): Add 1 into P->INDEX.
45282
45283 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45284 of POS to unsigned.
45285 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45286 calculate the offset of a partition.
45287 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45288 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45289
45290 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45291 SECTOR to grub_disk_addr_t.
45292 (acorn_partition_map_iterate): Likewise.
45293 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45294 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45295 top.
45296 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45297
45298 * kern/i386/pc/init.c (make_install_device): Add 1 into
45299 GRUB_INSTALL_DOS_PART.
45300
45301 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45302 conditional.
45303
524a1e6a 453042006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 Clean up the code to support 64-bit addressing in disks and
45307 files. This change is not enough for filesystems yet.
f19dbdb7 45308
524a1e6a 45309 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45310 type of "start" to grub_uint64_t.
45311 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45312 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45313 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45314 convert addresses.
45315
45316 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45317 to grub_disk_addr_t.
45318
45319 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45320 string.
45321
45322 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45323
45324 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45325 to char *.
45326
45327 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45328
45329 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45330
45331 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45332
45333 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45334 to grub_off_t, to detect an error from grub_file_seek.
45335 (grub_multiboot_load_elf32): Likewise.
45336
45337 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45338 maximum unsigned long value when an overflow is detected.
45339 (grub_strtoull): New function.
45340 (grub_divmod64): Likewise.
45341 (grub_lltoa): use grub_divmod64.
45342
45343 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45344 grub_disk_addr_t.
45345 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45346 the pointer to next character. Use grub_strtoull instead of
45347 grub_strtoul.
45348 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45349 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45350 respectively.
45351
fe6b695a 45352 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45353 return value is signed.
45354 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45355 test if OFFSET is less than zero, as OFFSET is unsigned now.
45356
45357 * kern/disk.c (struct grub_disk_cache): Change the type of
45358 "sector" to grub_disk_addr_t.
45359 (grub_disk_cache_get_index): Change the type of SECTOR to
45360 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45361 unsigned after shifting.
45362 (grub_disk_cache_invalidate): Change the type of SECTOR to
45363 grub_disk_addr_t.
45364 (grub_disk_cache_unlock): Likewise.
45365 (grub_disk_cache_store): Likewise.
45366 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45367 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45368 grub_disk_addr_t and grub_uint64_t, respectively.
45369 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45370 body, as the value of OFFSET is tweaked by
45371 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45372 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45373 respectively.
45374 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45375 body, as the value of OFFSET is tweaked by
45376 grub_disk_check_range. Change the types of LEN and N to
45377 grub_size_t.
45378
45379 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45380 and "saved_offset" to grub_off_t.
45381 (test_header): Cast BUF to char *.
45382 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45383 to char *.
45384 (grub_gzio_read): Change the types of OFFSET and SIZE to
45385 grub_off_t and grub_size_t, respectively.
45386
45387 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45388 Removed.
45389 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45390 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45391 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45392 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45393 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45394
45395 * include/grub/types.h (grub_off_t): Unconditionally set to
45396 grub_uint64_t.
45397 (grub_disk_addr_t): Changed to grub_uint64_t.
45398
45399 * include/grub/partition.h (struct grub_partition): Change the
45400 types of "start", "len" and "offset" to grub_disk_addr_t,
45401 grub_uint64_t and grub_disk_addr_t, respectively.
45402 (grub_partition_get_start): Return grub_disk_addr_t.
45403 (grub_partition_get_len): Return grub_uint64_t.
45404
45405 * include/grub/misc.h (grub_strtoull): New prototype.
45406 (grub_divmod64): Likewise.
45407
45408 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45409 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45410 grub_off_t, respectively.
45411 All callers and references changed.
45412
45413 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45414 grub_size_t in "read".
45415 All callers and references changed.
45416
45417 * include/grub/file.h (struct grub_file): Change the types of
45418 "offset" and "size" to grub_off_t and grub_off_t,
45419 respectively. Change the type of SECTOR to grub_disk_addr_t in
45420 "read_hook".
45421 (grub_file_read): Change the type of LEN to grub_size_t.
45422 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45423 grub_off_t.
45424 (grub_file_size): Return grub_off_t.
45425 (grub_file_tell): Likewise.
45426 All callers and references changed.
45427
45428 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45429 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45430 "write".
45431 (struct grub_disk): Change the type of "total_sectors" to
45432 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45433 "read_hook".
524a1e6a 45434 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45435 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45436 (grub_disk_write): Likewise.
45437 All callers and references changed.
45438
45439 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45440 char * for grub_strncmp to silence gcc.
45441 (grub_iso9660_mount): Likewise.
45442 (grub_iso9660_mount): Likewise.
45443 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45444 return statement.
45445 (grub_iso9660_iterate_dir): Likewise.
45446 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45447
45448 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45449 LEN to grub_disk_addr_t and grub_size_t, respectively.
45450
45451 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45452
45453 * fs/jfs.c (grub_jfs_read_file): Likewise.
45454
45455 * fs/minix.c (grub_jfs_read_file): Likewise.
45456
45457 * fs/sfs.c (grub_jfs_read_file): Likewise.
45458
45459 * fs/ufs.c (grub_jfs_read_file): Likewise.
45460
45461 * fs/xfs.c (grub_jfs_read_file): Likewise.
45462
45463 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45464 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45465 respectively.
45466
45467 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45468 BLKNR to -1 instead of returning GRUB_ERRNO.
45469 (grub_ext2_read_file): Change the types of SECTOR and
45470 LEN to grub_disk_addr_t and grub_size_t, respectively.
45471
45472 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45473 LEN to grub_disk_addr_t and grub_size_t, respectively.
45474
45475 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45476 grub_file_read.
45477
45478 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45479 string. Do not cast SECTOR explicitly.
45480
45481 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45482 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45483 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45484 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45485 over 2TB and LBA mode is not supported, raise an error.
45486 (get_safe_sectors): New function.
45487 (grub_biosdisk_read): Use get_safe_sectors.
45488 (grub_biosdisk_write): Likewise.
45489
45490 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45491 (grub_efidisk_write): Likewise.
45492
45493 * disk/loopback.c (delete_loopback): Cosmetic changes.
45494 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45495 correctly.
45496 (grub_loopback_open): Likewise.
45497 (grub_loopback_read): Likewise. Also, change the type of POS to
45498 grub_off_t, and fix the usage of grub_memset.
45499
45500 * commands/i386/pc/play.c: Include grub/machine/time.h.
45501
45502 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45503 print FILE->SIZE.
45504
45505 * commands/configfile.c: Include grub/env.h.
45506
45507 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45508 GRUB_ERRNO directly instead. Change the type of POS to
45509 grub_off_t. Follow the coding standard.
45510
45511 * commands/blocklist.c: Include grub/partition.h.
45512 (grub_cmd_blocklist): Return an error if the underlying device is
45513 not a disk. Take the starting sector of a partition into account,
45514 if a partition is used.
45515
45516 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45517 a length field.
45518 (lba_mode): Support 64-bit addresses.
45519 (chs_mode): Likewise.
45520 (copy_buffer): Adapted to the new offsets of a length field and a
45521 segment field.
45522 (blocklist_default_start): Allocate 64-bit space.
45523
45524 * boot/i386/pc/boot.S (force_lba): Removed.
45525 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45526 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45527 space.
45528 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45529 is useless.
45530 (lba_mode): Refactored to support a 64-bit address. More size
45531 optimization.
45532 (setup_sectors): Likewise.
45533
53af98ad 455342006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45535
45536 * DISTLIST: Added include/grub/i386/linux.h. Removed
45537 include/grub/i386/pc/linux.h
45538
45539 * configure.ac (AC_INIT): Bumped to 1.94.
45540
45541 * config.guess: Updated from gnulib.
45542 * config.sub: Likewise.
45543 * install-sh: Likewise.
45544 * mkinstalldirs: Likewise.
45545
b4c1940a 455462006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45547
45548 * conf/common.rmk (grub_modules_init.lst): Depended on
45549 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45550 MODSRCFILES.
45551
45552 * genmk.rb (PModule::rule): Reverted the previous change.
45553
cfca1cfd 455542006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45555
45556 * conf/common.rmk (grub_modules_init.lst): Depends on
45557 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45558 that the target does not exist before producing.
45559 (grub_modules_init.h): Remove the target before generating.
45560 (grub_emu_init.c): Likewise.
45561
45562 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45563
aa6d7826 455642006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45565
45566 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45567 for the target-specific tests. Make sure that we also have the
45568 up-to-date target variables for those tests.
45569
26c607b9 455702006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45571
45572 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45573 (PModule::rule): Likewise.
45574
0162321a 455752006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45576
45577 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45578 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45579 target-specific flags should be prefixed.
45580 (PModule::rule): Likewise.
45581
6c826348 455822006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45583
45584 * configure.ac (CMP): Check if cmp is available explicitly.
45585
b977bf01 455862006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45587
45588 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45589 (target_cpu): New variable.
45590 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45591
b977bf01 45592 * util/i386/pc/grub-install.in (host_cpu): Removed.
45593 (target_cpu): New variable.
45594 (pkglibdir): Use target_cpu instead of host_cpu.
45595
45596 * util/genmoddep.c: Removed.
f19dbdb7 45597
b977bf01 45598 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45599 instead of GRUB_HOST_SIZEOF_VOID_P.
45600 * kern/dl.c: Likewise.
45601
45602 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45603 ...
45604 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45605 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45606 (GRUB_TARGET_SIZEOF_LONG): ... this.
45607 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45608 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45609 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45610 to ...
45611 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45612 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45613 (GRUB_TARGET_SIZEOF_LONG): ... this.
45614 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45615 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45616 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45617 to ...
45618 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45619 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45620 (GRUB_TARGET_SIZEOF_LONG): ... this.
45621 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45622 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45623
45624 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45625 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45626 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45627 instead of GRUB_HOST_SIZEOF_LONG.
45628 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45629 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45630 GRUB_CPU_WORDS_BIGENDIAN.
45631 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45632 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45633 grub_host_ssize_t.
45634
45635 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45636 (genmoddep_SOURCES): Likewise.
45637 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45638 (genmoddep_SOURCES): Likewise.
45639 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45640 (genmoddep_SOURCES): Likewise.
45641 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45642 Likewise.
45643 (genmoddep_SOURCES): Likewise.
45644
45645 * genmoddep.awk: New file.
45646
45647 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45648 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45649 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45650 (PModule::rule): Likewise.
45651 (Program::rule): Likewise.
45652 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45653 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45654 respectively.
45655
45656 * configure.ac: Rewritten intensively to use host and target
45657 instead of build and host, respectively.
45658
45659 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45660 (host_cpu): Removed.
45661 (target_cpu): New variable.
45662 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45663 (BUILD_CC): Removed.
45664 (BUILD_CFLAGS): Likewise.
45665 (BUILD_CPPFLAGS): Likewise.
45666 (TARGET_CC): New variable.
45667 (TARGET_CFLAGS): Likewise.
45668 (TARGET_CPPFLAGS): Likewise.
45669 (TARGET_LDFLAGS): Likewise.
45670 (AWK): Likewise.
45671 (include): Use target_cpu instead of host_cpu.
45672 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45673
b977bf01 45674 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45675
f09771a1 456762006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45677
45678 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45679 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45680 field 'false' to 'exec_on_false'.
45681 (grub_script_create_cmdif): Renamed argument names to reflect above
45682 changes.
45683
45684 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45685
45686 * normal/script.c (grub_script_create_cmdif): Likewise.
45687
118f4fb3 456882006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45689
45690 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45691 top.
45692 (grub_hfsplus_btree_recptr): Likewise.
45693 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45694 FILEBLOCK both to pass a block number and store next block
45695 number.
45696 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45697 overflow file correctly. Specify errors appropriately, because
45698 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45699 grub_hfsplus_btree_recptr to get the pointer to a found key.
45700 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45701 is found.
45702
45703 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45704 linux.mod.
45705 (_linux_mod_SOURCES): New variable.
45706 (_linux_mod_CFLAGS): Likewise.
45707 (_linux_mod_LDFLAGS): Likewise.
45708 (linux_mod_SOURCES): Likewise.
45709 (linux_mod_CFLAGS): Likewise.
45710 (linux_mod_LDFLAGS): Likewise.
45711
45712 * DISTLIST: Added loader/i386/efi/linux.c,
45713 loader/i386/efi/linux_normal.c and
45714 include/grub/i386/efi/loader.h.
45715
45716 * loader/i386/efi/linux.c: New file.
45717 * loader/i386/efi/linux_normal.c: Likewise.
45718 * include/grub/i386/efi/loader.h: Likewise.
45719
89a7d726 457202006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45721
45722 * commands/blocklist.c: New file.
45723
45724 * DISTLIST: Added commands/blocklist.c.
45725
45726 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45727 color for the background, and a darker color for the foreground.
89a7d726 45728 (grub_console_checkkey): Return READ_KEY.
45729 (grub_console_cls): Set the background to
45730 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45731
45732 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45733
45734 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45735 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45736
45737 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45738 prototype.
45739
45740 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45741 BG. The spec is wrong again.
45742
45743 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45744 prototype.
45745 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45746
45747 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45748 commands/blocklist.c.
45749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45750
89a7d726 45751 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45752 (blocklist_mod_SOURCES): New variable.
45753 (blocklist_mod_CFLAGS): Likewise.
45754 (blocklist_mod_LDFLAGS): Likewise.
45755
75c8f258 457562006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45757
45758 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45759 duplication.
45760 (lba_mode): Use %eax more intensively to reduce the code size.
45761
da2eb181 457622006-05-20 Marco Gerards <marco@gnu.org>
45763
45764 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45765
45766 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45767 for `menuentry'.
45768 (script): Accept leading newlines.
45769 (newlines): New rule to describe 0 or more newlines.
45770 (commands): Accept `command' with trailing newline. Fixed the
45771 order in which arguments were passed to `grub_script_add_cmd'.
45772 Accept commands separated by newlines.
45773 (function): Changed to accept newlines.
45774 (menuentry) Rewritten.
45775
45776 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45777 front of the list, instead of to the end.
45778
577b4050 457792006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45780
45781 * util/i386/pc/grub-install.in (bindir): New variable.
45782 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45783 Shaver <lbgwjl@gmail.com>.
45784
0d6e1189 457852006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45786
45787 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45788 grub/machine/linux.h
45789 * loader/i386/pc/linux.c: Likewise.
45790
45791 * include/grub/i386/pc/linux.h: Moved to ...
45792 * include/grub/i386/linux.h: ... here.
45793
45794 * include/grub/i386/linux.h (struct linux_kernel_params): New
45795 struct.
f19dbdb7 45796
31b86e9f 457972006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45798
45799 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45800 checking.
45801 (grub_video_vbe_blit_glyph): Likewise.
45802 (grub_video_vbe_blit_bitmap): Likewise.
45803 (grub_video_vbe_blit_render_target): Likewise.
45804
83b984de 458052006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45806
45807 * configure.ac (--with-platform): Properly quote the square
45808 brackets.
45809
5f0413bd 458102006-05-08 Marco Gerards <marco@gnu.org>
45811
45812 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45813 this...
45814 (kernel_elf_HEADERS): ...to this. Updated all users.
45815 (grubof_symlist.c): Renamed from this...
45816 (kernel_elf_symlist.c): ...to this. Updated all users.
45817 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45818 (grubof_SOURCES): Renamed from this...
45819 (kernel_elf_SOURCES): ...to this.
45820 (grubof_HEADERS): Renamed from this...
45821 (kernel_elf_HEADERS): ...to this.
45822 (grubof_CFLAGS): Renamed from this...
45823 (kernel_elf_CFLAGS): ...to this.
45824 (grubof_ASFLAGS): Renamed from this...
45825 (kernel_elf_ASFLAGS): ...to this.
45826 (grubof_LDFLAGS): Renamed from this...
45827 (kernel_elf_LDFLAGS): ...to this.
45828
45829 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45830 this...
45831 (kernel_elf_HEADERS): ...to this. Updated all users.
45832 (grubof_symlist.c): Renamed from this...
45833 (kernel_elf_symlist.c): ...to this. Updated all users.
45834 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45835 (grubof_SOURCES): Renamed from this...
45836 (kernel_elf_SOURCES): ...to this.
45837 (grubof_HEADERS): Renamed from this...
45838 (kernel_elf_HEADERS): ...to this.
45839 (grubof_CFLAGS): Renamed from this...
45840 (kernel_elf_CFLAGS): ...to this.
45841 (grubof_ASFLAGS): Renamed from this...
45842 (kernel_elf_ASFLAGS): ...to this.
45843 (grubof_LDFLAGS): Renamed from this...
45844 (kernel_elf_LDFLAGS): ...to this.
45845
45846 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45847 `kernel.elf' instead of `grubof'.
45848
05568c2e 458492006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45850
45851 Add --with-platform to configure. Use pkglibdir instead of
45852 pkgdatadir. This is reported by Roger Leigh.
45853
45854 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45855 (host_vendor): Likewise.
45856 (host_os): Likewise.
45857 (pkgdatadir): Likewise.
45858 (platform): New variable.
45859 (pkglibdir): Likewise.
45860 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45861
05568c2e 45862 * util/i386/pc/grub-install.in (datadir): Removed.
45863 (host_vendor): Likewise.
45864 (host_os): Likewise.
45865 (pkgdatadir): Likewise.
45866 (platform): New variable.
45867 (pkglibdir): Likewise.
45868 Use PKGLIBDIR instead of PKGDATADIR.
45869
45870 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45871 instead of GRUB_DATADIR.
45872 (main): Likewise.
45873 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45874 (main): Likewise.
45875 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45876 (main): Likewise.
45877
45878 * configure.ac (--with-platform): New option.
45879 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45880
45881 * Makefile.in: Include a makefile based on PLATFORM instead of
45882 HOST_VENDOR.
45883 (pkgdatadir): Not appended by the machine type.
45884 (pkglibdir): Appended by the machine type.
45885 (host_vendor): Removed.
45886 (platform): New variable.
45887 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45888 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45889 (uninstall): Likewise.
45890
4e93851c 458912006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45892
45893 Use the environment context in the menu. Remove the commands
45894 "default" and "timeout", and use variables instead.
f19dbdb7 45895
4e93851c 45896 * normal/menu.c: Include grub/env.h.
45897 (print_entry): Cast TITLE to silence gcc.
45898 (get_timeout): New function.
45899 (set_timeout): Likewise.
45900 (get_entry_number): Likewise.
45901 (run_menu): Use a default entry, a fallback entry and a timeout
45902 in the environment variables "default", "fallback" and
45903 "timeout". Also, tweak the default entry if it is not within the
45904 current menu entries.
45905 (grub_menu_run): Use a fallback entry in the environment variable
45906 "fallback".
45907
45908 * normal/main.c (read_config_file): Do not initialize
45909 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45910 NEWMENU->TIMEOUT.
45911 (grub_normal_execute): Use a data slot to store the menu.
45912
45913 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45914 fallback_entry and timeout.
45915 (struct grub_menu_list): Removed.
45916 (grub_menu_list_t): Likewise.
45917 (struct grub_context): Likewise.
45918 (grub_context_t): Likewise.
45919 (grub_context_get): Likewise.
45920 (grub_context_get_current_menu): Likewise.
45921 (grub_context_push_menu): Likewise.
45922 (grub_context_pop_menu): Likewise.
45923 (grub_default_init): Likewise.
45924 (grub_default_fini): Likewise.
45925 (grub_timeout_init): Likewise.
45926 (grub_timeout_fini): Likewise.
45927
45928 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45929 and timeout.mod.
45930 (normal_mod_SOURCES): Removed normal/context.c.
45931
45932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45933 commands/default.c, commands/timeout.c and normal/context.c.
45934 (normal_mod_SOURCES): Removed normal/context.c.
45935
45936 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45937 commands/timeout.c and normal/context.c.
45938 (normal_mod_SOURCES): Removed normal/context.c.
45939
45940 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45941 commands/default.c, commands/timeout.c and normal/context.c.
45942 (normal_mod_SOURCES): Removed normal/context.c.
45943
45944 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45945 timeout.mod.
45946 (default_mod_SOURCES): Removed.
45947 (default_mod_CFLAGS): Likewise.
45948 (default_mod_LDFLAGS): Likewise.
45949 (timeout_mod_SOURCES): Removed.
45950 (timeout_mod_CFLAGS): Likewise.
45951 (timeout_mod_LDFLAGS): Likewise.
45952
45953 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45954 normal/context.c.
45955
45956 * commands/default.c: Removed.
45957 * commands/timeout.c: Likewise.
45958 * normal/context.c: Likewise.
45959
1eb9cc1d 459602006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45961
45962 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45963
385bd9c1 459642006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45965
45966 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45967 "next" to "prev" for readability.
45968 (struct grub_env_sorted_var): New struct.
45969 (grub_env_context): Renamed to ...
45970 (initial_context): ... this.
45971 (grub_env_var_context): Renamed to ...
45972 (current_context): ... this.
45973 (grub_env_find): Look only at CURRENT_CONTEXT.
45974 (grub_env_context_open): Rewritten to copy exported variables from
45975 previous context.
45976 (grub_env_context_close): Rewritten according to the new
45977 scheme. Also, add an assertion to prevent the initial context from
45978 removed.
45979 (grub_env_insert): Removed the code for the sorted list.
45980 (grub_env_remove): Likewise.
45981 (grub_env_export): Simply mark the variable with
45982 GRUB_ENV_VAR_GLOBAL.
45983 (grub_env_set): A cosmetic change for naming consistency.
45984 (grub_env_get): Likewise.
45985 (grub_env_unset): Likewise.
45986 (grub_env_iterate): Rewritten to sort variables within this
45987 function.
45988 (grub_register_variable_hook): Fixed for naming consistency. Call
45989 grub_env_find again, only if NAME is not found at the first time.
45990 (mangle_data_slot_name): New function.
45991 (grub_env_set_data_slot): Likewise.
45992 (grub_env_get_data_slot): Likewise.
45993 (grub_env_unset_data_slot): Likewise.
45994
45995 * include/grub/env.h (grub_env_var_type): New enum.
45996 (GRUB_ENV_VAR_LOCAL): New constant.
45997 (GRUB_ENV_VAR_GLOBAL): Likewise.
45998 (GRUB_ENV_VAR_DATA): Likewise.
45999 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46000 "type".
46001 (grub_env_set): Replace VAR with NAME for consistency.
46002 (grub_register_variable_hook): Likewise.
46003 (grub_env_export): Specify the name of the argument.
46004 (grub_env_set_data_slot): New prototype.
46005 (grub_env_get_data_slot): Likewise.
46006 (grub_env_unset_data_slot): Likewise.
46007
7f362539 460082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46009
46010 Extend the loader so that GRUB can accept a loader which comes
46011 back to GRUB when a loaded image exits. Also, this change adds
46012 support for a chainloader on EFI.
f19dbdb7 46013
7f362539 46014 * term/efi/console.c: Include grub/misc.h.
46015 (grub_console_checkkey): Display a scan code on the top for
46016 debugging. This will be removed once the EFI port gets stable.
46017 Correct the scan code mapping.
46018
46019 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46020 allocate memory from larger regions, in order to reduce the number
46021 of allocated regions. Otherwise, the MacOSX loader panics.
46022 (filter_memory_map): Avoid less than 1MB for compatibility with
46023 other loaders.
46024 (add_memory_regions): Allocate from the tail of a region, if
46025 possible, to avoid allocating a region near to 1MB, for the MacOSX
46026 loader.
46027
46028 * kern/efi/init.c (grub_efi_set_prefix): Specify
46029 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46030
46031 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46032 argument IMAGE_HANDLE and specify it to get a loaded image.
46033 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46034 grub_efi_get_loaded_image.
fe6b695a 46035 (grub_efi_get_filename): Divide the length by the size of
7f362539 46036 grub_efi_char16_t.
46037 (grub_efi_get_device_path): New function.
46038 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46039 the length by the size of grub_efi_char16_t for a file path device
46040 path node.
46041
46042 * kern/loader.c (grub_loader_noreturn): New variable.
46043 (grub_loader_set): Accept a new argument NORETURN. Set
46044 GRUB_LOADER_NORETURN to NORETURN.
46045 All callers changed.
46046 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46047 grub_machine_fini.
46048
46049 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46050 prototype.
46051 (grub_efi_get_loaded_image): Take an argument to specify an image
46052 handle.
46053
46054 * include/grub/loader.h (grub_loader_set): Added one more argument
46055 NORETURN.
46056
46057 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46058 instead of grub_efi_open_protocol.
46059 (grub_efidisk_get_device_name): Likewise.
46060 (grub_efidisk_close): Print a newline.
46061 (grub_efidisk_get_device_handle): Fixed to use
46062 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46063 GRUB_EFI_DEVICE_PATH_TYPE.
46064
46065 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46066 * kern/efi/efi.c (device_path_guid): ... here.
46067
46068 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46069 chain.mod.
46070 (kernel_mod_HEADERS): Added efi/disk.h.
46071 (_chain_mod_SOURCES): New variable.
46072 (_chain_mod_CFLAGS): Likewise.
46073 (_chain_mod_LDFLAGS): Likewise.
46074 (chain_mod_SOURCES): Likewise.
46075 (chain_mod_CFLAGS): Likewise.
46076 (chain_mod_LDFLAGS): Likewise.
46077
46078 * DISTLIST: Added include/grub/efi/chainloader.h,
46079 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46080
46081 * include/grub/efi/chainloader.h: New file.
46082 * loader/efi/chainloader.c: Likewise.
46083 * loader/efi/chainloader_normal.c: Likewise.
46084
c0111d6e 460852006-04-30 Marco Gerards <marco@gnu.org>
46086
46087 * commands/configfile.c (grub_cmd_source): New function.
46088 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46089 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46090
df5341da 460912006-04-30 Marco Gerards <marco@gnu.org>
46092
46093 * normal/execute.c (grub_script_execute_cmd): Change the return
46094 type to `grub_err_t'. Correctly return the error.
46095 (grub_script_execute_cmdline): In case a command line is not a
46096 command or a function, try to interpret it as an assignment.
46097
f85934bd 460982006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46099
46100 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46101 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46102 skip a node whose name is obviously invalid as UTF-16,
46103 i.e. contains a NUL character. Stop the iteration when the last
46104 directory entry is found. Instead of using the return value of
46105 grub_hfsplus_btree_iterate_node, store the value in RET and use
46106 it, because the iterator can be stopped by the last directory
46107 entry.
46108
8f8a2cf8 461092006-04-30 Marco Gerards <marco@gnu.org>
46110
46111 * include/grub/env.h (grub_env_export): New prototype. Reported
46112 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46113
a27e84ce 461142006-04-30 Marco Gerards <marco@gnu.org>
46115
46116 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46117 size of the extents in a catalog file record.
46118
eaef0553 461192006-04-29 Marco Gerards <marco@gnu.org>
46120
46121 * commands/configfile.c (grub_cmd_configfile): Execute the
46122 configfile within its own context.
46123
46124 * include/grub/env.h (grub_env_context_open): New prototype.
46125 (grub_env_context_close): Likewise.
46126
46127 * kern/env.c (grub_env): Removed.
46128 (grub_env_sorted): Likewise.
46129 (grub_env_context): New variable.
46130 (grub_env_var_context): Likewise.
46131 (grub_env_find): Search both the active context and the global
46132 context.
46133 (grub_env_context_open): New function.
46134 (grub_env_context_close): Likewise.
46135 (grub_env_insert): Likewise.
46136 (grub_env_remove): Likewise.
46137 (grub_env_export): Likewise.
46138 (grub_env_set): Changed to use helper functions to avoid code
46139 duplication.
46140 (grub_env_iterate): Rewritten so both the current context and the
46141 global context are being used.
46142
46143 * normal/command.c (export_command): New function.
46144 (grub_command_init): Register the `export' function.
46145
7b455f4d 461462006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46147
46148 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46149 explicitly to suppress gcc's warnings.
46150 * fs/fat.c (grub_fat_find_dir): Likewise.
46151 (grub_fat_label): Likewise.
46152 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46153 (grub_xfs_mount): Likewise.
46154 (grub_xfs_label): Likewise.
46155 * fs/affs.c (grub_affs_mount): Likewise.
46156 (grub_affs_label): Likewise.
46157 (grub_affs_iterate_dir): Likewise.
46158 * fs/sfs.c (grub_sfs_mount): Likewise.
46159 (grub_sfs_iterate_dir): Likewise.
46160 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46161 * fs/hfs.c (grub_hfs_mount): Likewise.
46162 (grub_hfs_cmp_catkeys): Likewise.
46163 (grub_hfs_find_dir): Likewise.
46164 (grub_hfs_dir): Likewise.
46165 (grub_hfs_label): Likewise.
46166 * fs/jfs.c (grub_jfs_mount): Likewise.
46167 (grub_jfs_opendir): Likewise.
46168 (grub_jfs_getent): Likewise.
46169 (grub_jfs_lookup_symlink): Likewise.
46170 (grub_jfs_label): Likewise.
46171 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46172 (grub_hfsplus_iterate_dir): Likewise.
46173 (grub_hfsplus_btree_iterate_node): Made static.
46174
46175 * util/grub-emu.c (prefix): New variable.
46176 (grub_machine_set_prefix): New function.
46177 (main): Do not set the environment variable "prefix" here. Only
46178 set PREFIX, which is used later by grub_machine_set_prefix.
46179
46180 * include/grub/video.h: Do not include grub/symbol.h.
46181 (grub_video_register): Not exported. This symbol is not defined in
46182 the kernel.
46183 (grub_video_unregister): Likewise.
46184 (grub_video_iterate): Likewise.
46185 (grub_video_setup): Likewise.
46186 (grub_video_restore): Likewise.
46187 (grub_video_get_info): Likewise.
46188 (grub_video_get_blit_format): Likewise.
46189 (grub_video_set_palette): Likewise.
46190 (grub_video_get_palette): Likewise.
46191 (grub_video_set_viewport): Likewise.
46192 (grub_video_get_viewport): Likewise.
46193 (grub_video_map_color): Likewise.
46194 (grub_video_map_rgb): Likewise.
46195 (grub_video_map_rgba): Likewise.
46196 (grub_video_fill_rect): Likewise.
46197 (grub_video_blit_glyph): Likewise.
46198 (grub_video_blit_bitmap): Likewise.
46199 (grub_video_blit_render_target): Likewise.
46200 (grub_video_scroll): Likewise.
46201 (grub_video_swap_buffers): Likewise.
46202 (grub_video_create_render_target): Likewise.
46203 (grub_video_delete_render_target): Likewise.
46204 (grub_video_set_active_render_target): Likewise.
46205
46206 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46207 Undefined.
46208 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46209
46210 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46211 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46212 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46213 instead of $(srcdir)/genkernsyms.sh.
46214
46215 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46216 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46217 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46218 instead of $(srcdir)/genkernsyms.sh.
46219
46220 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46221 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46222 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46223 instead of $(srcdir)/genkernsyms.sh.
46224
46225 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46226 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46227 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46228 instead of $(srcdir)/genkernsyms.sh.
46229
46230 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46231 genkernsyms.sh.
46232
46233 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46234 genkernsyms.sh.
46235 (gensymlist.sh): New target.
46236 (genkernsyms.sh): Likewise.
46237
46238 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46239 genkernsyms.sh.in and gensymlist.sh.in.
46240
46241 * genkernsyms.sh: Removed.
46242 * gensymlist.sh: Likewise.
f19dbdb7 46243
7b455f4d 46244 * genkernsyms.sh.in: New file.
46245 * gensymlist.sh.in: Likewise.
46246
1885bb27 462472006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46248
46249 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46250 clobber "prefix", since we may have already set it manually.
46251
71538dff 462522006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46253
46254 * kern/misc.c (abort): New alias for grub_abort.
46255
2965c7cc 462562006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46257
46258 A new machine-specific function "grub_machine_set_prefix" is
46259 defined. This is called after loading modules, so that a prefix
46260 initialization can use modules. Also, this change adds an
46261 intensive debugging feature for the memory manager via the
46262 configure option "--enable-mm-debug".
f19dbdb7 46263
2965c7cc 46264 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46265 PART.LEN.
46266
46267 * kern/sparc64/ieee1275/init.c (abort): Removed.
46268 (grub_stop): Likewise.
46269 (grub_exit): New function.
46270 (grub_set_prefix): Renamed to ...
46271 (grub_machine_set_prefix): ... this.
46272 (grub_machine_init): Do not call grub_set_prefix.
46273
46274 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46275 (grub_machine_set_prefix): ... this.
46276 (grub_machine_init): Do not call grub_set_prefix.
46277
46278 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46279 (grub_machine_init): Do not set the prefix here.
46280
46281 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46282
46283 * kern/efi/init.c: Include grub/mm.h.
46284 (grub_efi_set_prefix): New function.
46285
46286 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46287 (grub_efi_get_filename): New function.
46288 (grub_print_device_path): Renamed to ...
46289 (grub_efi_print_device_path): ... this.
46290
46291 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46292 [MM_DEBUG] (grub_realloc): Likewise.
46293 [MM_DEBUG] (grub_free): Likewise.
46294 [MM_DEBUG] (grub_memalign): Likewise.
46295 [MM_DEBUG] (grub_mm_debug): New variable.
46296 [MM_DEBUG] (grub_debug_malloc): New function.
46297 [MM_DEBUG] (grub_debug_free): New function.
46298 [MM_DEBUG] (grub_debug_realloc): New function.
46299 [MM_DEBUG] (grub_debug_memalign): New function.
46300
46301 * kern/misc.c (grub_abort): Print a newline to distinguish
46302 the message.
46303
46304 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46305 grub_set_root_dev after loading modules. This is necessary when
46306 setting a prefix depends on modules.
46307
46308 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46309 (grub_efi_print_device_path): ... this.
46310 (grub_efi_get_filename): New prototype.
46311 (grub_efi_set_prefix): Likewise.
46312
46313 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46314 and grub/disk.h.
46315 (grub_efidisk_get_device_handle): New prototype.
46316 (grub_efidisk_get_device_name): Likewise.
46317
46318 * include/grub/mm.h: Include config.h.
46319 (MM_DEBUG): Removed.
46320 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46321 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46322 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46323 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46324 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46325 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46326 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46327 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46328 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46329
46330 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46331
46332 * disk/efi/efidisk.c: Include grub/partition.h.
46333 (iterate_child_devices): New function.
46334 (add_device): First, compare only last device path nodes, so that
46335 devices are sorted by the types.
46336 (grub_efidisk_get_device_handle): New function.
46337 (grub_efidisk_get_device_name): Likewise.
46338
46339 * configure.ac (--enable-mm-debug): New option to enable the
46340 memory manager debugging feature. This makes the binary much
46341 bigger, so is disabled by default.
46342
9cacaa17 463432006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46344
46345 Use grub_abort instead of grub_stop, and grub_exit must be
46346 define in each architecture now. Also, this change adds support
46347 for EFI disks.
f19dbdb7 46348
9cacaa17 46349 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46350 (grub_getkey): New function.
46351 (grub_term_get_current): Likewise.
46352
46353 * util/i386/pc/grub-setup.c: Include grub/term.h.
46354 (grub_getkey): New function.
46355 (grub_term_get_current): Likewise.
46356
46357 * util/misc.c (grub_stop): Renamed to ...
46358 (grub_exit): ... this.
46359
46360 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46361 (grub_exit): ... this.
46362 (grub_machine_init): Use grub_abort instead of abort.
46363 (grub_stop): Removed.
46364
46365 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46366 abort.
46367
46368 * kern/i386/pc/startup.S (grub_exit): New function.
46369 (cold_reboot): New label.
46370
46371 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46372 (grub_efi_init): Call grub_efidisk_init.
46373 (grub_efi_fini): Call grub_efidisk_fini.
46374
46375 * kern/efi/efi.c: Include grub/mm.h.
46376 (grub_efi_console_control_guid): Renamed to ...
46377 (console_control_guid): ... this.
46378 (grub_efi_loaded_image_guid): Renamed to ...
46379 (loaded_image_guid): ... this.
46380 (grub_efi_locate_handle): New function.
46381 (grub_efi_open_protocol): Likewise.
46382 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46383 GRUB_EFI_CONSOLE_CONTROL_GUID.
46384 (grub_efi_exit): Removed.
46385 (grub_stop): Likewise.
46386 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46387 (grub_exit): New function.
46388 (grub_print_device_path): Likewise.
46389
46390 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46391 (grub_enter_rescue_mode): Register "exit".
46392
46393 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46394 (grub_abort): New function.
46395
46396 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46397
46398 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46399
46400 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46401
46402 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46403 (grub_print_device_path): New prototype.
46404 (grub_efi_locate_handle): Likewise.
46405 (grub_efi_open_protocol): Likewise.
46406
46407 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46408 * disk/efi/efidisk.c: Likewise.
46409
46410 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46411
46412 * include/grub/efi/console_control.h
46413 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46414
46415 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46416 last 8 bytes as an array.
46417 (GRUB_EFI_DISK_IO_GUID): New macro.
46418 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46419 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46420 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46421 grub_uint8_t.
46422 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46423 (struct grub_efi_device_path): Rename the member "sub_type" to
46424 "subtype".
46425 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46426 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46427 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46428 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46429 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46430 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46431 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46432 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46433 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46434 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46435 (struct grub_efi_pci_device_path): New structure.
46436 (grub_efi_pci_device_path_t): New type.
46437 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46438 (struct grub_efi_pccard_device_path): New structure.
46439 (grub_efi_pccard_device_path_t): New type.
46440 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46441 (struct grub_efi_memory_mapped_device_path): New structure.
46442 (grub_efi_memory_mapped_device_path_t): New type.
46443 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46444 (struct grub_efi_vendor_device_path): New structure.
46445 (grub_efi_vendor_device_path_t): New type.
46446 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46447 (struct grub_efi_controller_device_path): New structure.
46448 (grub_efi_controller_device_path_t): New type.
46449 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46450 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46451 (struct grub_efi_acpi_device_path): New structure.
46452 (grub_efi_acpi_device_path_t): New type.
46453 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46454 (struct grub_efi_expanded_acpi_device_path): New structure.
46455 (grub_efi_expanded_acpi_device_path_t): New type.
46456 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46457 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46458 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46459 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46460 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46461 (struct grub_efi_atapi_device_path): New structure.
46462 (grub_efi_atapi_device_path_t): New type.
46463 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46464 (struct grub_efi_fibre_channel_device_path): New structure.
46465 (grub_efi_fibre_channel_device_path_t): New type.
46466 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46467 (struct grub_efi_1394_device_path): New structure.
46468 (grub_efi_1394_device_path_t): New type.
46469 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46470 (struct grub_efi_usb_device_path): New structure.
46471 (grub_efi_usb_device_path_t): New type.
46472 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46473 (struct grub_efi_usb_class_device_path): New structure.
46474 (grub_efi_usb_class_device_path_t): New type.
46475 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46476 (struct grub_efi_i2o_device_path): New structure.
46477 (grub_efi_i2o_device_path_t): New type.
46478 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46479 (struct grub_efi_mac_address_device_path): New structure.
46480 (grub_efi_mac_address_device_path_t): New type.
46481 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46482 (struct grub_efi_ipv4_device_path): New structure.
46483 (grub_efi_ipv4_device_path_t): New type.
46484 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46485 (struct grub_efi_ipv6_device_path): New structure.
46486 (grub_efi_ipv6_device_path_t): New type.
46487 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46488 (struct grub_efi_infiniband_device_path): New structure.
46489 (grub_efi_infiniband_device_path_t): New type.
46490 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46491 (struct grub_efi_uart_device_path): New structure.
46492 (grub_efi_uart_device_path_t): New type.
46493 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46494 (struct grub_efi_vendor_messaging_device_path): New structure.
46495 (grub_efi_vendor_messaging_device_path_t): New type.
46496 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46497 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46498 (struct grub_efi_hard_drive_device_path): New structure.
46499 (grub_efi_hard_drive_device_path_t): New type.
46500 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46501 (struct grub_efi_cdrom_device_path): New structure.
46502 (grub_efi_cdrom_device_path_t): New type.
46503 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46504 (struct grub_efi_vendor_media_device_path): New structure.
46505 (grub_efi_vendor_media_device_path_t): New type.
46506 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46507 (struct grub_efi_file_path_device_path): New structure.
46508 (grub_efi_file_path_device_path_t): New type.
46509 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46510 (struct grub_efi_protocol_device_path): New structure.
46511 (grub_efi_protocol_device_path_t): New type.
46512 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46513 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46514 (struct grub_efi_bios_device_path): New structure.
46515 (grub_efi_bios_device_path_t): New type.
46516 (struct grub_efi_disk_io): New structure.
46517 (grub_efi_disk_io_t): New type.
46518 (struct grub_efi_block_io_media): New structure.
46519 (grub_efi_block_io_media_t): New type.
46520 (struct grub_efi_block_io): New structure.
46521 (grub_efi_block_io_t): New type.
46522
46523 * include/grub/misc.h (grub_stop): Removed.
46524 (grub_exit): New prototype.
46525 (grub_abort): Likewise.
46526
46527 * include/grub/disk.h (enum grub_disk_dev_id): Added
46528 GRUB_DISK_DEVICE_EFIDISK_ID.
46529
46530 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46531 disk/efi/efidisk.c.
46532 (kernel_syms.lst): Remove the target if an error occurs.
46533
49986a9f 465342006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46535
46536 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46537 as it was simply too buggy.
46538
970d3b8a 465392006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46540
46541 * kern/misc.c (grub_lltoa): New function.
46542 (grub_vsprintf): Added support for the long long suffix,
46543 i.e. "ll".
46544
ff04ec24 465452006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46546
46547 * Makefile.in (LDFLAGS): Add variable.
46548 (LD): Remove variable.
46549 * configure.ac: Add -m32 to LDFLAGS.
46550 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46551 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46552 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46553 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46554 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46555 variables.
46556 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46557 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46558 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46559
37e5e1a4 465602006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46561
46562 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46563 length for unknown glyph.
46564
c352d8dd 465652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46566
2eab1c0d 46567 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46568
2eab1c0d 46569 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46570 completely. Accept one more argument DIR. The caller has changed.
46571
46572 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46573
46574 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46575 (grub_efi_loaded_image_guid): New variable.
46576 (grub_efi_get_loaded_image): New function.
46577 (grub_arch_modules_addr): Likewise.
46578
46579 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46580 prototype.
46581
46582 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46583 (struct grub_efi_loaded_image): New structure.
46584 (grub_efi_loaded_image_t): New type.
46585
465862006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46587
c352d8dd 46588 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46589 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46590 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46591
6d01d6b4 465922006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46593
46594 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46595
976a4ea0 465962006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46597
46598 * DISTLIST: Added include/grub/efi/console.h,
46599 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46600 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46601
46602 * include/grub/efi/console.h: New file.
46603 * include/grub/efi/time.h: Likewise.
46604 * include/grub/i386/efi/kernel.h: Likewise.
46605 * kern/efi/init.c: Likewise.
46606 * kern/efi/mm.c: Likewise.
46607 * term/efi/console.c: Likewise.
f19dbdb7 46608
976a4ea0 46609 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46610 (grub_stop): Removed.
46611 (grub_get_rtc): Likewise.
46612 (grub_machine_init): Simply call grub_efi_init.
46613 (grub_machine_fini): Call grub_efi_fini.
46614
46615 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46616 (grub_efi_output_string): Removed.
46617 (grub_efi_stall): New function.
46618 (grub_stop): Likewise.
46619 (grub_get_rtc): Likewise.
46620
46621 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46622 (grub_efi_stall): New prototype.
46623 (grub_efi_allocate_pages): Likewise.
46624 (grub_efi_free_pages): Likewise.
46625 (grub_efi_get_memory_map): Likewise.
46626 (grub_efi_mm_init): Likewise.
46627 (grub_efi_mm_fini): Likewise.
46628 (grub_efi_init): Likewise.
46629 (grub_efi_fini): Likewise.
46630
46631 * include/grub/i386/efi/time.h: Do not include
46632 grub/symbol.h. Include grub/efi/time.h.
46633 (GRUB_TICKS_PER_SECOND): Removed.
46634 (grub_get_rtc): Likewise.
46635
46636 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46637 Added padding. The EFI spec is buggy.
46638 (GRUB_EFI_BLACK): New macro.
46639 (GRUB_EFI_BLUE): Likewise.
46640 (GRUB_EFI_GREEN): Likewise.
46641 (GRUB_EFI_CYAN): Likewise.
46642 (GRUB_EFI_RED): Likewise.
46643 (GRUB_EFI_MAGENTA): Likewise.
46644 (GRUB_EFI_BROWN): Likewise.
46645 (GRUB_EFI_LIGHTGRAY): Likewise.
46646 (GRUB_EFI_BRIGHT): Likewise.
46647 (GRUB_EFI_DARKGRAY): Likewise.
46648 (GRUB_EFI_LIGHTBLUE): Likewise.
46649 (GRUB_EFI_LIGHTGREEN): Likewise.
46650 (GRUB_EFI_LIGHTCYAN): Likewise.
46651 (GRUB_EFI_LIGHTRED): Likewise.
46652 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46653 (GRUB_EFI_YELLOW): Likewise.
46654 (GRUB_EFI_WHITE): Likewise.
46655 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46656 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46657 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46658 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46659 (GRUB_EFI_BACKGROUND_RED): Likewise.
46660 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46661 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46662 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46663 (GRUB_EFI_TEXT_ATTR): Likewise.
46664
46665 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46666 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46667 (kernel_mod_HEADERS): Added efi/time.h.
46668
83709125 466692006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46670
46671 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46672 include/grub/efi/api.h, include/grub/efi/console_control.h,
46673 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46674 include/grub/i386/efi/time.h, kern/efi/efi.c,
46675 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46676 and util/i386/efi/grub-mkimage.c.
46677
46678 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46679
46680 * genmk.rb (PModule#rule): Do not export symbols if
46681 #{prefix}_EXPORTS is set to "no".
46682
46683 * conf/i386-efi.mk: New file.
46684 * conf/i386-efi.rmk: Likewise.
46685 * include/grub/efi/api.h: Likewise.
46686 * include/grub/efi/console_control.h: Likewise.
46687 * include/grub/efi/efi.h: Likewise.
46688 * include/grub/efi/pe32.h: Likewise.
46689 * include/grub/i386/efi/time.h: Likewise.
46690 * kern/efi/efi.c: Likewise.
46691 * kern/i386/efi/init.c: Likewise.
46692 * kern/i386/efi/startup.S: Likewise.
46693 * util/i386/efi/grub-mkimage.c: Likewise.
46694
466952006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46696
46697 * include/grub/script.h: Include <grub/parser.h> and
46698 "grub_script.tab.h".
46699 (struct grub_lexer_param): New struct.
46700 (struct grub_parser_param): Likewise.
46701 (grub_script_create_arglist): Pass the state in an argument.
46702 (grub_script_add_arglist): Likewise.
46703 (grub_script_create_cmdline): Likewise.
46704 (grub_script_create_cmdblock): Likewise.
46705 (grub_script_create_cmdif): Likewise.
46706 (grub_script_create_cmdmenu): Likewise.
46707 (grub_script_add_cmd): Likewise.
46708 (grub_script_arg_add): Likewise.
46709 (grub_script_lexer_ref): Likewise.
46710 (grub_script_lexer_deref): Likewise.
46711 (grub_script_lexer_record_start): Likewise.
46712 (grub_script_lexer_record_stop): Likewise.
46713 (grub_script_mem_record): Likewise.
46714 (grub_script_mem_record_stop): Likewise.
46715 (grub_script_malloc): Likewise.
46716 (grub_script_yylex): Likewise.
46717 (grub_script_yyparse): Likewise.
46718 (grub_script_yyerror): Likewise.
46719 (grub_script_yylex): Likewise.
46720 (grub_script_lexer_init): Return the state.
46721
46722 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46723 (grub_script_lexer_done): Likewise.
46724 (grub_script_lexer_getline): Likewise.
46725 (grub_script_lexer_refs): Likewise.
46726 (script): Likewise.
46727 (newscript): Likewise.
46728 (record): Likewise.
46729 (recording): Likewise.
46730 (recordpos): Likewise.
46731 (recordlen): Likewise.
46732 (grub_script_lexer_init): Return the state instead of setting
46733 global variables.
46734 (grub_script_lexer_ref): Use the newly added argument for state
46735 instead of globals.
46736 (grub_script_lexer_deref): Likewise.
46737 (grub_script_lexer_record_start): Likewise.
46738 (grub_script_lexer_record_stop): Likewise.
46739 (recordchar): Likewise.
46740 (nextchar): Likewise.
46741 (grub_script_yylex2): Likewise.
46742 (grub_script_yylex): Likewise.
46743 (grub_script_yyerror): Likewise.
46744
46745 * normal/parser.y (func_mem): Removed variable.
46746 (menu_entry): Likewise.
46747 (err): Likewise.
46748 (%lex-param): New parser option.
46749 (%parse-param): Likewise.
46750 (script): Always return the AST.
46751 (argument): Pass the state around.
46752 (arguments): Likewise.
46753 (grubcmd): Likewise.
46754 (commands): Likewise.
46755 (function): Likewise.
46756 (menuentry): Likewise.
46757 (if_statement): Likewise.
46758 (if): Likewise.
46759
46760 * normal/script.c (grub_script_memused): Removed variable.
46761 (grub_script_parsed): Likewise.
46762 (grub_script_malloc): Added a state argument. Use that instead of
46763 global variables.
46764 (grub_script_mem_record): Likewise.
46765 (grub_script_mem_record_stop): Likewise.
46766 (grub_script_arg_add): Likewise.
46767 (grub_script_add_arglist): Likewise.
46768 (grub_script_create_cmdline): Likewise.
46769 (grub_script_create_cmdif): Likewise.
46770 (grub_script_create_cmdmenu): Likewise.
46771 (grub_script_add_cmd): Likewise.
46772 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46773
e2a8c904 467742006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46775
46776 * normal/command.c (grub_command_init): Remove the title command.
46777
46778 * normal/lexer.c (grub_script_yylex): Renamed from this...
46779 (grub_script_yylex2): ... to this.
46780 (grub_script_yylex): New function. Temporary
46781 introduced to filter some tokens.
46782 (grub_script_yyerror): Print a newline.
46783
46784 * normal/main.c (read_config_file): Output information about the
46785 lines that contain errors. Wait for a key after all lines have
46786 been processed. Don't return an empty menu.
46787
46788 * normal/parser.y (func_mem): Don't initialize.
46789 (menu_entry): Likewise.
46790 (err): New variable.
46791 (script): Don't return anything when an error was encountered.
46792 (ws, returns): Removed rules.
46793 (argument): Disabled concatenated variable support.
46794 (arguments): Remove explicit separators.
46795 (grubcmd): Likewise.
46796 (function): Likewise.
46797 (menuentry): Likewise.
46798 (if): Likewise.
46799 (commands): Likewise. Add error handling.
46800
46801 * normal/script.c (grub_script_create_cmdline): If
46802 `grub_script_parsed' is 0, assume the parser encountered an error.
46803
c9a86192 468042006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46805
46806 * configure.ac: Add support for EFI. Fix the typo
46807 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46808
70f3b243 468092006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46810
46811 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46812 foreign multibyte characters should be shown correctly.
46813
65f201ad 468142006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46815
46816 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46817 calculation.
46818 (read_config_file): Made it to close file before returning.
46819
b4b93674 468202006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46821
46822 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46823 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46824 video/i386/pc/vbefill.c.
46825
46826 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46827 video/i386/pc/vbefill.c.
46828
46829 * include/grub/video.h (grub_video_blit_format): New enum.
46830 (grub_video_mode_info): Added new member blit_format.
46831 (grub_video_get_blit_format): New function prototype.
46832
46833 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46834 function prototype.
46835 (grub_video_vbe_map_rgb): Likewise.
46836 (grub_video_vbe_unmap_color): Likewise.
46837
46838 * include/grub/i386/pc/vbeblit.h: New file.
46839
46840 * include/grub/i386/pc/vbefill.h: New file.
46841
46842 * video/video.c (grub_video_get_blit_format): New function.
46843 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46844 (grub_video_vbe_map_rgb): Likewise.
46845 (grub_video_vbe_unmap_color): Likewise.
46846
46847 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46848 optimized fills.
46849 (grub_video_vbe_blit_render_target): Changed to use more optimized
46850 blits.
46851 (grub_video_vbe_setup): Added detection for optimized settings.
46852 (grub_video_vbe_create_render_target): Likewise.
46853
46854 * video/i386/pc/vbeblit.c: New file.
46855
46856 * video/i386/pc/vbefill.c: New file.
46857
c2379b9c 468582006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46859
46860 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46861 here...
46862
46863 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46864 parsing to support both hex and dec ranges. If filename was missing
46865 show usage information.
46866
bd0d7896 468672006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46868
46869 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46870 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46871
46872 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46873 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46874 (video_mod_SOURCES): Added.
46875 (video_mod_CFLAGS): Likewise.
46876 (video_mod_LDFLAGS): Likewise.
46877 (gfxterm_mod_SOURCES): Likewise.
46878 (gfxterm_mod_CFLAGS): Likewise.
46879 (gfxterm_mod_LDFLAGS): Likewise.
46880 (videotest_mod_SOURCES): Likewise.
46881 (videotest_mod_CFLAGS): Likewise.
46882 (videotest_mod_LDFLAGS): Likewise.
46883 (vesafb_mod_SOURCES): Removed.
46884 (vesafb_mod_CFLAGS): Likewise.
46885 (vesafb_mod_LDFLAGS): Likewise.
46886 (vga_mod_SOURCES): Likewise.
46887 (vga_mod_CFLAGS): Likewise.
46888 (vga_mod_LDFLAGS): Likewise.
46889
46890 * commands/videotest.c: New file.
46891
46892 * font/manager.c (fill_with_default_glyph): Modified to use
46893 grub_font_glyph.
46894 (grub_font_get_glyph): Likewise.
46895 (fontmanager): Renamed from this...
46896 (font_manager): ... to this.
46897
46898 * include/grub/font.h (grub_font_glyph): Added new structure.
46899 (grub_font_get_glyph): Modified to use grub_font_glyph.
46900
46901 * include/grub/misc.h (grub_abs): Added as inline function.
46902
46903 * include/grub/video.h: New file.
46904
46905 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46906 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46907 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46908 (grub_vbe_get_controller_info): Renamed from this...
46909 (grub_vbe_bios_get_controller_info): ... to this.
46910 (grub_vbe_get_mode_info): Renamed from this...
46911 (grub_vbe_bios_get_mode_info): ... to this.
46912 (grub_vbe_set_mode): Renamed from this...
46913 (grub_vbe_bios_set_mode): ... to this.
46914 (grub_vbe_get_mode): Renamed from this...
46915 (grub_vbe_bios_get_mode): ... to this.
46916 (grub_vbe_set_memory_window): Renamed from this...
46917 (grub_vbe_bios_set_memory_window): ... to this.
46918 (grub_vbe_get_memory_window): Renamed from this...
46919 (grub_vbe_bios_get_memory_window): ... to this.
46920 (grub_vbe_set_scanline_length): Renamed from this...
46921 (grub_vbe_set_scanline_length): ... to this.
46922 (grub_vbe_get_scanline_length): Renamed from this...
46923 (grub_vbe_bios_get_scanline_length): ... to this.
46924 (grub_vbe_set_display_start): Renamed from this...
46925 (grub_vbe_bios_set_display_start): ... to this.
46926 (grub_vbe_get_display_start): Renamed from this...
46927 (grub_vbe_bios_get_display_start): ... to this.
46928 (grub_vbe_set_palette_data): Renamed from this...
46929 (grub_vbe_bios_set_palette_data): ... to this.
46930 (grub_vbe_set_pixel_rgb): Removed.
46931 (grub_vbe_set_pixel_index): Likewise.
46932
46933 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46934 from this...
46935 (grub_vbe_bios_get_controller_info): ... to this.
46936 (grub_vbe_get_mode_info): Renamed from this...
46937 (grub_vbe_bios_get_mode_info): ... to this.
46938 (grub_vbe_set_mode): Renamed from this...
46939 (grub_vbe_bios_set_mode): ... to this.
46940 (grub_vbe_get_mode): Renamed from this...
46941 (grub_vbe_bios_get_mode): ... to this.
46942 (grub_vbe_set_memory_window): Renamed from this...
46943 (grub_vbe_bios_set_memory_window): ... to this.
46944 (grub_vbe_get_memory_window): Renamed from this...
46945 (grub_vbe_bios_get_memory_window): ... to this.
46946 (grub_vbe_set_scanline_length): Renamed from this...
46947 (grub_vbe_set_scanline_length): ... to this.
46948 (grub_vbe_get_scanline_length): Renamed from this...
46949 (grub_vbe_bios_get_scanline_length): ... to this.
46950 (grub_vbe_set_display_start): Renamed from this...
46951 (grub_vbe_bios_set_display_start): ... to this.
46952 (grub_vbe_get_display_start): Renamed from this...
46953 (grub_vbe_bios_get_display_start): ... to this.
46954 (grub_vbe_set_palette_data): Renamed from this...
46955 (grub_vbe_bios_set_palette_data): ... to this.
46956 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46957 getting corrupted after calling it. Added more pushes and pops.
46958 (grub_vbe_bios_set_mode): Likewise.
46959 (grub_vbe_bios_get_mode): Likewise.
46960 (grub_vbe_bios_get_memory_window): Likewise.
46961 (grub_vbe_bios_set_scanline_length): Likewise.
46962 (grub_vbe_bios_get_scanline_length): Likewise.
46963 (grub_vbe_bios_get_display_start): Likewise.
46964 (grub_vbe_bios_set_palette_data): Likewise.
46965
46966 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46967 (cl_insert): Likewise.
46968 (cl_delete): Likewise.
46969
46970 * term/gfxterm.c: New file.
46971
46972 * term/i386/pc/vesafb.c: Removed file.
46973
46974 * video/video.c: New file.
46975
46976 * video/i386/pc/vbe.c (real2pm): Added new function.
46977 (grub_video_vbe_draw_pixel): Likewise.
46978 (grub_video_vbe_get_video_ptr): Likewise.
46979 (grub_video_vbe_get_pixel): Likewise
46980 (grub_video_vbe_init): Likewise.
46981 (grub_video_vbe_fini): Likewise.
46982 (grub_video_vbe_setup): Likewise.
46983 (grub_video_vbe_get_info): Likewise.
46984 (grub_video_vbe_set_palette): Likewise.
46985 (grub_video_vbe_get_palette): Likewise.
46986 (grub_video_vbe_set_viewport): Likewise.
46987 (grub_video_vbe_get_viewport): Likewise.
46988 (grub_video_vbe_map_color): Likewise.
46989 (grub_video_vbe_map_rgb): Likewise.
46990 (grub_video_vbe_map_rgba): Likewise.
46991 (grub_video_vbe_unmap_color): Likewise.
46992 (grub_video_vbe_fill_rect): Likewise.
46993 (grub_video_vbe_blit_glyph): Likewise.
46994 (grub_video_vbe_blit_bitmap): Likewise.
46995 (grub_video_vbe_blit_render_target): Likewise.
46996 (grub_video_vbe_scroll): Likewise.
46997 (grub_video_vbe_swap_buffers): Likewise.
46998 (grub_video_vbe_create_render_target): Likewise.
46999 (grub_video_vbe_delete_render_target): Likewise.
47000 (grub_video_vbe_set_active_render_target): Likewise.
47001 (grub_vbe_set_pixel_rgb): Remove function.
47002 (grub_vbe_set_pixel_index): Likewise.
47003 (index_color_mode): Remove static variable.
47004 (active_mode): Likewise.
47005 (framebuffer): Likewise.
47006 (bytes_per_scan_line): Likewise.
47007 (grub_video_vbe_adapter): Added new static variable.
47008 (framebuffer): Likewise.
47009 (render_target): Likewise.
47010 (initial_mode): Likewise.
47011 (mode_in_use): Likewise.
47012 (mode_list): Likewise.
47013
5f97350b 470142006-03-10 Marco Gerards <marco@gnu.org>
47015
47016 * configure.ac (AC_INIT): Bumped to 1.93.
47017
47018 * DISTLIST: Added `include/grub/hfs.h'.
47019
a3c5c6f8 470202006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47021
47022 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47023 18H, which might help the BIOS falling back to next boot media.
47024
6de53d26 470252006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47026
47027 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47028 Poe Chen <poe.poechen@gmail.com>.
47029
77c4a393 470302006-01-17 Marco Gerards <marco@gnu.org>
47031
47032 * include/grub/normal.h: Include <grub/script.h>.
47033 (grub_command_list): Removed struct.
47034 (grub_command_list_t): Removed type.
47035 (grub_menu_entry): Remove members `num' and `command_list'. Add
47036 members `commands' and `sourcecode'.
47037 * include/grub/script.h: Add inclusion guards.
47038 (grub_script_cmd_menuentry): New struct.
47039 (grub_script_execute_menuentry): New prototype.
47040 (grub_script_lexer_record_start): Likewise.
47041 (grub_script_lexer_record_stop): Likewise.
47042 * normal/execute.c (grub_script_execute_menuentry): New function.
47043 * normal/lexer.c (record, recording, recordpos, recordlen): New
47044 variables.
47045 (grub_script_lexer_record_start): New function.
47046 (grub_script_lexer_record_stop): Likewise.
47047 (recordchar): Likewise.
47048 (nextchar): Likewise.
47049 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47050 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47051 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47052 (current_menu): New variable.
47053 (free_menu): Mainly rewritten.
47054 (grub_normal_menu_addentry): New function.
47055 (read_config_file): Rewritten.
47056 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47057 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47058 the menu entry.
47059 (run): Mainly rewritten.
47060 * normal/parser.y (menu_entry): New variable.
47061 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47062 (menuentry): New rule.
47063 (command): Add `menuentry'.
47064 (if_statement): Allow additional returns before `fi'.
47065 * normal/script.c (grub_script_create_cmdmenu): New function.
47066
144f1f98 470672006-01-03 Marco Gerards <marco@gnu.org>
47068
47069 * INSTALL: GNU Bison is required.
47070 * configure.ac: Rewritten the test to detect Bison.
47071 * Makefile.in (YACC): New variable. Reported by Xun Sun
47072 <xun.sun.cn@gmail.com>.
47073
af4b2d89 470742006-01-03 Marco Gerards <marco@gnu.org>
47075
47076 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47077 the HFS+ filesystem to filesystem blocks.
47078 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47079 GCC warning is silenced.
47080
15643b71 470812006-01-03 Marco Gerards <marco@gnu.org>
47082
47083 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47084 read from disk from big endian to host byte order.
47085
00905879 470862006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47087
47088 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47089 documentation.
47090 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47091 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47092 embedded HFS+ filesystem.
47093 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47094 (grub_hfs_sblock): Move from here...
47095 * include/grub/hfs.h: To here... New file.
47096 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47097 documentation.
47098 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47099 New macros.
47100 (grub_hfsplus_volheader): Change type of member `magic' to
47101 `grub_uint16_t'.
47102 (grub_hfsplus_data): Add new member `embedded_offset'.
47103 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47104 returned block.
47105 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47106 Calculate the offset.
47107
8899bc3e 471082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47109
47110 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47111 Removed.
47112 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47113
ae8c0277 471142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47115
47116 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47117 ENV->NAME is NULL after allocating ENV->VALUE.
47118
07084456 471192005-12-25 Marco Gerards <marco@gnu.org>
47120
47121 * kern/env.c (grub_env_set): Rewritten the error handling code.
47122
4750f5f1 471232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47124
47125 * geninit.sh: Made more robust, and more portable.
47126
50214199 471272005-12-25 Marco Gerards <marco@gnu.org>
47128
47129 Add support for Apple HFS+ filesystems.
f19dbdb7 47130
50214199 47131 * fs/hfsplus.c: New file.
47132
47133 * DISTLIST: Added `fs/hfsplus.c'.
47134
47135 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47136 (hfsplus_mod_SOURCES): New variable.
47137 (hfsplus_mod_CFLAGS): Likewise.
47138 (hfsplus_mod_LDFLAGS): Likewise.
47139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47140 (grub_setup_SOURCES): Likewise.
47141 (grub_mkdevicemap_SOURCES): Likewise.
47142 (grub_emu_SOURCES): Likewise.
47143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47144
47145 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47146
47147 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47148
befaed6c 471492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47150
47151 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47152 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47153 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47154 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47155 normal/lexer.c, normal/parser.y, normal/script.c, and
47156 partmap/gpt.c.
47157 Removed kern/sparc64/cache.c.
47158
47159 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47160 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47161 grub_emu_init.c.
47162
47163 * configure.ac (AC_INIT): Bumped to 1.92.
47164
6a124103 471652005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47166
47167 * kern/err.c (grub_error_push): Added new function to support error
47168 stacks.
47169 (grub_error_pop): Likewise.
47170 (grub_error_stack_items): New local variable to support error stacks.
47171 (grub_error_stack_pos): Likewise.
47172 (grub_error_stack_assert): Likewise.
47173 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47174 stack depth.
47175 (grub_print_error): Added support to print errors from error stack.
47176
47177 * include/grub/err.h (grub_error_push): Added function prototype.
47178 (grub_error_pop): Likewise.
47179
be973c1b 471802005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47181
47182 * configure.ac: Accept `powerpc64' as host_cpu.
47183 (amd64): Rename to `biarch32'.
47184
47185 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47186 non-cacheline-aligned addresses.
47187
47188 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47189 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47190 if `size' is non-zero.
47191
b04216ab 471922005-12-03 Marco Gerards <mgerards@xs4all.nl>
47193
47194 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47195 and `cd' to make sure the filename is not prefixed with a
47196 directory name.
47197 (pkgdata_MODULES): Add `gpt.mod'.
47198 (gpt_mod_SOURCES): New variable.
47199 (gpt_mod_CFLAGS): Likewise.
47200 (gpt_mod_LDFLAGS): Likewise.
47201
47202 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47203
47204 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47205 New macro.
47206
47207 * partmap/gpt.c: New file.
47208
47209 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47210 GPT partition map is detected.
47211
41730ed9 472122005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47213
47214 * commands/i386/pc/play.c: New file.
47215 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47216 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47217 macros.
f19dbdb7 47218
95dc3643 472192005-11-27 Marco Gerards <mgerards@xs4all.nl>
47220
47221 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47222 ((unused))' to silence gcc warning.
47223
1569ec51 472242005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47225
47226 * configure.ac: Correct `AC_PROG_YACC' test.
47227
9abde152 472282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47229
47230 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47231 check before installing files.
47232
44b83271 472332005-11-22 Mike Small <smallm@panix.com>
47234
47235 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47236 number regex so multidigit numbers are recognized correctly.
47237
472382005-11-22 Mike Small <smallm@panix.com>
47239
47240 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47241 debugging message before attempting to claim memory.
47242 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47243 multiple addresses in case of failure.
47244
9c12956b 472452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47246
47247 * term/tparm.c (get_space): Remove empty `if' statement.
47248
47249 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47250
47251 * kern/parser.c (check_varstate): Rename `state' to 's'.
47252
aeaf81d9 472532005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47254
47255 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47256 variable definitions to the beginning of each function. Sort stack
47257 variables by size.
47258 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47259 `buf' argument to `char *'.
47260
79bbb63f 472612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47262
47263 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47264 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47265 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47266 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47267 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47268 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47269 configfile.mod, search.mod, gzio.mod and test.mod.
47270 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47271 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47272 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47273 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47274 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47275 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47276 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47277 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47278 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47279 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47280 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47281 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47282 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47283 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47284 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47285 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47286 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47287 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47288 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47289 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47290 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47291 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47292 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47293
47294 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47295 `grep --include'.
47296 (pkgdata_MODULES): Add test.mod.
47297
233b1628 472982005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47299
47300 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47301 appending to variables with "+=".
47302 (PModule): Use full pathname to generate *.lst filenames.
47303
47304 * Makefile.in: Fixed list rules moved from genmk.rb.
47305 (.DELETE_ON_ERROR): New special target.
47306 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47307
47308 * conf/i386-pc.rmk: Include conf/common.mk.
47309 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47310 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47311 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47312 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47313 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47314 configfile.mod, search.mod, gzio.mod and test.mod.
47315 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47316 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47317 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47318 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47319 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47320 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47321 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47322 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47323 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47324 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47325 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47326 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47327 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47328 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47329 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47330 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47331 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47332 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47333 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47334 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47335 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47336 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47337 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47338 here...
47339 * conf/common.rmk: ... to here. New file.
47340
47341 * conf/common.mk: New file.
47342
16f820c8 473432005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47344
47345 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47346 (grub_script.tab.c): ... here.
47347
47348 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47349 (grub_script.tab.c): ... here.
47350
47351 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47352 (grub_script.tab.c): ... here.
47353
47354 * normal/command.c (grub_command_find): Fixed a memory leak of
47355 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47356
63ba1554 473572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47358
47359 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47360 "@" which marks the start of a comment on ARM.
47361 (VARIABLE): Likewise.
47362
7f67dc13 473632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47364
79bbb63f 47365 Add support for Linux/ADFS partition tables.
7f67dc13 47366
47367 * partmap/acorn.c: New file.
47368
47369 * include/grub/acorn_filecore.h: Likewise.
47370
47371 * DISTLIST: Added `partmap/acorn.c' and
47372 `include/grub/acorn_filecore.h'.
f19dbdb7 47373
7f67dc13 47374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47375 `partmap/acorn.c'.
47376 (pkgdata_MODULES): Add `acorn.mod'.
47377 (acorn_mod_SOURCES): New variable.
47378 (acorn_mod_CFLAGS): Likewise.
47379
47380 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47381 `partmap/acorn.c'.
47382 (pkgdata_MODULES): Add `acorn.mod'.
47383 (acorn_mod_SOURCES): New variable.
47384 (acorn_mod_CFLAGS): Likewise.
47385
47386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47387 (pkgdata_MODULES): Add `acorn.mod'.
47388 (acorn_mod_SOURCES): New variable.
47389 (acorn_mod_CFLAGS): Likewise.
47390 (acorn_mod_LDFLAGS): Likewise.
47391
47392 * include/types.h (grub_disk_addr_t): New typedef.
47393
6d099807 473942005-11-13 Marco Gerards <mgerards@xs4all.nl>
47395
47396 * geninit.sh: New file.
47397
47398 * geninitheader.sh: Likewise.
47399
47400 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47401 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47402 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47403 * commands/configfile.c (grub_configfile_init)
47404 (grub_configfile_fini): Likewise.
47405 * commands/default.c (grub_default_init, grub_default_fini):
47406 Likewise.
47407 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47408 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47409 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47410 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47411 Likewise.
47412 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47413 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47414 Likewise.
47415 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47416 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47417 Likewise.
47418 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47419 Likewise.
fe6b695a 47420 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47421 Likewise.
47422 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47423 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47424 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47425 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47426 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47427 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47428 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47429 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47430 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47431 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47432 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47433 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47434 * partmap/amiga.c (grub_amiga_partition_map_init)
47435 (grub_amiga_partition_map_fini): Likewise.
47436 * partmap/apple.c (grub_apple_partition_map_init)
47437 (grub_apple_partition_map_fini): Likewise.
47438 * partmap/pc.c (grub_pc_partition_map_init)
47439 (grub_pc_partition_map_fini): Likewise.
47440 * partmap/sun.c (grub_sun_partition_map_init,
47441 grub_sun_partition_map_fini): Likewise.
47442 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47443 Likewise.
47444
47445 * util/grub-emu.c: Include <grub_modules_init.h>.
47446 (main): Don't initialize and de-initialize any modules directly,
47447 use `grub_init_all' and `grub_fini_all' instead.
47448
47449 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47450 `grub_vesafb_mod_init'.
47451 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47452 all users.
47453 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47454 `grub_vga_mod_init'. Updated all users.
47455 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47456
6d099807 47457 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47458 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47459 rules.
47460
47461 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47462 Generate a function to initialize the module in utilities.
47463 Updated all callers.
47464 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47465 initialize the module in utilities. Updated all callers.
47466
9046bcf0 474672005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47468
47469 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47470 escape sequence and a literal ^L to clear the screen.
47471
47472 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47473 when returning from Open Firmware.
47474
d13ea639 474752005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47476
47477 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47478 (grub_ofconsole_height): Likewise.
47479 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47480 manually insert a '\n'.
47481 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47482 `grub_ofconsole_height'. Return early if these are already set.
47483
a8fcf206 474842005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47485
47486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47487 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47488 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47489 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47490 and `normal/script.c'.
47491 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47492 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47493 (test_mod_SOURCES): New variable.
47494 (test_mod_CFLAGS): Likewise.
47495 (test_mod_LDFLAGS): Likewise.
47496 (pkgdata_MODULES): Add `test.mod'.
47497 (grub_script.tab.c): New rule.
47498 (grub_script.tab.h): Likewise.
47499
b6b32745 475002005-11-07 Marco Gerards <mgerards@xs4all.nl>
47501
47502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47503 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47504 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47505 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47506 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47507 (test_mod_SOURCES): New variable.
47508 (test_mod_CFLAGS): Likewise.
47509 (pkgdata_MODULES): Add `test.mod'.
47510 (grub_script.tab.c): New rule.
47511 (grub_script.tab.h): Likewise.
47512
daac212a 475132005-11-06 Marco Gerards <mgerards@xs4all.nl>
47514
47515 Add initial scripting support.
47516
47517 * commands/test.c: New file.
47518 * include/grub/script.h: Likewise.
47519 * normal/execute.c: Likewise.
47520 * normal/function.c: Likewise.
47521 * normal/lexer.c: Likewise.
47522 * normal/parser.y: Likewise.
47523 * normal/script.c: Likewise.
47524
47525 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47526
daac212a 47527 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47528 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47529 `normal/function.c' and `normal/script.c'.
47530 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47531 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47532 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47533 variables.
daac212a 47534 (pkgdata_MODULES): Add `test.mod'.
47535 (grub_script.tab.c): New rule.
47536 (grub_script.tab.h): Likewise.
47537
47538 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47539
47540 * include/grub/normal.h (grub_test_init): New prototype.
47541 (grub_test_fini): Likewise.
f19dbdb7 47542
daac212a 47543 * normal/command.c: Include <grub/script.h>.
47544 (grub_command_execute): Rewritten.
f19dbdb7 47545
daac212a 47546 * util/grub-emu.c (main): Call `grub_test_init' and
47547 `grub_test_fini'.
47548
77500b2b 475492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47550
47551 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47552 to 0.
47553 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47554 there are no pending characters.
47555
e45deb9e 475562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47557
47558 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47559 `grub_strndup' to drop device arguments. Replace unnecessary
47560 `grub_strndup' with `grub_strdup'.
47561
4ce32619 475622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47563
47564 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47565 `debug' environment variable has been set.
47566
475672005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47568
4ce32619 47569 * Makefile.in (install-local): Use $(DATA).
47570 (uninstall): Likewise.
47571 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47572 (sbin_UTILITIES): ... to here.
47573 (sbin_SCRIPTS): New variable.
47574 (grub_install_SOURCES): New variable.
47575 * util/powerpc/ieee1275/grub-install.in: New file.
47576 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47577 variable.
47578 (add_segments): Call `grub_util_get_path'.
47579
25fe6f03 475802005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47581
47582 From Timothy Baldwin:
47583 * commands/ls.c (grub_ls_list_files): Close FILE with
47584 grub_file_close.
47585 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47586
04ccf3ec 475872005-10-24 Marco Gerards <mgerards@xs4all.nl>
47588
47589 * include/grub/parser.h: New file.
47590
47591 * kern/parser.c: Likewise.
47592
47593 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47594 (grub_setup_SOURCES): Likewise.
47595 (grub_probefs_SOURCES): Likewise.
47596 (grub_emu_SOURCES): Likewise.
47597 (kernel_img_HEADERS): Add `parser.h'.
47598
47599 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47600 (grub_emu_SOURCES): Add `kern/parser.c'.
47601 (grubof_SOURCES): Likewise.
47602
47603 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47604 (grubof_SOURCES): Add `kern/parser.c'.
47605
47606 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47607
47608 * kern/misc.c (grub_split_cmdline): Removed function.
47609
47610 * kern/rescue.c: Include <grub/parser.h>.
47611 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47612 of `grub_split_cmdline'.
47613
47614 * normal/command.c: Include <grub/parser.h>.
47615 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47616 of `grub_split_cmdline'.
47617
47618 * normal/completion.c: Include <grub/parser.h>.
47619 (cmdline_state): New variable.
47620 (iterate_dir): End the filename with a quote depending on the
47621 command line state.
47622 (get_state): new function.
47623 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47624 split the arguments and determine the current argument. When the
47625 argument string is not quoted, escape all spaces.
47626
6d8f4b0e 476272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47628
47629 * normal/sparc64/setjmp.S: New file.
47630
15cf03ed 476312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47632
47633 * include/grub/sparc64/libgcc.h: New file.
47634 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47635 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47636 normal/sparc64/setjmp.c.
47637
03e8661a 476382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47639
47640 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47641 * kern/sparc64/cache.S: New file.
47642 * kern/sparc64/cache.c: Removed.
47643 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47644 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47645 -mtune=ultrasparc.
47646 (COMMON_LDFLAGS): Add -melf64_sparc.
47647 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47648 (grubof_SOURCES): Use cache.S instead of cache.c.
47649 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47650 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47651 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47652 commented though.
47653 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47654 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47655 (linux_mod_CFLAGS): Commented out.
47656 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47657 out because module isn't built.
47658 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47659 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47660 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47661 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47662 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47663 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47664 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47665 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47666 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47667 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47668 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47669 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47670 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47671 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47672
34eeec8a 476732005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47674
47675 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47676 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47677 longer, because HFS should not be used on PC.
47678
708367a3 476792005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47680
47681 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47682 consistently within the loop.
47683
6fa1251a 476842005-10-15 Marco Gerards <mgerards@xs4all.nl>
47685
47686 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47687 directory can not be read.
47688
4801580b 476892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47690
47691 * configure.ac (AC_INIT): Increase the version number to 1.91.
47692
47693 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47694 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47695 term/i386/pc/serial.c.
47696
219ad426 476972005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47698
47699 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47700 file size must be permitted.
47701
47702 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47703 between %ah and %al.
47704
688e5699 477052005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47706
47707 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47708 grub_uint64_t.
47709 Call the hook with a NUL-terminated filename.
47710 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47711 grub_cpu_to_be32.
47712
47713 * kern/term.c (cursor_state): New variable.
47714 (grub_term_set_current): Reset the cursor state on a new
47715 terminal.
47716 (grub_setcursor): Rewritten to use CURSOR_STATE.
47717 (grub_getcursor): New function.
47718
47719 * include/grub/term.h (grub_getcursor): New prototype.
47720
47721 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47722 integers on ARM. Reported by Timothy Baldwin
47723 <T.E.Baldwin99@members.leeds.ac.uk>.
47724
bb34586c 477252005-10-11 Marco Gerards <mgerards@xs4all.nl>
47726
47727 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47728 allocated.
47729 (grub_sfs_dir): Likewise.
47730
9a909877 477312005-10-09 Marco Gerards <mgerards@xs4all.nl>
47732
47733 Add support for the SFS filesystem.
47734
47735 * fs/sfs.c: New file.
47736
47737 * DISTLIST: Added `fs/sfs.c'.
47738
47739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47740 (grub_probefs_SOURCES): Likewise.
47741 (grub_emu_SOURCES): Likewise.
47742 (pkgdata_MODULES): Add `sfs.mod'.
47743 (sfs_mod_SOURCES): New variable.
47744 (sfs_mod_CFLAGS): Likewise.
47745 (sfs_mod_LDFLAGS): Likewise.
47746
47747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47748 (pkgdata_MODULES): Add `sfs.mod'.
47749 (sfs_mod_SOURCES): New variable.
47750 (sfs_mod_CFLAGS): Likewise.
47751
47752 * util/grub-emu.c (main): Call `grub_sfs_init' and
47753 `grub_sfs_fini'.
47754
47755 * include/grub/fs.h (grub_sfs_init): New prototype.
47756 (grub_sfs_fini): Likewise.
47757
57bdbde3 477582005-10-07 Marco Gerards <mgerards@xs4all.nl>
47759
47760 Add support for the AFFS filesystem.
47761
47762 * fs/affs.c: New file.
47763
47764 * DISTLIST: Added `fs/affs.c'.
47765
47766 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47767 (grub_probefs_SOURCES): Likewise.
47768 (grub_emu_SOURCES): Likewise.
47769 (pkgdata_MODULES): Add `affs.mod'.
47770 (affs_mod_SOURCES): New variable.
47771 (affs_mod_CFLAGS): Likewise.
47772 (affs_mod_LDFLAGS): Likewise.
47773
47774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47775 (pkgdata_MODULES): Add `affs.mod'.
47776 (affs_mod_SOURCES): New variable.
47777 (affs_mod_CFLAGS): Likewise.
47778
47779 * util/grub-emu.c (main): Call `grub_affs_init' and
47780 `grub_affs_fini'.
47781
47782 * include/grub/fs.h (grub_affs_init): New prototype.
47783 (grub_affs_fini): Likewise.
47784
047b67e0 477852005-10-01 Marco Gerards <mgerards@xs4all.nl>
47786
47787 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47788
59b8208a 477892005-10-01 Marco Gerards <mgerards@xs4all.nl>
47790
47791 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47792 `-m32' to CFLAGS.
47793
47794 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47795 linking.
f19dbdb7 47796
59b8208a 47797 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47798 (COMMON_LDFLAGS): New variable.
47799 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47800 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47801 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47802 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47803 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47804 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47805 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47806 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47807 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47808 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47809 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47810 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47811 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47812 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47813 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47814 variables.
47815 (normal_mod_ASFLAGS): Add `-m32'.
47816
47817 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47818 (grub_host_size_t, grub_host_ssize_t): New types.
47819 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47820 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47821 `GRUB_HOST_SIZEOF_VOID_P'.
47822
47823 * include/grub/kernel.h (struct grub_module_header): Type of
47824 member offset changed to `grub_host_off_t'. Type of member size
47825 changed to `grub_host_size_t'.
47826 (struct grub_module_info): Type of member offset changed to
47827 `grub_host_off_t'. Type of member size changed to
47828 `grub_host_size_t'.
47829
b4093103 478302005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47831
47832 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47833
b4093103 47834 * kern/i386/pc/startup.S (multiboot_header): New label.
47835 (multiboot_entry): Likewise.
47836 (multiboot_trampoline): Likewise.
47837
47838 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47839 Increased to 0x4A0.
47840
47841 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47842 put parentheses after a question mark.
47843 [!GRUB_UTIL] (my_mod): New variable.
47844
47845 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47846
b2499b29 478472005-09-28 Marco Gerards <mgerards@xs4all.nl>
47848
47849 Adds support for the XFS filesystem. Btrees are not supported
47850 yet.
47851
47852 * fs/xfs.c: New file.
47853
47854 * DISTLIST: Added `fs/xfs.c'.
47855
47856 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47857 (grub_probefs_SOURCES): Likewise.
47858 (grub_emu_SOURCES): Likewise.
47859 (pkgdata_MODULES): Add `xfs.mod'.
47860 (xfs_mod_SOURCES): New variable.
47861 (xfs_mod_CFLAGS): Likewise.
47862
47863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47864 (pkgdata_MODULES): Add `xfs.mod'.
47865 (xfs_mod_SOURCES): New variable.
47866 (xfs_mod_CFLAGS): Likewise.
47867
47868 * util/grub-emu.c (main): Call `grub_xfs_init' and
47869 `grub_xfs_fini'.
47870
47871 * include/grub/fs.h (grub_xfs_init): New prototype.
47872 (grub_xfs_fini): Likewise.
47873
f19dbdb7 47874
83d37a62 478752005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47876
47877 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47878 color modes, allow greater than 16 colors to be configured as
47879 a default palette.
47880
47d2d65e 478812005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47882
47883 * normal/completion.c (complete_arguments): Add the qualifier
47884 const into OPTIONS.
47885
47886 From Omniflux <omniflux+lists@omniflux.com>:
47887 * include/grub/terminfo.h: New file.
47888 * include/grub/tparm.h: Likewise.
47889 * include/grub/i386/pc/serial.h: Likewise.
47890 * term/terminfo.c: Likewise.
47891 * term/tparm.c: Likewise.
47892 * term/i386/pc/serial.c: Likewise.
47893 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47894 serial.mod.
47895 (terminfo_mod_SOURCES): New variable.
47896 (terminfo_mod_CFLAGS): Likewise.
47897 (serial_mod_SOURCES): Likewise.
47898 (serial_mod_CFLAGS): Likewise.
47899
48b671ff 479002005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47901
47902 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47903 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47904 and kern/powerpc/ieee1275/cmain.c, respectively.
47905
47906 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47907 * kern/powerpc/ieee1275/crt0.S: ... here.
47908
47909 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47910 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47911
48b671ff 47912 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47913 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47914 instead of boot/powerpc/ieee1275/crt0.S and
47915 boot/powerpc/ieee1275/cmain.c, respectively.
47916
47917 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47918 sectors. It was not used anyway.
47919
09fc77a7 479202005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47921
47922 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47923 `unused parameter' warning.
47924
003789c7 479252005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47926
47927 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47928 function.
47929 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47930 getcharwidth.
47931
67f44c86 479322005-08-28 Marco Gerards <metgerards@student.han.nl>
47933
47934 * include/grub/normal.h (enum grub_completion_type): Added
47935 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47936
47937 * normal/cmdline.c (print_completion): Handle
47938 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47939 * normal/menu_entry.c (store_completion): Likewise.
47940
47941 * normal/completion.c (complete_arguments): New function.
47942 (grub_normal_do_completion): Call `complete_arguments' when the
47943 current words start with a dash.
47944
0b5abe02 479452005-08-27 Marco Gerards <metgerards@student.han.nl>
47946
47947 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47948 `gzio.mod' instead of `io.mod').
47949
d9864ee1 479502005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47951
47952 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47953 (DISTDIRS): Added io and video.
47954 Rewrite the search routine to make an output consistently.
47955
47956 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47957 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47958 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47959 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47960 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47961 util/powerpc/ieee1275/misc.c.
f19dbdb7 47962
d9864ee1 47963 * include/grub/gzio.h: New file.
47964 * io/gzio.c: Likewise.
f19dbdb7 47965
d9864ee1 47966 * kern/file.c (grub_file_close): Call grub_device_close only if
47967 FILE->DEVICE is not NULL.
47968
47969 * include/grub/mm.h [!NULL] (NULL): New macro.
47970
47971 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47972
47973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47974 (pkgdata_MODULES): Added gzio.mod.
47975 (gzio_mod_SOURCES): New variable.
47976 (gzio_mod_CFLAGS): Likewise.
47977
47978 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47979 (pkgdata_MODULES): Added gzio.mod.
47980 (gzio_mod_SOURCES): New variable.
47981 (gzio_mod_CFLAGS): Likewise.
47982
47983 * commands/cat.c: Include grub/gzio.h.
47984 (grub_cmd_cat): Use grub_gzfile_open instead of
47985 grub_file_open.
f19dbdb7 47986
d9864ee1 47987 * commands/cmp.c: Include grub/gzio.h.
47988 (grub_cmd_cmp): Use grub_gzfile_open instead of
47989 grub_file_open.
47990
47991 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47992 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47993 grub_file_open.
47994 (grub_rescue_cmd_module): Likewise.
47995
fa46f4b5 479962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47997
47998 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47999 kern/sparc64/ieee1275/init.c because it contains _start.
48000 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48001
e9211b5d 480022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48003
48004 * configure.ac: Add support for sparc64 host with ieee1275
48005 firmware.
48006 * configure: Generated from configure.ac.
48007 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48008 instead of int.
48009 (grub_ofdisk_read): Likewise.
48010 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48011 pointers as (void *) to remove a warning.
48012 (grub_ofdisk_close): Likewise.
48013 (grub_ofdisk_read): Likewise.
48014 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48015 returns, so make it return void to remove a warning.
48016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48017 Corresponding prototype change.
48018 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48019 values, and cast the pointers as (void *) to remove a warning.
48020 (grub_mm_dump): Likewise.
48021 * conf/sparc64-ieee1275.mk: New file.
48022 * conf/sparc64-ieee1275.rmk: Likewise.
48023 * include/grub/sparc64/setjmp.h: Likewise.
48024 * include/grub/sparc64/types.h: Likewise.
48025 * include/grub/sparc64/ieee1275/console.h: Likewise.
48026 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48027 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48028 * include/grub/sparc64/ieee1275/time.h: Likewise.
48029 * kern/sparc64/cache.c: Likewise.
48030 * kern/sparc64/dl.c: Likewise.
48031 * kern/sparc64/ieee1275/init.c: Likewise.
48032 * kern/sparc64/ieee1275/openfw.c: Likewise.
48033
385c6a92 480342005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48035
48036 * util/console.c (grub_ncurses_putchar): If C is greater than
48037 0x7f, set C to a question mark.
48038 (grub_ncurses_getcharwidth): New function.
48039 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48040 getcharwidth.
48041
48042 * normal/menu.c (print_entry): Made aware of Unicode. First,
48043 convert TITLE to UCS-4, and predict the cursor position by
48044 grub_getcharwidth.
48045
48046 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48047 const to SRC.
48048 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48049
16ccb8b1 480502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48053 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48054 grub_strcat.
48055
48056 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48057 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48058 grub_strcpy and grub_strlen. Take it into account that a space
48059 character is inserted as a delimiter.
48060
6a85ce79 480612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48062
48063 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48064 invalid magic in the error.
6a85ce79 48065
48066 * commands/search.c: New file.
f19dbdb7 48067
6a85ce79 48068 * util/grub-emu.c (main): Call grub_search_init and
48069 grub_search_fini.
48070
48071 * kern/rescue.c (grub_rescue_print_disks): Removed.
48072 (grub_rescue_print_devices): New function.
48073 (grub_rescue_cmd_ls): Use grub_device_iterate with
48074 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48075 grub_rescue_print_disks.
48076
48077 * kern/partition.c (grub_partition_iterate): Return the result of
48078 PARTMAP->ITERATE instead of GRUB_ERRNO.
48079
48080 * kern/device.c: Include grub/partition.h.
48081 (grub_device_iterate): New function.
48082
48083 * include/grub/partition.h (grub_partition_iterate): Return int
48084 instead of grub_err_t.
48085
48086 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48087 prototype.
48088 [GRUB_UTIL] (grub_search_fini): Likewise.
48089
48090 * include/grub/device.h (grub_device_iterate): New prototype.
48091
48092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48093 commands/search.c.
48094 (pkgdata_MODULES): Added search.mod.
48095 (search_mod_SOURCES): New variable.
48096 (search_mod_CFLAGS): Likewise.
48097
48098 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48099 (pkgdata_MODULES): Added search.mod.
48100 (search_mod_SOURCES): New variable.
48101 (search_mod_CFLAGS): Likewise.
48102
48103 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48104 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48105 All callers changed.
48106
48107 * DISTLIST: Added commands/search.c.
48108
ef095434 481092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48110
48111 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48112 conversion.
48113 (grub_getcharwidth): New function.
48114
48115 * kern/misc.c (grub_utf8_to_ucs4): New function.
48116
48117 * include/grub/term.h (struct grub_term): Added a new member
48118 "getcharwidth".
48119 (grub_getcharwidth): New prototype.
48120
48121 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48122
48123 * term/i386/pc/console.c (map_char): New function. Segregated from
48124 grub_console_putchar.
48125 (grub_console_putchar): Use map_char.
48126 (grub_console_getcharwidth): New function.
48127 (grub_console_term): Specified grub_console_getcharwidth as
48128 getcharwidth.
48129
48130 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48131 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48132
48133 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48134 GRUB_ERRNO.
48135 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48136 on grub_strtoul completely.
48137 (write_char): Declare local variables in the beginning of the
48138 function.
48139 (grub_vesafb_getcharwidth): New function.
48140 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48141 getcharwidth.
48142
1f0a95e4 481432005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48144
48145 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48146 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48147 commands/i386/pc/vbetest.c.
48148
48149 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48150 call grub_vbe_get_controller_info again, because the returned
48151 information is volatile.
48152 (grub_vbe_set_video_mode): Mostly rewritten.
48153 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48154 grub_vbe_status_t correctly.
48155 (grub_vbe_get_video_mode_info): Likewise.
48156 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48157 several if statements.
48158
48159 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48160 * commands/i386/pc/vbeinfo.c: ... this.
48161
48162 * commands/i386/pc/vbe_test.c: Renamed to ...
48163 * commands/i386/pc/vbetest.c: ... this.
48164
48165 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48166 ...
48167 (grub_cmd_vbeinfo): ... this. Save video modes before
48168 iterating. Skip a video mode, if it is not available, not enough
48169 information is given or it is monochrome. Show the memory
48170 model. Leave the interpretation of MODEVAR to grub_strtoul
48171 completely.
48172 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48173 (GRUB_MOD_FINI): Likewise.
48174
48175 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48176 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48177 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48178 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48179 grub_strtoul completely.
48180 (real2pm): Removed.
48181 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48182 (GRUB_MOD_FINI): Likewise.
48183
48184 * normal/misc.c: Include grub/mm.h.
48185
48186 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48187 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48188 (vbe_list_modes_mod_SOURCES): Removed.
48189 (vbe_list_modes_mod_CFLAGS): Likewise.
48190 (vbe_test_mod_SOURCES): Likewise.
48191 (vbe_test_mod_CFLAGS): Likewise.
48192 (vbeinfo_mod_SOURCES): New variable.
48193 (vbeinfo_mod_CFLAGS): Likewise.
48194 (vbetest_mod_SOURCES): Likewise.
48195 (vbetest_mod_CFLAGS): Likewise.
48196
992ffbbe 481972005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48198
48199 * normal/misc.c: New file.
48200
48201 * DISTLIST: Added normal/misc.c.
f19dbdb7 48202
992ffbbe 48203 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48204 DISK to HOOK. Call HOOK with DISK.
48205 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48206 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48207 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48208
48209 * normal/menu_entry.c (struct screen): Added a new member
48210 "completion_shown".
48211 (completion_buffer): New global variable.
48212 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48213 (store_completion): New function.
48214 (complete): Likewise.
48215 (clear_completions): Likewise.
48216 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48217 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48218 a tab, call complete.
48219
48220 * normal/completion.c (disk_dev): Removed.
48221 (print_simple_completion): Likewise.
48222 (print_partition_completion): Likewise.
48223 (print_func): New global variable.
48224 (add_completion): Do not take the arguments WHAT or PRINT any
48225 longer. Added a new argument TYPE. Instead of printing directly,
48226 call PRINT_FUNC if not NULL.
48227 All callers changed.
48228 (complete_device): Use a local variable DEV instead of
48229 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48230 (grub_normal_do_completion): Take a new argument HOOK. Do not
48231 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48232 empty string, return NULL instead.
48233 All callers changed.
48234
48235 * normal/cmdline.c (print_completion): New function.
48236
48237 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48238 to HOOK.
48239 All callers changed.
48240
48241 * kern/disk.c (grub_print_partinfo): Removed.
48242
48243 * include/grub/partition.h (struct grub_partition_map): Add a new
48244 argument DISK into HOOK of ITERATE.
48245 (grub_partition_iterate): Add a new argument DISK to HOOK.
48246
48247 * include/grub/normal.h (enum grub_completion_type): New enum.
48248 (grub_completion_type_t): New type.
48249 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48250 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48251 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48252 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48253 (grub_normal_do_completion): Added a new argument HOOK.
48254 (grub_normal_print_device_info): New prototype.
48255
48256 * include/grub/disk.h (grub_print_partinfo): Removed.
48257
48258 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48259 (normal_mod_SOURCES): Likewise.
48260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48261 (normal_mod_SOURCES): Likewise.
48262
48263 * commands/ls.c (grub_ls_list_disks): Use
48264 grub_normal_print_device_info instead of grub_print_partinfo. Free
48265 PNAME.
48266 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48267 duplicating the code.
48268
0bd41162 482692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48270
48271 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48272 follow GCS more precisely.
48273 * commands/i386/pc/vbe_test.c: Likewise.
48274 * include/grub/i386/pc/vbe.h: Likewise.
48275 * term/i386/pc/vesafb.c: Likewise.
48276 * video/i386/pc/vbe.c: Likewise.
0bd41162 48277
6323696a 482782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48279
48280 * DISTLIST: Added term/i386/pc/vesafb.c
48281 DISTLIST: Added video/i386/pc/vbe.c
48282 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48283 DISTLIST: Added commands/i386/pc/vbe_test.c.
48284 * commands/i386/pc/vbe_list_modes.c: New file.
48285 * commands/i386/pc/vbe_test.c: Likewise.
48286 * term/i386/pc/vesafb.c: Likewise.
48287 * video/i386/pc/vbe.c: Likewise.
48288 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48289 (grub_vbe_probe) Added prototype.
48290 (grub_vbe_set_video_mode) Likewise.
48291 (grub_vbe_get_video_mode) Likewise.
48292 (grub_vbe_get_video_mode_info) Likewise.
48293 (grub_vbe_set_pixel_rgb) Likewise.
48294 (grub_vbe_set_pixel_index) Likewise.
48295 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48296 (pkgdata_MODULES): Added vesafb.mod.
48297 (pkgdata_MODULES): Added vbe_list_modes.mod.
48298 (pkgdata_MODULES): Added vbe_test.mod.
48299 (vbe_mod_SOURCES): Added.
48300 (vbe_mod_CFLAGS): Likewise.
48301 (vesafb_mod_SOURCES): Likewise.
48302 (vesafb_mod_CFLAGS): Likewise.
48303 (vbe_list_modes_mod_SOURCES): Likewise.
48304 (vbe_list_modes_mod_CFLAGS): Likewise.
48305 (vbe_test_mod_SOURCES): Likewise.
48306 (vbe_test_mod_CFLAGS): Likewise.
48307
0a74e62f 483082005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48309
0a74e62f 48310 * normal/command.c (grub_command_execute): If INTERACTIVE is
48311 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48312 CMDLINE. Disable the pager if INTERACTIVE is true.
48313 All callers are changed.
48314
48315 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48316 before reading a config file.
48317 * normal/main.c (read_config_file): Even if a command is not
48318 found, register it if it is within an entry.
48319
48320 * util/grub-emu.c: Include sys/types.h and unistd.h.
48321 (options): Added --hold.
48322 (struct arguments): Added a new member "hold".
48323 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48324 missing.
48325 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48326 cleared by a debugger, if it is not zero.
48327
48328 * include/grub/normal.h (grub_command_execute): Add an argument
48329 INTERACTIVE.
48330
e51f85ae 483312005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48332
48333 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48334
e9c6f39b 483352005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48336
48337 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48338 program with another one, because the old one didn't detect a bug
48339 in gcc-3.4. Always use regparm 2, because the new test is still
48340 not enough for gcc-4.0. Someone must investigate a simple test
48341 case which detects a bug in gcc-4.0.
48342
8de3495c 483432005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48344
48345 * DISTLIST: Added normal/completion.c.
48346
48347 * normal/completion.c: New file.
f19dbdb7 48348
8de3495c 48349 * term/i386/pc/console.c (grub_console_getwh): New function.
48350 (grub_console_term): Assign grub_console_getwh to getwh.
48351
48352 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48353 function is defined in normal/completion.c as
48354 grub_normal_do_completion.
48355 (grub_cmdline_get): Use grub_normal_do_completion instead of
48356 grub_tab_complete.
48357
48358 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48359 returns non-zero, otherwise return 0.
48360 (grub_partition_iterate): First, probe the partition map. Then,
48361 call ITERATE only for this partition map.
48362
48363 * kern/misc.c (grub_strncmp): Rewritten.
48364
48365 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48366 returns non-zero. Otherwise return 0.
48367
48368 * include/grub/partition.h (grub_partition_map_iterate): Return
48369 int instead of void.
48370
48371 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48372
48373 * include/grub/misc.h (grub_strncmp): Change the type of N to
48374 grub_size_t.
48375
48376 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48377 of void.
48378
48379 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48380 unsigned explicitly before comparing it with I.
8de3495c 48381
48382 * kern/main.c (grub_env_write_root): Add the attribute unused into
48383 VAR.
48384
48385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48386 normal/completion.c.
48387 (normal_mod_SOURCES): Likewise.
48388 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48389 (normal_mod_SOURCES): Likewise.
48390
48391 * normal/command.c (grub_iterate_commands): If ITERATE returns
48392 non-zero, return one immediately.
48393
e85e144b 483942005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48395
48396 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48397 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48398 descriptions.
48399 (grub_vbe_get_controller_info): New function.
48400 (grub_vbe_get_mode_info): Likewise.
48401 (grub_vbe_set_mode): Likewise.
48402 (grub_vbe_get_mode): Likewise.
48403 (grub_vbe_set_memory_window): Likewise.
48404 (grub_vbe_get_memory_window): Likewise.
48405 (grub_vbe_set_scanline_length): Likewise.
48406 (grub_vbe_get_scanline_length): Likewise.
48407 (grub_vbe_set_display_start): Likewise.
48408 (grub_vbe_get_display_start): Likewise.
48409 (grub_vbe_set_palette_data): Likewise.
48410 * include/grub/i386/pc/vbe.h: New file.
48411
c46153d2 484122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48413
48414 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48415 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48416 * DISTLIST: Likewise.
48417 * kern/ieee1275/of.c: Moved to ...
48418 * kern/ieee1275/ieee1275.c: ... here.
48419
0cb90c45 484202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48421
48422 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48423 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48424 Pass 0 as `end' parameter to grub_strtoul().
48425
a19fb360 484262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48427
48428 * include/grub/powerpc/ieee1275/console.h: Do not include
48429 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48430 ifdef.
48431 (grub_console_cur_color): Remove i386-specific prototype.
48432 (grub_console_real_putchar): Likewise.
48433 (grub_console_checkkey): Likewise.
48434 (grub_console_getkey): Likewise.
48435 (grub_console_getxy): Likewise.
48436 (grub_console_gotoxy): Likewise.
48437 (grub_console_cls): Likewise.
48438 (grub_console_setcursor): Likewise.
48439 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48440 Include <grub/machine/console.h>.
48441 * term/ieee1275/ofconsole.c: Likewise.
48442
4ac9bd04 484432005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48444
48445 * Makefile.in (LIBLZO): New variable.
48446
48447 * configure.ac: Check for LZO version 2.
48448
48449 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48450 lzo/lzo1x.h instead of lzo1x.h.
48451
48452 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48453 of -llzo.
48454
48455 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48456 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48457
48458 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48459 copying the data from PARTITION to P.
48460
f4917dfd 484612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48462
48463 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48464 negative, unload the module.
48465
48466 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48467 map is "pc_partition_map" but not "pc".
48468 (usage): Fix the description. The options are --boot-image and
48469 --core-image but not --boot-file or --core-file.
48470 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48471 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48472 DEFAULT_DIRECTORY.
48473
48474 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48475 --core-file. Specify INSTALL_DEVICE as an argument.
48476
48477 * util/console.c: Include config.h.
48478 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48479 [HAVE_NCURSES_H]: Include ncurses.h.
48480 [HAVE_CURSES_H]: Include curses.h.
48481 [!A_NORMAL] (A_NORMAL): Defined as zero.
48482 [!A_STANDOUT] (A_STANDOUT): Likewise.
48483
48484 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48485 -lncurses.
48486 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48487
48488 * configure.ac: Check for curses libraries and headers.
48489
48490 * Makefile.in (LIBCURSES): New variable.
48491
48492 * genmk.rb (Script::rule): Set the executable bits.
48493
48494 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48495 name of the PC partition map is "pc_partition_map" but not "pc".
48496
0e143073 484972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48498
48499 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48500 (modules): Likewise.
48501 (usage): Added descriptions for --modules and --grub-probefs.
48502 Handle --modules and --grub-probefs. Save the arguments in MODULES
48503 and GRUB_PROBEFS, respectively.
48504 Auto-detect a filesystem module against GRUBDIR. If the result is
48505 empty and modules are not specified explicitly, abort the
48506 installation. Add the result to MODULES.
48507
48508 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48509 disk/powerpc/ieee1275/ofdisk.c,
48510 include/grub/powerpc/ieee1275/init.h and
48511 term/powerpc/ieee1275/ofconsole.c.
48512 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48513 term/ieee1275/ofconsole.c.
48514
48515 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48516
48517 * COPYING: Upgraded to the latest version. Only the address of the
48518 FSF office has changed.
f19dbdb7 48519
efd6e6d5 485202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48521
48522 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48523 kern/ieee1275.c with kern/ieee1275/of.c.
48524
48525 * kern/ieee1275.c: Moved to ...
48526 * kern/ieee1275/of.c: ... here.
48527
8ceafda2 485282005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48529
48530 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48531 readability.
8ceafda2 48532
48533 * config.guess: Updated to the latest version from gnulib.
48534 * config.sub: Likewise.
48535 * install.sh: Likewise.
48536 * mkinstalldirs: Likewise.
48537
48538 * include/grub/console.h: Removed. This file is arch-specific. Do
48539 not put this in include/grub.
48540
48541 * include/grub/i386/pc/console.h: Resurrected.
48542
48543 * util/console.c: Include grub/machine/console.h instead of
48544 grub/console.h.
48545 * util/grub-emu.c: Likewise.
48546
267f6cd9 485472005-08-04 Marco Gerards <metgerards@student.han.nl>
48548
48549 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48550 hardcoded value.
f19dbdb7 48551
267f6cd9 48552 From Vincent Pelletier <subdino2004@yahoo.fr>
48553 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48554 Redefined to use grub_getwh.
48555 (grub_term): New member named getwh.
48556 (grub_getwh): New prototype.
48557 * kern/term.c (grub_getwh): New function.
48558 * term/i386/pc/console.c (grub_console_getwh): New function.
48559 (grub_console_term): New member `getwh'.
48560 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48561 (grub_vga_term): New member `getwh'.
0b5abe02 48562 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48563 grub_ssize_t.
48564 (grub_ofconsole_getw): New function.
48565 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48566 (grub_ofconsole_term): New field named getwh and new initial
48567 value.
48568
3be7266d 485692005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48570
48571 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48572 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48573 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48574 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48575 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48576 of <grub/machine/ieee1275.h>.
48577 * commands/ieee1275/reboot.c: Likewise.
48578 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48579 * kern/ieee1275.c: ... to here. All users updated. Change all
48580 parameter structs to use new type `grub_ieee1275_cell_t'.
48581 * term/powerpc/ieee1275/ofconsole.c: Move ...
48582 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48583 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48584 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48585 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48586 to return int.
48587 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48588 Remove unused prototypes. All users updated.
48589 * include/grub/powerpc/ieee1275/console.h: Removed.
48590 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48591 `grub_ieee1275_cell_t'.
48592 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48593 Cast comparisons with -1 to the correct type.
48594 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48595 type to match `grub_ieee1275_entry_fn'.
48596
8b5f3938 485972005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48598
48599 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48600
48601 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48602 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48603 partmap/sun.c.
48604 (grub_probefs_SOURCES): New variable.
48605
48606 * util/i386/pc/grub-probefs.c: New file.
48607
48608 * util/i386/pc/grub-setup.c (main): Call
48609 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48610 grub_hfs_init and grub_jfs_init to initialize the system. Call
48611 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48612 grub_pc_partition_map_fini to finish the system.
48613
ea409713 486142005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48615
48616 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48617 function.
48618 (grub_multiboot_load_elf32): Likewise.
48619 (grub_multiboot_is_elf64): Likewise.
48620 (grub_multiboot_load_elf64): Likewise.
48621 (grub_multiboot_load_elf): Likewise.
48622 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48623 an ELF32 or ELF64 file.
48624 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48625
48626 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48627 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48628 NULL before calling FS->LABEL.
48629 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48630 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48631 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48632 before calling FS->LABEL.
48633
141a288b 486342005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48635
48636 * util/i386/pc/grub-install.in (datadir): New variable.
48637 (libdir): Removed.
48638 (pkgdatadir): New variable.
48639 (pkglibdir): Removed.
48640
0d5f8a54 486412005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48642
48643 * DISTLIST: Added util/i386/pc/grub-install.in.
48644
48645 * util/i386/pc/grub-install.in: New file.
48646
48647 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48648 (grub_install_SOURCES): Likewise.
48649
48650 * genmk.rb: Added support for scripts.
48651 (Script): New class.
48652 (scripts): New variable.
48653
48654 * Makefile.in (install-local): Install sbin_SCRIPTS by
48655 INSTALL_SCRIPT.
48656 (uninstall): Remove sbin_SCRIPTS.
48657
48658 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48659 device, try to get a GRUB device by
48660 grub_util_biosdisk_get_grub_dev.
48661 Free DEST_DEV.
48662
48663 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48664 description for --device-map.
48665
5f968e1e 486662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48667
48668 Change the semantics of variable hooks. They now return strings
48669 instead of error values.
f19dbdb7 48670
5f968e1e 48671 * util/i386/pc/grub-setup.c: Include grub/env.h.
48672 (setup): Use grub_device_set_root instead of grub_env_set.
48673
48674 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48675 grub_env_get instead of grub_device_set_root and
48676 grub_device_get_root, respectively.
48677
48678 * kern/main.c (grub_env_write_root): New function.
48679 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48680 grub_env_set instead of grub_device_set_root.
48681
48682 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48683 many variables.
48684 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48685 rather than calling ENV->WRITE_HOOK afterwards.
48686 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48687 passing a pointer of a pointer.
48688 (grub_register_variable_hook): Change the types of "read_hook" and
48689 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48690 respectively.
48691 Allocate the default empty string on the heap, because this string
48692 may be freed later.
48693
48694 * kern/device.c: Include grub/env.h.
48695 (grub_device_set_root): Removed.
48696 (grub_device_get_root): Likewise.
48697 (grub_device_open): Use grub_env_get instead of
48698 grub_device_get_root.
48699
48700 * include/grub/env.h (grub_env_read_hook_t): New type.
48701 (grub_env_write_hook_t): Likewise.
48702 (grub_env_var): Change the types of "read_hook" and "write_hook"
48703 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48704 (grub_register_variable_hook): Likewise.
48705
48706 * include/grub/device.h (grub_device_set_root): Removed.
48707 (grub_device_set_root): Likewise.
48708
48709 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48710 make sure that DIRNAME terminates with '/', so that
48711 grub_fat_find_dir will fail if PATH is not a directory.
48712
48713 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48714 from DIRNAME.
48715 Use the qualifier auto for print_files and print_files_long.
48716 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48717 as a regular file.
48718 Put a newline only if there is no error.
48719 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48720 used.
48721
896f0afd 487222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48723
48724 * kern/partition.c (grub_partition_probe): Initialize PART to
48725 NULL. Otherwise, when no partition map is registered, this returns
48726 a garbage.
48727
b28b81b2 487282005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48729
48730 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48731 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48732 valid.
48733
5f3607e0 487342005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48735
48736 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48737 information on each device, if it does not have partitions. Print
48738 "Device" instead of "Disk", because this function is not specific
48739 to disk devices.
48740
48741 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48742 static to ensure that it is put on the memory rather than a
48743 register.
48744
502c87e8 487452005-07-17 Yoshinori Okuji <okuji@enbug.org>
48746
48747 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48748 (grub_cat_init): Likewise.
48749 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48750 (options): Likewise.
48751 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48752 (grub_configfile_init): Likewise.
48753 * font/manager.c (GRUB_MOD_INIT): Likewise.
48754 * commands/help.c (GRUB_MOD_INIT): Likewise.
48755 (grub_help_init): Likewise.
48756 * normal/command.c (grub_command_init): Likewise.
48757 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48758 * disk/loopback.c (grub_loop_init): Likewise.
48759 (GRUB_MOD_INIT): Likewise.
48760 * commands/ls.c (grub_ls_init): Likewise.
48761 (GRUB_MOD_INIT): Likewise.
48762 (options): Likewise.
48763 * commands/boot.c (grub_boot_init): Likewise.
48764 (GRUB_MOD_INIT): Likewise.
48765 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48766 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48767 (GRUB_MOD_INIT): Likewise.
48768 * commands/cmp.c (grub_cmp_init): Likewise.
48769 (GRUB_MOD_INIT): Likewise.
48770
48771 * normal/arg.c: Use <> instead of "" to include header files.
48772 (SHORT_ARG_HELP): New macro.
48773 (SHORT_ARG_USAGE): Likewise.
48774 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48775 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48776 descriptions.
48777 (find_short): Check if C is 'h' or 'u' explicitly.
48778 (grub_arg_show_help): Use space characters instead of tabs. Treat
48779 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48780 are shown with --help and --usage only if they are not used for
48781 the command itself.
48782 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48783 'h' and 'u'.
48784
48785 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48786 const into "longarg". Change the type of "shortarg" to int.
48787
f806d18e 487882005-07-17 Yoshinori Okuji <okuji@enbug.org>
48789
48790 * boot/i386/pc/boot.S (boot_drive_check): New label.
48791
48792 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48793 macro.
48794
48795 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48796 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48797
e293232b 487982005-07-17 Yoshinori Okuji <okuji@enbug.org>
48799
48800 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48801 When turning off Gate A20, skip the check and return immediately,
48802 because this is not fatal usually.
48803
ebedfd00 488042005-07-17 Yoshinori Okuji <okuji@enbug.org>
48805
48806 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48807 be 0x7C00 instead of 0x8000.
48808
48809 * boot/i386/pc/pxeboot.S: Rewritten.
48810
48811 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48812 EXT_C.
48813 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48814 result.
48815
654fc59f 488162005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48817
48818 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48819 robustness. This routine now supports a BIOS call and System
48820 Control Port A to modify the gate A20.
48821
48822 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48823 Increased to 0x440.
48824
09f9923f 488252005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48826
48827 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48828 device path and resulting ihandle.
48829 (grub_ofdisk_close): dprintf the ihandle being closed.
48830 (grub_ofdisk_read): dprintf function parameters.
48831 * kern/mm.c (grub_mm_init_region): Likewise.
48832 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48833 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48834 size, and boot arguments.
48835 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48836 before loading into memory.
48837 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48838 before loading into memory.
48839
7ef504d8 488402005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48841
48842 * kern/mm.c: Added much documentation.
48843 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48844 8, set to 5 instead of 8.
48845
e0f050c2 488462005-07-10 Yoshinori Okuji <okuji@enbug.org>
48847
48848 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48849
48850 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48851 (grub_mkdevicemap_SOURCES): New variable.
48852
48853 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48854 lib/device.c of GRUB Legacy.
48855
7224189a 488562005-07-10 Yoshinori Okuji <okuji@enbug.org>
48857
48858 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48859 instead of PATH is NULL.
48860
68c864eb 488612005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48862
48863 * commands/cmp.c (BUFFER_SIZE): New macro.
48864 (grub_cmd_cmp): Close the right file at the right time. Compare
48865 only data just read. Don't report files of different size as
48866 identical. Dynamically allocate buffers. Move variable
48867 declarations at the beginning of function.
48868
e6f3e614 488692005-07-09 Yoshinori Okuji <okuji@enbug.org>
48870
48871 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48872 reverse.
48873
f8f1559a 488742004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48875
48876 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48877 when backspace is pressed at beginning of line.
48878
39c9d41d 488792005-07-03 Yoshinori Okuji <okuji@enbug.org>
48880
48881 * DISTLIST: Added genfslist.sh.
48882
48883 * normal/main.c (fs_module_list): New variable.
48884 (autoload_fs_module): New function.
48885 (read_fs_list): Likewise.
48886 (grub_normal_execute): Call read_fs_list.
48887
48888 * kern/fs.c (grub_fs_autoload_hook): New variable.
48889 (grub_fs_probe): Added support for auto-loading.
48890
48891 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48892 (grub_fs_module_list_t): New type.
48893
48894 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48895 (grub_fs_autoload_hook): New prototype.
48896
48897 * genfslist.sh: New file.
f19dbdb7 48898
39c9d41d 48899 * genmk.rb: Added a rule to generate a filesystem list.
48900
121c1d83 489012005-06-30 Marco Gerards <metgerards@student.han.nl>
48902
48903 * configure.ac: Fix the test for cross-compiling.
48904
48905 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48906 define GRUB_UTIL anymore.
48907
48908 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48909 so this function works on other systems than just big endian.
48910 (load_modules): Likewise.
48911 (add_segments): Likewise.
48912
e75d76e1 489132005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48914
48915 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48916 contains `l' modifier, get a long from va_arg().
48917
50b5a0a7 489182005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48919
48920 * kern/mm.c (grub_free): If the next free block which is being
48921 merged is the first free block, set the first block to the block
48922 being freed.
48923 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48924
89371b20 489252005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48926
48927 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48928 `grub_ieee1275_chosen'.
48929
168d6e58 489302005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48931
48932 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48933 (grub_ieee1275_chosen): New variable.
48934 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48935 `chosen'.
48936 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48937 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48938 Rename first argument to `phandle' for consistency.
48939 (grub_ieee1275_get_property_length): Likewise.
48940 (grub_ieee1275_next_property): Likewise. Change type of first argument
48941 to grub_ieee1275_phandle_t.
48942 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48943 Move export next to declaration.
48944 (grub_ieee1275_chosen): New variable.
48945 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48946 Correct cosmetic typo.
48947 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48948 `grub_ieee1275_chosen'.
48949 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48950 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48951 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48952 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48953 `grub_ieee1275_chosen'.
48954
ca5baa3f 489552005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48956
48957 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48958 /chosen/bootargs.
48959 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48960 /chosen/bootargs as "variable=value" pairs.
48961
708b345f 489622005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48963
48964 * include/grub/misc.h (grub_dprintf): New macro.
48965 (grub_real_dprintf): New prototype.
48966 (grub_strword): Likewise.
48967 (grub_iswordseparator): Likewise.
48968 * kern/misc.c (grub_real_dprintf): New function.
48969 (grub_strword): Likewise.
48970 (grub_iswordseparator): Likewise.
48971
f4c5e67c 489722005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48973
48974 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48975 (roundup): Remove macro.
48976 (grub_ieee1275_flags): Make static.
48977 (grub_ieee1275_realmode): Remove.
48978 (grub_ieee1275_test_flag): New function.
48979 (grub_ieee1275_set_flag): Likewise.
48980 (find_options): Rename to `grub_ieee1275_find_options'; update
48981 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48982 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48983 (cmain): New prototype.
48984 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48985 `grub_ieee1275_flags' directly.
48986 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48987 machine/biosdisk.h.
48988 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48989 Don't include grub/machine/init.h.
48990 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48991 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48992 Remove prototype.
48993 (grub_ieee1275_realmode): Likewise.
48994 (grub_ieee1275_flag): New enum.
48995 (grub_ieee1275_test_flag): New prototype.
48996 (grub_ieee1275_set_flag): New prototype.
48997 * include/grub/powerpc/ieee1275/init.h: Remove file.
48998 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48999 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49000 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49001 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49002 comment.
49003 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49004 `grub_ieee1275_test_flag'.
49005 (grub_ieee1275_encode_devname): Likewise.
49006
ed16607e 490072005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49008
49009 * include/grub/powerpc/ieee1275/ieee1275.h
49010 (grub_ieee1275_encode_devname): New prototype.
49011 (grub_ieee1275_get_filename): Likewise.
49012 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49013 function.
49014 (grub_set_prefix): Likewise.
49015 (grub_machine_init): Call grub_set_prefix.
49016 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49017 (grub_parse_type): New enum.
49018 (grub_ieee1275_get_devargs): New function.
49019 (grub_ieee1275_get_devname): Likewise.
49020 (grub_ieee1275_parse_args): Likewise.
49021 (grub_ieee1275_get_filename): Likewise.
49022 (grub_ieee1275_encode_devname): Likewise.
49023
be369920 490242005-03-30 Marco Gerards <metgerards@student.han.nl>
49025
49026 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49027 `grub_loader_unset'.
49028
a5ce3a4a 490292005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49030
49031 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49032 instead of grub_ieee1275_interpret.
49033 (grub_halt_init): New function.
49034 (grub_halt_fini): Likewise.
49035 (GRUB_MOD_INIT): Correct message grammar.
49036 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49037 instead of grub_ieee1275_interpret.
49038 (grub_reboot_init): New function.
49039 (grub_reboot_fini): Likewise.
49040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49041 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49042 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49043 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49044 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49045 function.
49046 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49047 Add prototype.
49048 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49049 prototype.
49050 (grub_halt): Likewise.
49051 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49052 (cmain): Remove __attribute__((unused)).
49053 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49054 (grub_heap_len): Likewise.
49055 (grub_machine_fini): New function.
49056 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49057 (grub_halt): Likewise.
49058 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49059 function.
49060 * util/powerpc/ieee1275/misc.c: New file.
49061
0058f771 490622005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49063
49064 * DISTLIST: New file.
49065 * gendistlist.sh: Likewise.
f19dbdb7 49066
0058f771 49067 * Makefile.in (COMMON_DISTFILES): Removed.
49068 (BOOT_DISTFILES): Likewise.
49069 (CONF_DISTFILES): Likewise.
49070 (DISK_DISTFILES): Likewise.
49071 (FS_DISTFILES): Likewise.
49072 (INCLUDE_DISTFILES): Likewise.
49073 (KERN_DISTFILES): Likewise.
49074 (LOADER_DISTFILES): Likewise.
49075 (TERM_DISTFILES): Likewise.
49076 (UTIL_DISTFILES): Likewise.
49077 (DISTFILES): Likewise.
49078 (uninstall): Uninstall files in $(pkgdata_DATA).
49079 (DISTLIST): New target.
49080 (distdir): Use the contents of the file DISTLIST to get a list of
49081 distributed files.
49082
46b3b8a5 490832005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49084
49085 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49086 descriptor. This is ported from GRUB Legacy.
49087
49088 * gencmdlist.sh: Added an extra semicolon to make it work with
49089 old sed versions. Reported by Robert Bihlmeyer
49090 <robbe@orcus.priv.at>.
49091
5822ff87 490922005-03-08 Yoshinori Okuji <okuji@enbug.org>
49093
49094 Automatic loading of commands is supported.
f19dbdb7 49095
5822ff87 49096 * normal/main.c (read_command_list): New function.
49097 (grub_normal_execute): Call read_command_list.
49098
49099 * normal/command.c (grub_register_command): Return zero or CMD.
49100 Allocate CMD->NAME from the heap.
49101 Initialize CMD->MODULE_NAME to zero.
49102 Find the same name as well. If the same command is found and it is
49103 a dummy command, overwrite members. If it is not a dummy command,
49104 return zero.
49105 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49106 (grub_command_find): If a dummy command is found, load a module
49107 and retry to find a command only once.
49108
49109 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49110 make sure that each command is loaded.
49111
49112 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49113 macro.
49114 (struct grub_command): Remove const from the member `name'.
49115 Add a new member `module_name'.
49116 (grub_register_command): Return grub_command_t.
49117
49118 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49119 sure that each command is loaded.
49120
49121 * genmk.rb (PModule::rule): Specify a module name without the
49122 suffix ".mod" to gencmdlist.sh.
49123
7b1f4b57 491242005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49125
49126 * gencmdlist.sh: New file.
f19dbdb7 49127
7b1f4b57 49128 * genmk.rb (PModule::rule): Generate a rule for a command list.
49129 Clean command.lst.
49130 Generate command.lst from $(COMMANDFILES).
49131
49132 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49133 (DATA): Added $(pkgdata_DATA).
49134 (install-local): Install files in $(pkgdata_DATA).
49135
062aaf39 491362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49137
49138 * term/i386/pc/vga.c (debug_command): Removed.
49139 (GRUB_MOD_INIT): Do not register the command "debug".
49140
49141 From Hollis Blanchard:
49142 * commands/configfile.c: New file.
49143 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49144 commands/configfile.c.
49145 (pkgdata_MODULES): Added configfile.mod.
49146 (configfile_mod_SOURCES): New variable.
49147 (configfile_mod_CFLAGS): Likewise.
49148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49149 commands/configfile.c.
49150 (pkgdata_MODULES): Added configfile.mod.
49151 (configfile_mod_SOURCES): New variable.
49152 (configfile_mod_CFLAGS): Likewise.
49153 * util/grub-emu.c (main): Call grub_configfile_init and
49154 grub_configfile_fini.
49155 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49156 prototype.
49157 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49158
cee01aa6 491592005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49160
49161 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49162 address.
49163
49164 * commands/help.c (grub_cmd_help): Do not print newlines after
49165 the last command in print_command_help.
49166
93f3a1d8 491672005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49168
49169 * commands/default.h: New file.
49170 * commands/timeout.h: Likewise.
49171 * normal/context.c: Likewise.
f19dbdb7 49172
93f3a1d8 49173 * util/misc.c: Do not include sys/times.h.
49174 Include sys/time.h and grub/machine/time.h.
49175 (grub_get_rtc): Rewritten with gettimeofday.
49176
49177 * util/grub-emu.c (main): Call grub_default_init and
49178 grub_timeout_init before grub_normal_init, and call
49179 grub_timeout_fini and grub_default_fini after grub_main.
49180
49181 * util/console.c (grub_ncurses_checkkey): Return the read
49182 character or -1.
49183
49184 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49185 timeouts.
49186
49187 * normal/main.c (read_config_file): Push MENU. If this fails,
49188 print an error and wait for a user input.
49189 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49190 If a menu is empty or an error occurs, pop MENU.
49191 (grub_normal_execute): Pop and free MENU after grub_menu_run
49192 returns.
49193
49194 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49195
49196 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49197 include time.h.
49198 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49199 without GRUB_UTIL.
49200 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49201 time.h.
49202 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49203 without GRUB_UTIL.
49204
49205 * include/grub/normal.h (struct grub_menu_list): New struct.
49206 (grub_menu_list_t): New type.
49207 (struct grub_context): New struct.
49208 (grub_context_t): New type.
49209 (grub_register_command): Got rid of EXPORT_FUNC.
49210 (grub_unregister_command): Likewise.
49211 (grub_context_get): New prototype.
49212 (grub_context_get_current_menu): Likewise.
49213 (grub_context_push_menu): Likewise.
49214 (grub_context_pop_menu): Likewise.
49215 [GRUB_UTIL] (grub_default_init): Likewise.
49216 [GRUB_UTIL] (grub_default_fini): Likewise.
49217 [GRUB_UTIL] (grub_timeout_init): Likewise.
49218 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49219
49220 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49221 commands/timeout.c and normal/context.c.
49222 (pkgdata_MODULES): Added default.mod and timeout.mod.
49223 (normal_mod_SOURCES): Added normal/context.c.
49224 (default_mod_SOURCES): New variable.
49225 (default_mod_CFLAGS): Likewise.
49226 (timeout_mod_SOURCES): Likewise.
49227 (timeout_mod_CFLAGS): Likewise.
49228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49229 conf/i386-pc.rmk.
49230 (pkgdata_MODULES): Added default.mod and timeout.mod.
49231 (normal_mod_SOURCES): Added normal/context.c.
49232 (default_mod_SOURCES): New variable.
49233 (default_mod_CFLAGS): Likewise.
49234 (timeout_mod_SOURCES): Likewise.
49235 (timeout_mod_CFLAGS): Likewise.
49236
49237 * Makefile.in (all-local): Added $(MKFILES).
49238
4ed2e1dd 492392005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49240
49241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49242 (grub_emu_SOURCES): Likewise.
49243 (pkgdata_MODULES): Add `sun.mod'.
49244 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49246 `partmap/sun.c'.
49247 (pkgdata_MODULES): Add `sun.mod'.
49248 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49249 * include/grub/partition.h (grub_sun_partition_map_init): New
49250 prototype.
49251 (grub_sun_partition_map_fini): Likewise.
49252 * partmap/sun.c: New file.
49253 * util/grub-emu.c (main): Initialize and de-initialize the sun
49254 partitionmap support.
49255
4d4e372e 492562005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49257
49258 This implements an Emacs-like menu entry editor.
f19dbdb7 49259
4d4e372e 49260 * normal/menu_entry.c: New file.
f19dbdb7 49261
4d4e372e 49262 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49263 characters to ASCII.
49264 (saved_char): New variable.
49265 (grub_ncurses_checkkey): Rewritten completely.
49266 (grub_ncurses_getkey): Likewise.
49267 (grub_ncurses_init): Call raw instead of cbreak.
49268
49269 * normal/menu.c (print_entry): Do not put a space.
49270 (init_page): Renamed to ...
49271 (grub_menu_init_page): ... this. All callers changed.
49272 (edit_menu_entry): Removed.
49273 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49274
49275 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49276
49277 * kern/misc.c (grub_vprintf): Call grub_refresh.
49278
49279 * normal/menu.c (DISP_LEFT): Renamed to ...
49280 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49281 * normal/menu.c (DISP_UP): Renamed to ...
49282 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49283 * normal/menu.c (DISP_RIGHT): Renamed to ...
49284 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49285 * normal/menu.c (DISP_DOWN): Renamed to ...
49286 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49287 * normal/menu.c (DISP_HLINE): Renamed to ...
49288 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49289 * normal/menu.c (DISP_VLINE): Renamed to ...
49290 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49291 * normal/menu.c (DISP_UL): Renamed to ...
49292 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49293 * normal/menu.c (DISP_UR): Renamed to ...
49294 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49295 * normal/menu.c (DISP_LL): Renamed to ...
49296 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49297 * normal/menu.c (DISP_LR): Renamed to ...
49298 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49299 * normal/menu.c (TERM_WIDTH): Renamed to ...
49300 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49301 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49302 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49303 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49304 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49305 * normal/menu.c (TERM_MARGIN): Renamed to ...
49306 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49307 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49308 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49309 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49310 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49311 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49312 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49313 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49314 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49315 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49316 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49317 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49318 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49319 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49320 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49321 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49322 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49323 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49324 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49325 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49326 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49327 All callers changed.
49328
49329 * include/grub/normal.h: New prototype.
49330
49331 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49332 normal/menu_entry.c.
49333 (normal_mod_SOURCES): Likewise.
49334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49335 (normal_mod_SOURCES): Likewise.
49336
e6b92c8a 493372005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49338
49339 * include/grub/normal.h (grub_halt_init): New prototype.
49340 (grub_halt_fini): Likewise.
49341 (grub_reboot_init): Likewise.
49342 (grub_reboot_fini): Likewise.
49343
49344 * util/grub-emu.c: Include signal.h.
49345 (main_env): New global variable.
49346 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49347 catch C-c.
49348 (grub_machine_fini): New function.
49349 (main): Call grub_halt_init and grub_reboot_init before
49350 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49351 Call setjmp with MAIN_ENV to go back afterwards.
49352 Call grub_machine_fini right before return.
49353
49354 * include/grub/util/misc.h: Include setjmp.h.
49355 (main_env): New prototype.
49356
49357 * include/grub/kernel.h (grub_machine_fini): New prototype.
49358 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49359 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49360
49361 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49362 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49363 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49364
e6b92c8a 49365 * util/i386/pc/misc.c: New file.
f19dbdb7 49366
e6b92c8a 49367 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49368 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49369 commands/i386/pc/reboot.c.
49370
c642636f 493712005-02-14 Guillem Jover <guillem@hadrons.org>
49372
49373 * include/grub/dl.h (grub_dl_check_header): New prototype.
49374 (grub_arch_dl_check_header): Change return type to grub_err_t,
49375 remove size parameter and export function. Update all callers.
49376 * kern/dl.c (grub_dl_check_header): New function.
49377 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49378 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49379 are inside the core.
49380 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49381 independent ELF header checks.
49382 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49383 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49384 `grub_dl_check_header' instead of explicit checks. Check for the
49385 ELF type.
49386 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49387 `grub_dl_check_header' instead of explicit checks. Remove arch
49388 specific ELF header checks.
49389
e6b92c8a 49390 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49391 argument SIZE.
49392
5eabe94b 493932005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49394
49395 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49396 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49397
1b14a681 493982005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49399
49400 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49401 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49402 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49403 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49404 * partmap/amiga.c (amiga_partition_map_iterate): Return
49405 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49406 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49407
aca108aa 494082005-02-01 Guillem Jover <guillem@hadrons.org>
49409
49410 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49411 help info.
49412
c9f9c556 494132005-01-31 Marco Gerards <metgerards@student.han.nl>
49414
49415 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49416 Removed prototype.
49417 (grub_rescue_cmd_linux): New prototype.
49418 (grub_rescue_cmd_initrd): Likewise.
49419 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49420 `bi_rec'.
49421 (grub_linux_release_mem): Release the memory for the initrd.
49422 (grub_load_linux): Renamed from this...
49423 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49424 Changed `entry' not to be static. Loop over memory regions to
49425 find another one when the default fails.
49426 (grub_rescue_cmd_initrd): New function.
49427 (grub_linux_init): Remove function.
49428 (grub_linux_fini): Likewise.
49429 (GRUB_MOD_INIT): Register `initrd'.
49430 (GRUB_MOD_FINI): Unregister `initrd'.
49431 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49432 Function removed.
49433 (grub_linux_normal_fini): Likewise.
49434 (GRUB_MOD_INIT): Register `initrd'.
49435 (GRUB_MOD_FINI): Unregister `initrd'.
49436
990cf3aa 494372005-01-31 Marco Gerards <metgerards@student.han.nl>
49438
49439 * commands/help.c: New file.
49440 * normal/arg.c (show_help): Renamed to...
49441 (grub_arg_show_help): ... this.
49442 * commands/i386/pc/halt.c: New file.
49443 * commands/i386/pc/reboot.c: Likewise.
49444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49445 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49446 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49447 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49448 variables.
49449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49450 `commands/help.c'.
49451 (pkgdata_MODULES): Add `help.mod'.
49452 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49453 * grub/i386/pc/init.h (grub_reboot): New prototype.
49454 (grub_halt): Likewise.
49455 * include/grub/normal.h (grub_arg_show_help): New prototype.
49456 (grub_help_init): Likewise.
49457 (grub_help_fini): Likewise.
49458 * util/grub-emu.c (main): Initialize and deinitialize the help
49459 command.
49460
49461 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49462
49463 * normal/command.c (grub_command_init): Fixed the description of
49464 the `set' and `unset' commands.
49465
494662005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49467
49468 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49469 function.
49470 * commands/ieee1275/halt.c: New file.
49471 * commands/ieee1275/reboot.c: Likewise.
49472 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49473 `__attribute__ ((unused))'. Some GCS related fixed.
49474 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49475 (grub_suspend_fini): Likewise.
49476 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49477 and `halt.mod'.
49478 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49479 (halt_mod_CFLAGS): New variables.
49480 * include/grub/powerpc/ieee1275/ieee1275.h
49481 (grub_ieee1275_interpret): New prototype.
49482
1ab09cc7 494832005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49484
49485 * include/grub/misc.h (memmove): New prototype.
49486 (memcpy): Likewise.
49487
8b8cbdb2 494882005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49489
49490 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49491 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49492
e3741a27 494932005-01-22 Marco Gerards <metgerards@student.han.nl>
49494
49495 * kern/misc.c (grub_strndup): Function rewritten.
49496
776bd780 494972005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49498
49499 * normal/menu.c (TERM_WIDTH): Macro redefined.
49500 (TERM_TOP_BORDER_Y): Likewise.
49501 (draw_border): Replaced while-loop by a for-loop. Make the number
49502 of lines consistent with the number of lines displayed in
49503 print_entries. Added a margin below the rectangle.
49504 (print_entry): Make the entry fit in the rectangle.
49505 (print_entries): Display the scroll arrows next to the right
49506 border.
49507
78026bce 495082005-01-21 Marco Gerards <metgerards@student.han.nl>
49509
49510 * fs/minix.c (grub_minix_find_file): Reserve more space for
49511 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49512 `grub_strncpy' to copy `path' into it.
49513
67bbaf0f 495142005-01-21 Marco Gerards <metgerards@student.han.nl>
49515
49516 Add the loopback device, a device via which files can be accessed
49517 as devices.
f19dbdb7 49518
67bbaf0f 49519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49520 (pkgdata_MODULES): Add loopback.mod.
49521 (loopback_mod_SOURCES): New variable.
49522 (loopback_mod_CFLAGS): Likewise.
49523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49524 `disk/loopback.c'.
49525 (pkgdata_MODULES): Add loopback.mod.
49526 (loopback_mod_SOURCES): New variable.
49527 (loopback_mod_CFLAGS): Likewise.
49528 * disk/loopback.c: new file.
49529 * include/grub/normal.h (grub_loop_init): New prototype.
49530 (grub_loop_fini): New prototype.
49531 * util/grub-emu.c (main): Initialize and de-initialize loopback
49532 support.
49533 * include/grub/disk.h (grub_disk_dev_id): Add
49534 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49535
6f1c18bd 495362005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49537
49538 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49539 function.
49540 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49541 (suspend_mod_SOURCES): New variable.
49542 (suspend_mod_CFLAGS): Likewise.
49543 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49544 New prototype.
49545 * commands/ieee1275/suspend.c: New file.
49546
b38551da 495472005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49548
49549 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49550 ((unused))' to `__attribute__ ((used))'.
b38551da 49551 (GRUB_MOD_FINI): Likewise.
49552 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49553 * genmk.rb (PModule): Assign space to common symbols when linking
49554 modules.
49555
777aff39 495562005-01-20 Marco Gerards <metgerards@student.han.nl>
49557
49558 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49559 `unsigned' arguments to `grub_size_t'.
49560 (grub_malloc): Likewise.
49561 (grub_realloc): Likewise.
49562 (grub_memalign): Likewise.
49563 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49564 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49565 * util/misc.c (grub_malloc): Likewise.
49566 (grub_realloc): Likewise.
49567 * kern/mm.c (get_header_from_pointer): Change the casts to
49568 `unsigned' into a cast to `grub_size_t'.
49569
49570 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49571 point to `currnode' when `currnode' is changed.
49572
49573 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49574 Schottelius <nico-linux@schottelius.org>.
49575
d0ff18e1 495762005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49577
49578 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49579 (note_path): Remove variable.
49580 (GRUB_IEEE1275_NOTE_NAME): New macro.
49581 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49582 (grub_ieee1275_note_hdr): New structure.
49583 (grub_ieee1275_note_desc): Likewise.
49584 (grub_ieee1275_note): Likewise.
49585 (load_note): Remove `dir' argument. All callers updated. Remove
49586 `note_img' and `path'. Do not load a file from `note_path'.
49587 Initialize a struct grub_ieee1275_note and write that to `out'.
49588 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49589
4ca7004c 495902005-01-05 Marco Gerards <metgerards@student.han.nl>
49591
49592 * util/misc.c (grub_util_read_image): Revert last change. It
49593 called `grub_util_read_at', which seeks from the beginning of the
49594 file.
49595
0b412211 495962005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49597
49598 * TODO: Add note about endianness in grub-mkimage.
49599 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49600 section.
49601 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49602 (grub_mkimage_SOURCES): New target.
49603 * include/grub/kernel.h (grub_start_addr): Remove variable.
49604 (grub_end_addr): Likewise.
49605 (grub_total_module_size): Likewise.
49606 (grub_kernel_image_size): Likewise.
49607 (GRUB_MODULE_MAGIC): New constant.
49608 (grub_module_info): New structure.
49609 (grub_arch_modules_addr): New prototype.
49610 (grub_get_end_addr): Remove prototype.
49611 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49612 * include/grub/powerpc/ieee1275/kernel.h: New file.
49613 * include/grub/util/misc.h (grub_util_get_fp_size): New
49614 prototype.
49615 (grub_util_read_at): Likewise.
49616 (grub_util_write_image_at): Likewise.
49617 * kern/main.c (grub_get_end_addr): Remove function.
49618 (grub_load_modules): Call grub_arch_modules_addr instead of using
49619 grub_end_addr. Look for a grub_module_info struct in memory. Use
49620 the grub_module_info fields instead of calling grub_get_end_addr
49621 as loop conditions. Move grub_add_unused_region code here.
49622 (grub_add_unused_region): Remove function.
49623 * kern/i386/pc/init.c: Include grub/cache.h.
49624 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49625 one call to add_mem_region.
49626 (grub_arch_modules_addr): New function.
49627 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49628 (grub_total_module_size): Likewise.
49629 Include grub/machine/kernel.h.
49630 (grub_arch_modules_addr): New function.
49631 * util/grub-emu.c (grub_end_addr): Remove variable.
49632 (grub_total_module_size): Likewise.
49633 (grub_arch_modules_addr): New function.
49634 * util/misc.c: Include unistd.h.
49635 (grub_util_get_fp_size): New function.
49636 (grub_util_read_at): Likewise.
49637 (grub_util_write_image_at): Likewise.
49638 (grub_util_read_image): Call grub_util_read_at.
49639 (grub_util_write_image): Call grub_util_write_image_at.
49640 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49641 additional memory in kernel_img for a struct grub_module_info.
49642 Fill in that grub_module_info.
49643 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49644
458786f8 496452005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49646
49647 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49648 New function.
49649 * include/grub/powerpc/ieee1275/ieee1275.h
49650 (grub_ieee1275_milliseconds): New prototype.
49651 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49652 Change to 1000.
49653 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49654 grub_ieee1275_milliseconds.
49655
ac507d1b 496562005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49657
49658 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49659 variable.
49660 (find_options): New function.
49661 (cmain): Call find_options.
49662 * include/grub/powerpc/ieee1275/ieee1275.h
49663 (grub_ieee1275_realmode): New extern variable.
49664 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49665 grub_map if grub_ieee1275_realmode is false.
49666
6b8fd1c4 496672004-12-29 Marco Gerards <metgerards@student.han.nl>
49668
49669 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49670 lines are inserted and make it work like readline. Reported by
49671 Vincent Pelletier <subdino2004@yahoo.fr>.
49672
8514a1e0 496732004-12-28 Marco Gerards <metgerards@student.han.nl>
49674
49675 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49676
49677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49678 `kern/powerpc/cache.S'.
49679
924b6140 496802004-12-27 Marco Gerards <metgerards@student.han.nl>
49681
49682 * genmk.rb: Handle the `Program' class in the main loop. Written
49683 by Johan Rydberg <jrydberg@gnu.org>.
49684 (Program): New class.
49685 (programs): New variable.
49686 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49687 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49688 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49689 (help_arch): Function removed.
49690 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49691 `powerpc/libgcc.h' and `loader.h'.
49692 (pkgdata_PROGRAMS): New variable.
49693 (sbin_UTILITIES): Variable removed.
49694 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49695 (grubof_SOURCES): Variable re-defined so it only includes the
49696 core functionality.
49697 (grubof_CFLAGS): Remove `-DGRUBOF'.
49698 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49699 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49700 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49701 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49702 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49703 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49704 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49705 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49706 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49707 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49708 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49709 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49710 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49711 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49712 (pc_mod_CFLAGS): New variables.
49713 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49714 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49715 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49716 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49717 Moved from here...
49718 * include/grub/i386/pc/init.h (grub_os_area_addr)
49719 (rub_os_area_size): ... to here.
49720 * include/grub/powerpc/ieee1275/ieee1275.h
49721 (grub_ieee1275_entry_fn): Export symbol.
49722 * include/grub/powerpc/ieee1275/init.h: New file.
49723 * include/grub/powerpc/libgcc.h: Likewise.
49724 * include/grub/cache.h: Likewise.
49725 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49726 <hollis@penguinppc.org>.
49727 * kern/dl.c: Include <grub/cache.h>.
49728 (grub_dl_flush_cache): New function.
49729 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49730 for this module.
49731 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49732 (grub_console_init): Removed prototypes.
49733 (grub_machine_init): Don't initialize the modules anymore.
49734 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49735 static.
49736 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49737 Macro undef removed.
49738 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49739 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49740 relocation `R_PPC_REL32'. Return an error when the relocation is
49741 unknown.
49742 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49743 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49744 * util/misc.c (grub_arch_sync_caches): Likewise.
49745
e4b47e0c 497462004-12-19 Marco Gerards <metgerards@student.han.nl>
49747
49748 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49749 `symlist.c', add `grubof_symlist.c'.
49750 (symlist.c): Variable removed.
49751 (grubof_HEADERS): Variable added.
49752 (grubof_symlist.c): New target.
49753 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49754 `kernel_img_HEADERS'.
49755 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49756 * kern/powerpc/dl.c: New file.
49757 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49758 Function removed.
49759 (grub_arch_dl_relocate_symbols): Likewise.
49760 (grub_register_exported_symbols): Likewise.
49761
4ceb3636 497622004-12-13 Marco Gerards <metgerards@student.han.nl>
49763
49764 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49765 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49766 to fail instead. Reported by Vincent Pelletier
49767 <subdino2004@yahoo.fr>.
49768
49769 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49770 it is not allocated. Reported by Vincent Pelletier
49771 <subdino2004@yahoo.fr>.
49772
49773 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49774 output so the output looks better.
f19dbdb7 49775
3f1578fe 497762004-12-04 Marco Gerards <metgerards@student.han.nl>
49777
49778 Modulize the partition map support and add support for the amiga
49779 partition map.
f19dbdb7 49780
3f1578fe 49781 * commands/ls.c: Include <grub/partition.h> instead of
49782 <grub/machine/partition.h>.
49783 * kern/disk.c: Likewise.
49784 * kern/rescue.c: Likewise.
49785 * loader/i386/pc/chainloader.c: Likewise.
49786 * normal/cmdline.c: Likewise.
49787 * kern/powerpc/ieee1275/init.c: Likewise.
49788 (grub_machine_init): Call `grub_pc_partition_map_init',
49789 `grub_amiga_partition_map_init' and
49790 `grub_apple_partition_map_init'.
49791 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49792 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49793 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49794 `partition.h' and `pc_partition.h'.
49795 (grub_setup_SOURCES): Remove
49796 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49797 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49798 (grub_emu_SOURCES): Likewise.
49799 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49800 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49801 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49803 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49804 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49805 (grubof_SOURCES): Likewise.
49806 * disk/i386/pc/partition.c: File removed.
49807 * disk/powerpc/ieee1275/partition.c: Likewise.
49808 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49809 * include/grub/i386/pc/partition.h: Likewise.
49810 * kern/partition.c: New file.
49811 * partmap/amiga.c: Likewise.
49812 * partmap/apple.c: Likewise.
49813 * partmap/pc.c: Likewise.
49814 * include/grub/partition.h: Likewise..
49815 * include/grub/pc_partition.h: Likewise.
49816 * util/grub-emu.c: Include <grub/partition.h> instead of
49817 <grub/machine/partition.h>.
49818 (main): Call `grub_pc_partition_map_init',
49819 `grub_amiga_partition_map_init' and
49820 `grub_apple_partition_map_init' and deinitialize afterwards.
49821 * util/i386/pc/biosdisk.c: Include `#include
49822 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49823 `<grub/machine/partition.h>'.
49824 * util/i386/pc/grub-setup.c: Likewise.
49825 * util/i386/pc/biosdisk.c: Likewise.
49826 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49827 partition information in case of a PC partition.
49828 * util/i386/pc/grub-setup.c: Include `#include
49829 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49830 `<grub/machine/partition.h>'.
49831 (setup): Only access the PC specific partition information in case
49832 of a PC partition.
49833
0ef4ced9 498342004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49835
0ef4ced9 49836 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49837 (grub_longjmp): Likewise.
49838 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49839 20.
49840 * normal/powerpc/setjmp.S: New file.
49841 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49842 `normal/powerpc/setjmp.S'.
49843 (grubof_CFLAGS): Add `-DGRUBOF'.
49844 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49845 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49846
19950e29 498472004-11-16 Marco Gerards <metgerards@student.han.nl>
49848
49849 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49850 property named `name'. Correctly handle the error returned by
49851 `grub_ieee1275_finddevice' if a device can not be opened.
49852
a2fea427 498532004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49854
49855 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49856 `actual' for negativity.
49857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49858 kern/fshelp.c.
49859
41ea0ea3 498602004-11-01 Marco Gerards <metgerards@student.han.nl>
49861
49862 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49863 (PAGE_OFFSET): New macro.
49864 (CRTC_ADDR_PORT): Likewise.
49865 (CRTC_DATA_PORT): Likewise.
49866 (START_ADDR_HIGH_REGISTER): Likewise.
49867 (START_ADDR_LOW_REGISTER): Likewise.
49868 (GRAPHICS_ADDR_PORT): Likewise.
49869 (GRAPHICS_DATA_PORT): Likewise.
49870 (READ_MAP_REGISTER): Likewise.
49871 (INPUT_STATUS1_REGISTER): Likewise.
49872 (INPUT_STATUS1_VERTR_BIT): Likewise.
49873 (page): New variable.
49874 (wait_vretrace): New function.
49875 (set_read_map): Likewise.
49876 (set_start_address): Likewise.
49877 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49878 the right page.
49879 (check_vga_mem): Take the page into account.
49880 (write_char): Likewise.
49881 (write_cursor): Likewise.
49882 (scroll_up): Likewise. Copy the page to the page that is not
49883 shown and switch between both pages.
49884 (grub_vga_putchar): Fix off by one error.
49885 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49886 account.
49887
ad0bd20b 498882004-11-01 Marco Gerards <metgerards@student.han.nl>
49889
49890 Add support for iso9660 (including rockridge).
f19dbdb7 49891
ad0bd20b 49892 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49893 (iso9660_mod_SOURCES): New variable.
49894 (iso9660_mod_CFLAGS): Likewise.
49895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49896 * include/grub/fs.h (grub_iso9660_init): New prototype.
49897 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49898 * fs/iso9660.c: New file.
49899
49900 * include/grub/misc.h (grub_strncat): New prototype.
49901 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49902
ad0bd20b 49903 * fs/hfs.c (grub_hfs_mount): Translate the error
49904 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49905 * fs/jfs.c (grub_jfs_mount): Likewise.
49906 * fs/ufs.c (grub_ufs_mount): Likewise.
49907
a5477a59 499082004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49909
49910 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49911 which initialized BAT registers.
49912 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49913 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49914 Move from here...
49915 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49916 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49917 ... to here.
49918 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49919 (grub_mapclaim): Likewise.
49920 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49921 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49922 hand.
49923
9304c1f8 499242004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49925
49926 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49927 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49928 -ffreestanding and -msoft-float.
49929
86f4ae25 499302004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49931
49932 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49933 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49934 set in grub_ieee1275_flags.
49935
38912228 499362004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49937
49938 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49939 prototype.
49940 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49941 grub_console_init first.
49942 Change the memory range used for grub_ieee1275_claim and
49943 grub_mm_init_region.
49944 Print an error message if the claim fails.
49945 Include <grub/misc.h>.
49946
d1923dc8 499472004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49948
49949 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49950 Call grub_children_iterate for device nodes of type `scsi',
49951 `ide', or `ata'.
49952 (grub_ofdisk_open): Remove manual device alias resolution.
49953 Fix memory leak when device cannot be opened.
f19dbdb7 49954 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49955 (grub_children_iterate): New prototype.
49956 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49957 New function.
49958 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49959 Return -1 if args.size was -1.
49960
4512e4f3 499612004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49962
49963 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49964 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49965 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49966 Open Firmware's memory for it; claim memory from _start to _end.
49967 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49968 (_end): New extern.
49969 (_start): Zero BSS from __bss_start to _end.
49970 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49971 New extern.
49972 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49973
4d61feb0 499742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49975
ad0bd20b 49976 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49977 -1 if args.base was -1.
4d61feb0 49978
026fa2f9 499792004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49980
49981 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49982 escape sequence instead of a literal ^L. Also call
49983 grub_ofconsole_gotoxy.
49984
9f2220ef 499852004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49986
49987 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49988 void * arguments to grub_addr_t. All callers updated. Also make
49989 the `result' argument optional.
49990 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49991 All callers updated.
49992
8a572cd7 499932004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49994
49995 * commands/ls.c (grub_ls_list_files): Use the string following the
49996 initial ')', if present, as the filesystem path.
49997 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49998
49999 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50000
18aa81f2 500012004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50002
50003 Make the source code of the menu interface more readable.
f19dbdb7 50004
18aa81f2 50005 * normal/menu.c: Include grub/mm.h.
50006 (TERM_WIDTH): New macro.
50007 (TERM_HEIGHT): Likewise.
50008 (TERM_INFO_HEIGHT): Likewise.
50009 (TERM_MARGIN): Likewise.
50010 (TERM_SCROLL_WIDTH): Likewise.
50011 (TERM_TOP_BORDER_Y): Likewise.
50012 (TERM_LEFT_BORDER_X): Likewise.
50013 (TERM_BORDER_WIDTH): Likewise.
50014 (TERM_MESSAGE_HEIGHT): Likewise.
50015 (TERM_BORDER_HEIGHT): Likewise.
50016 (TERM_NUM_ENTRIES): Likewise.
50017 (TERM_FIRST_ENTRY_Y): Likewise.
50018 (TERM_ENTRY_WIDTH): Likewise.
50019 (TERM_CURSOR_X): Likewise.
50020 (draw_border): Use macros instead of magic numbers.
50021 (print_entry): Likewise.
50022 (print_entries): Likewise.
50023 (run_menu): Likewise. Also, handle the key 'e'.
50024 (run_menu_entry): Ignore empty command lines.
50025 (print_message): Added a new argument EDIT. If EDIT is true,
50026 print a different message.
50027 (init_page): Likewise.
50028 (edit_menu_entry): New function. Not implemented yet.
50029
b47efe30 500302004-09-17 Marco Gerards <metgerards@student.han.nl>
50031
50032 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50033 can be loaded from normal mode.
f19dbdb7 50034
b47efe30 50035 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50036 `multiboot.mod'.
50037 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50038 (multiboot_mod_CFLAGS): New variables.
50039 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50040 * loader/i386/pc/multiboot_normal.c: Likewise.
50041
b47efe30 50042 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50043 attribute `unused'.
f19dbdb7 50044
b47efe30 50045 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50046 `fdiro' to read the mode information from instead of `diro'.
50047
50048 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50049 looking up a symlink.
50050
50051 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50052 macro.
50053 * normal/command.c (grub_command_execute): Don't parse the
50054 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50055 flags of the command.
50056
50057 * normal/menu.c (grub_menu_run): Fix typo.
50058
da75ac71 500592004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50060
50061 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50062
50063 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50064 `y + 1' instead of `y - 1'.
50065
50066 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50067
062b24c2 500682004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50069
50070 From Hollis Blanchard <hollis@penguinppc.org>:
50071 * kern/misc.c (memmove): New alias for grub_memmove.
50072 (memcmp): New alias for grub_memcmp.
50073 (memset): New alias for grub_memset.
f19dbdb7 50074 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50075 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50076 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50077 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50078
8ddad845 500792004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50080
50081 Added normal mode command `chainloader' as module chain.mod, which
50082 depends on normal.mod and _chain.mod.
f19dbdb7 50083
8ddad845 50084 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50085 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50086 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50087 Deleted prototype.
50088 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50089 but arguments parsing moved to ...
50090 (grub_chainloader_cmd): ... here. New function.
50091 * include/grub/i386/pc/chainloader.h: New file.
50092 * loader/i386/pc/chainloader_normal.c: Likewise.
50093
2c1f4ce3 500942004-09-11 Marco Gerards <metgerards@student.han.nl>
50095
50096 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50097 (grub_mkimage_LDFLAGS): Likewise.
50098 (grub_emu_SOURCES): Likewise.
50099 (kernel_img_HEADERS): Added fshelp.h.
50100 * fs/ext2.c: Include <grub/fshelp.h>.
50101 (FILETYPE_REG): New macro.
50102 (FILETYPE_INO_REG): Likewise.
50103 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50104 Changed all users.
50105 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50106 all users.
50107 (grub_fshelp_node): New struct.
50108 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50109 to a pointer.
50110 (grub_ext2_get_file_block): Removed function.
50111 (grub_ext2_read_block): New function.
50112 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50113 This function was written.
50114 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50115 (grub_ext2_find_file): Removed function.
50116 (grub_ext2_read_symlink): New function.
50117 (grub_ext2_iterate_dir): Likewise.
50118 (grub_ext2_open): Rewritten.
50119 (grub_ext2_dir): Rewritten.
50120 * include/grub/fshelp.h: New file.
50121 * fs/fshelp.c: Likewise.
50122
3c52136a 501232004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50124
50125 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50126 (print_message): Add a missing newline.
50127 (run_menu): Added timeout support.
50128 (run_menu_entry): New local function.
50129 (grub_menu_run): Added support for booting.
50130
50131 * kern/loader.c (grub_loader_is_loaded): New function.
50132
50133 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50134 (grub_get_rtc): Exported.
50135
50136 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50137 (grub_get_rtc): Exported.
50138
50139 * include/grub/normal.h (struct grub_command_list): Remove
50140 constant from the member `command'.
50141
50142 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50143
50144 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50145
50146 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50147
aa033560 501482004-08-28 Marco Gerards <metgerards@student.han.nl>
50149
50150 Add support for the JFS filesystem.
50151
50152 * fs/jfs.c: New file.
50153 * include/grub/fs.h (grub_jfs_init): New prototype.
50154 (grub_jfs_fini): New prototype.
50155 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50156 (grub_emu_SOURCES): Likewise.
50157 (pkgdata_MODULES): Add jfs.mod.
50158 (jfs_mod_SOURCES): New variable.
50159 (jfs_mod_CFLAGS): Likewise.
50160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50161 (grubof_SOURCES): Likewise.
50162 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50163
50164 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50165 endian to the host endian.
50166 (grub_fat_utf16_to_utf8): Move function from there...
50167 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50168 the endianness of the source string anymore.
aa033560 50169 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50170
94bc45af 501712004-08-24 Marco Gerards <metgerards@student.han.nl>
50172
50173 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50174 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50175 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50176 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50177
94bc45af 50178 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50179 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50180 for `node_found' and `it_dir'.
50181 (grub_hfs_dir): Add prototype for `dir_hook'.
50182
50183 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50184 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50185 and `indir32' to silence a gcc warning.
50186
50187 * include/grub/fs.h (grub_hfs_init): New prototype.
50188 (grub_hfs_fini): Likewise.
f19dbdb7 50189
50190
97543f08 501912004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50192
50193 Each disk device has its own id now. This is useful to make use
50194 of multiple disk devices.
f19dbdb7 50195
97543f08 50196 * include/grub/disk.h (grub_disk_dev_id): New enum.
50197 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50198 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50199
50200 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50201 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50202
50203 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50204 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50205
50206 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50207 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50208
50209 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50210 "id" which is used by the cache manager.
50211
50212 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50213 of just "GRUB".
50214
64372eb4 502152004-08-18 Marco Gerards <metgerards@student.han.nl>
50216
50217 * fs/hfs.c: New file.
50218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50219 (grub_emu_SOURCES): Likewise.
50220 (pkgdata_MODULES): Add hfs.mod.
50221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50222 (grubof_SOURCES): Likewise.
50223 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50224
50225 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50226 * kern/misc.c (grub_strncasecmp): Add function.
50227
cc61b58f 502282004-08-14 Marco Gerards <metgerards@student.han.nl>
50229
50230 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50231 with parentheses.
50232
50233 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50234 (grub_ext2_dir): In case the directory entry type is unknown, read
50235 it from the inode.
50236
0ef123f6 502372004-08-02 Peter Bruin <pjbruin@dds.nl>
50238
50239 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50240 grub_load_linux instead of grub_rescue_cmd_linux as second
50241 argument of grub_rescue_register_command.
50242
50243 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50244
a447c5df 502452004-07-27 Marco Gerards <metgerards@student.han.nl>
50246
50247 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50248 function.
50249 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50250 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50251 `loader/powerpc/ieee1275/linux.c',
50252 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50253 * include/grub/powerpc/ieee1275/ieee1275.h
50254 (grub_ieee1275_release): New prototype.
50255 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50256 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50257 normal, boot, linux and linux_normal.
50258 * loader/powerpc/ieee1275/linux.c: New file.
50259 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50260
5a9e3546 502612004-07-12 Marco Gerards <metgerards@student.han.nl>
50262
50263 * normal/arg.c (grub_arg_parse): Correct error handling after
50264 reallocating the argumentlist (check if `argl' is not null instead
50265 of checking if `args' is not null).
50266 * kern/mm.c (grub_realloc): Return the same pointer when using the
50267 same region, instead of returning the header address.
50268
e15199cb 502692004-07-11 Marco Gerards <metgerards@student.han.nl>
50270
50271 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50272 one block instead of two when looking for the initial partition.
50273 (grub_partition_probe): Initialize the local variable `p' with 0.
50274 Use base 10 for the grub_strtoul call.
50275 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50276 need for one local variable.
50277 (grub_strtoul): Don't add the new value to `num', instead of that
50278 just assign it.
50279
020616c2 502802004-07-11 Marco Gerards <metgerards@student.han.nl>
50281
50282 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50283 (pxeboot_img_SOURCES): New variable.
50284 (pxeboot_img_ASFLAGS): Likewise.
50285 (pxeboot_img_LDFLAGS): Likewise.
50286 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50287 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50288 <lode_leroy@hotmail.com>.
50289
6c51eb64 502902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50291
50292 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50293 there was no input.
50294
cfb12aff 502952004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50296
50297 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50298 the history buffer logic.
50299
6eabba74 503002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50301
50302 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50303 (FILETYPE_INO_SYMLINK): New macros.
50304 (grub_ext2_find_file): Check if the node is a directory using the
50305 inode stat information instead of using the filetype in the
50306 dirent. Exclude the first character of an absolute symlink.
50307 (grub_ext2_dir): Mask out the filetype part of the mode member of
50308 the inode.
50309
66e19ef8 503102004-05-24 Marco Gerards <metgerards@student.han.nl>
50311
50312 Add support for UFS version 1 and 2. Add support for the minix
50313 filesystem version 1 and 2, both the variants with 14 and 30 long
50314 filenames.
f19dbdb7 50315
66e19ef8 50316 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50317 fs/minix.c.
50318 (grub_emu_SOURCES): Likewise.
50319 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50320 (ufs_mod_SOURCES): New variable.
50321 (ufs_mod_CFLAGS): Likewise.
50322 (minix_mod_SOURCES): Likewise.
50323 (minix_mod_CFLAGS): Likewise.
50324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50325 fs/minix.c.
50326 (grubof_SOURCES): Likewise.
50327 * fs/ufs.c: New file.
50328 * fs/minix.c: New file.
50329 * include/grub/fs.h (grub_ufs_init): New prototype.
50330 (grub_ufs_fini): Likewise.
50331 (grub_minix_init): Likewise.
50332 (grub_minix_fini): Likewise.
50333 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50334 minix fs.
50335
cc2e748a 503362004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50337
50338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50339 commands/ls.c, commands/terminal.c, commands/boot.c,
50340 commands/cmp.c and commands/cat.c.
50341 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50342
50343 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50344 "env.h"
50345
4b13b216 503462004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50347
50348 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50349 and grub_, respectively. Because the conversion is trivial and
50350 mechanical, I omit the details here. Please refer to the CVS
50351 if you need more information.
50352
6a142551 503532004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50354
50355 * include/pupa: Renamed to ...
50356 * include/grub: ... this.
50357 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50358 * util/i386/pc/grub-mkimage.c: ... this.
50359 * util/i386/pc/pupa-setup.c: Renamed to ...
50360 * util/i386/pc/grub-setup.c: ... this.
50361 * util/pupa-emu.c: Renamed to ...
50362 * util/grub-emu.c: ... this.
50363
e56cdf21 503642004-03-29 Marco Gerards <metgerards@student.han.nl>
50365
50366 Add support for the newworld apple macintosh (PPC). This has been
50367 tested on the powerbook 2000 only. It only adds support for
50368 generic ieee1275 functions, console and disk support. This should
50369 be easy to port to other architectures with support for Open
50370 Firmware.
f19dbdb7 50371
e56cdf21 50372 * configure.ac: Accept the powerpc as host_cpu. In the case of
50373 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50374 specific tests are only executed while building for the i386.
50375 Inverse test for crosscompile.
50376 * genmk.rb (Utility): Allow assembler files.
50377 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50378 * conf/powerpc-ieee1275.rmk: New file.
50379 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50380 * disk/powerpc/ieee1275/partition.c: Likewise.
50381 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50382 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50383 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50384 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50385 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50386 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50387 * include/pupa/powerpc/ieee1275/loader.h
50388 * include/pupa/powerpc/setjmp.h: Likewise.
50389 * include/pupa/powerpc/types.h: Likewise.
50390 * kern/powerpc/ieee1275/init.c: Likewise.
50391 * kern/powerpc/ieee1275/openfw.c: Likewise.
50392 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50393
50394 These files were written by Johan Rydberg
50395 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50396
e56cdf21 50397 * boot/powerpc/ieee1275/cmain.c: New file.
50398 * boot/powerpc/ieee1275/crt0.S: Likewise.
50399 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50400 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50401
8c8cc205 504022004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50403
50404 * Makefile.in: Update copyright.
50405 * genmodsrc.sh: Likewise.
50406 * gensymlist.sh: Likewise.
50407 * term/i386/pc/vga.c: Indent correctly.
50408
50409 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50410 bugreporting address.
50411 * util/i386/pc/pupa-setup.c (usage): Likewise,
50412 (main): Call pupa_ext2_init and pupa_ext2_fini.
50413
f19dbdb7 50414 * fs/fat.c (log2): Renamed to ...
8c8cc205 50415 (fat_log2): ... this.
50416 All callers changed.
50417 * kern/misc.c (memcpy): Alias to pupa_memmove.
50418 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50419 lvalue cast.
50420 * util/console.c (pupa_ncurses_fini): Return 0.
50421
50422 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50423 Move fail label here.
50424 [__GNU__]: Don't warn when using stat.
50425 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50426 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50427 long int. Use strtol instead of strtoul.
f19dbdb7 50428
db1771cf 504292004-03-14 Marco Gerards <metgerards@student.han.nl>
50430
50431 * commands/boot.c: New file.
50432 * commands/cat.c: Likewise.
50433 * commands/cmp.c: Likewise.
50434 * commands/ls.c: Likewise.
50435 * commands/terminal.c: Likewise.
50436 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50437 (pupa_register_command): Changed interface to match the new
50438 argument parser.
50439 (pupa_command_execute): Changed (almost rewritten) so it uses
50440 pupa_split_command. Added support for setting variables using the
50441 syntax `foo=bar'.
50442 (rescue_command): Changed to work with the new argument parser.
50443 (terminal_command): Moved from here to commands/terminal.c.
50444 (set_command): New function.
50445 (unset_command): New function.
50446 (insmod_command): New function.
50447 (rmmod_command): New function.
50448 (lsmod_command): New function.
50449 (pupa_command_init): Don't initialize the command terminal
50450 anymore. Initialize the commands set, unset, insmod, rmmod and
50451 lsmod.
50452 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50453 (kernel_img_HEADERS): Add arg.h and env.h.
50454 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50455 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50456 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50457 normal/arg.c.
50458 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50459 terminal.mod.
50460 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50461 (boot_mod_SOURCES): New variable.
50462 (terminal_mod_SOURCES): Likewise.
50463 (ls_mod_SOURCES): Likewise.
50464 (cmp_mod_SOURCES): Likewise.
50465 (cat_mod_SOURCES): Likewise.
50466
50467 * normal/arg.c: New file.
50468 * kern/env.c: Likewise.
50469 * include/pupa/arg.h: Likewise.
50470 * include/pupa/env.h: Likewise.
50471 * font/manager.c (font_command): Changed to match argument parsing
50472 interface changes.
50473 (PUPA_MOD_INIT): Likewise.
50474 * hello/hello.c (pupa_cmd_hello): Likewise.
50475 (PUPA_MOD_INIT): Likewise.
50476 * include/pupa/disk.h: Include <pupa/device.h>.
50477 (pupa_print_partinfo): New prototype.
50478 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50479 (pupa_dl_get_prefix): Likewise.
50480 * include/pupa/misc.h: Include <pupa/err.h>.
50481 (pupa_isgraph): New prototype.
50482 (pupa_isdigit): Likewise.
50483 (pupa_split_cmdline): Likewise.
50484 * include/pupa/normal.h: Include <pupa/arg.h>.
50485 (pupa_command): Changed the prototype of the member `func' to
50486 match the argument parsing interface. Added member `options'.
50487 (pupa_register_command): Updated to match function.
50488 (pupa_arg_parse): New prototype.
50489 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50490 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50491 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50492 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50493 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50494 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50495 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50496 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50497 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50498 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50499 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50500 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50501 * kern/disk.c: Include <pupa/file.h>.
50502 (pupa_print_partinfo): New function.
50503 * kern/dl.c: Include <pupa/env.h>.
50504 (pupa_dl_dir): Variable removed.
50505 (pupa_dl_load): Use the environment variable `prefix' instead of
50506 the variable pupa_dl_dir.
50507 (pupa_dl_set_prefix): Function removed.
50508 (pupa_dl_get_prefix): Likewise.
50509 * kern/i386/pc/init.c: Include <pupa/env.h>.
50510 (pupa_machine_init): Use the environment variable `prefix' instead of
50511 using pupa_dl_set_prefix to set the prefix.
50512 * kern/main.c: Include <pupa/env.h>.
50513 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50514 using pupa_dl_get_prefix to get the prefix.
50515 * kern/misc.c: Include <pupa/env.h>.
50516 (pupa_isdigit): New function.
50517 (pupa_isgraph): Likewise.
50518 (pupa_ftoa): Likewise.
50519 (pupa_vsprintf): Added support for printing values of the type
50520 `double'. Make it possible to format variable output when using
50521 formatting like `%1.2%f'.
50522 (pupa_split_cmdline): New function.
50523 * kern/rescue.c: Include <pupa/env.h>.
50524 (next_word): Removed function.
50525 (pupa_rescue_cmd_prefix): Likewise.
50526 (pupa_rescue_cmd_set): New function.
50527 (pupa_rescue_cmd_unset): New function.
50528 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50529 split the command line instead of splitting it here. Added
50530 support for setting variables using the syntax `foo=bar'. Don't
50531 initialize the prefix command anymore. Initialized the set and
50532 unset commands.
50533 * normal/cmdline.c: Include <pupa/env.h>.
50534 (pupa_tab_complete): Added prototypes for print_simple_completion,
50535 print_partition_completion, add_completion, iterate_commands,
50536 iterate_dev, iterate_part and iterate_dir. Moved code to print
50537 partition information from here to kern/disk.c.
fe6b695a 50538 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50539 * normal/main.c: Include <pupa/env.h>.
50540 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50541 instead of using pupa_dl_get_prefix to get the prefix.
50542 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50543 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50544 warning.
50545 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50546 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50547 ((unused))' to silence a gcc warning.
50548 (pupa_vga_setcolor): Likewise.
50549 (debug_command): Changed to match argument parsing
50550 interface changes.
50551 * util/pupa-emu.c: Include <pupa/env.h>.
50552 (options): Added 0's for unused fields to silence a gcc warning.
50553 (argp): Likewise.
50554 (main): Use the environment variable `prefix' instead of using
50555 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50556 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50557 and terminal.
50558
50559 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50560 * util/misc.c: Include <malloc.h>.
50561 (pupa_malloc): Rewritten so errors are correctly reported.
50562 (pupa_realloc): Likewise.
50563 (pupa_memalign): Likewise.
50564 (pupa_mm_init_region): Declare unused variables with
50565 `__attribute__ ((unused))' to silence a gcc warning.
50566 * normal/i386/setjmp.S: Remove tab at the end of the file to
50567 silence a gcc warning.
50568 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50569 variables with `__attribute__ ((unused))' to silence a gcc
50570 warning.
50571 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50572 local variable i unsigned to silence a gcc warning.
50573
50574 * kern/term.c: Include <pupa/misc.h>.
50575 (pupa_more_lines): New variable.
50576 (pupa_more): Likewise.
50577 (pupa_putcode): When the pager is active pause at the end of every
50578 screen.
50579 (pupa_set_more): New function.
50580 * include/pupa/term.h (pupa_set_more): New prototype.
50581
50582
3b1139cb 505832004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 Now this project is GRUB 2 rather than PUPA. The location of
50586 the CVS repository was moved to GRUB's.
f19dbdb7 50587
3b1139cb 50588 * configure.ac: Use bug-grub as the reporting address.
50589 Use GRUB instead of PUPA.
50590 Change the version number to 1.90.
50591
8367695c 505922004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50593
50594 * genkernsyms.sh: Updated copyright information.
50595 * genmk.rb: Likewise.
50596 * genmodsrc.sh: Likewise.
50597 * gensymlist.sh: Likewise.
50598 * boot/i386/pc/boot.S: Likewise.
50599 * boot/i386/pc/diskboot.S: Likewise.
50600 * disk/i386/pc/biosdisk.c: Likewise.
50601 * disk/i386/pc/partition.c: Likewise.
50602 * font/manager.c: Likewise.
50603 * fs/ext2.c: Likewise.
50604 * fs/fat.c: Likewise.
50605 * include/pupa/boot.h: Likewise.
50606 * include/pupa/device.h: Likewise.
50607 * include/pupa/disk.h: Likewise.
50608 * include/pupa/dl.h: Likewise.
50609 * include/pupa/elf.h: Likewise.
50610 * include/pupa/err.h: Likewise.
50611 * include/pupa/file.h: Likewise.
50612 * include/pupa/font.h: Likewise.
50613 * include/pupa/fs.h: Likewise.
50614 * include/pupa/kernel.h: Likewise.
50615 * include/pupa/loader.h: Likewise.
50616 * include/pupa/misc.h: Likewise.
50617 * include/pupa/mm.h: Likewise.
50618 * include/pupa/net.h: Likewise.
50619 * include/pupa/normal.h: Likewise.
50620 * include/pupa/rescue.h: Likewise.
50621 * include/pupa/setjmp.h: Likewise.
50622 * include/pupa/symbol.h: Likewise.
50623 * include/pupa/term.h: Likewise.
50624 * include/pupa/types.h: Likewise.
50625 * include/pupa/i386/setjmp.h: Likewise.
50626 * include/pupa/i386/types.h: Likewise.
50627 * include/pupa/i386/pc/biosdisk.h: Likewise.
50628 * include/pupa/i386/pc/boot.h: Likewise.
50629 * include/pupa/i386/pc/console.h: Likewise.
50630 * include/pupa/i386/pc/init.h: Likewise.
50631 * include/pupa/i386/pc/kernel.h: Likewise.
50632 * include/pupa/i386/pc/linux.h: Likewise.
50633 * include/pupa/i386/pc/loader.h: Likewise.
50634 * include/pupa/i386/pc/memory.h: Likewise.
50635 * include/pupa/i386/pc/multiboot.h: Likewise.
50636 * include/pupa/i386/pc/partition.h: Likewise.
50637 * include/pupa/i386/pc/time.h: Likewise.
50638 * include/pupa/i386/pc/vga.h: Likewise.
50639 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50640 * include/pupa/util/getroot.h: Likewise.
50641 * include/pupa/util/misc.h: Likewise.
50642 * include/pupa/util/resolve.h: Likewise.
50643 * kern/device.c: Likewise.
50644 * kern/disk.c: Likewise.
50645 * kern/dl.c: Likewise.
50646 * kern/err.c: Likewise.
50647 * kern/file.c: Likewise.
50648 * kern/fs.c: Likewise.
50649 * kern/loader.c: Likewise.
50650 * kern/main.c: Likewise.
50651 * kern/misc.c: Likewise.
50652 * kern/mm.c: Likewise.
50653 * kern/rescue.c: Likewise.
50654 * kern/term.c: Likewise.
50655 * kern/i386/dl.c: Likewise.
50656 * kern/i386/pc/init.c: Likewise.
50657 * kern/i386/pc/lzo1x.S: Likewise.
50658 * kern/i386/pc/startup.S: Likewise.
50659 * loader/i386/pc/chainloader.c: Likewise.
50660 * loader/i386/pc/linux.c: Likewise.
50661 * loader/i386/pc/multiboot.c: Likewise.
50662 * normal/cmdline.c: Likewise.
50663 * normal/command.c: Likewise.
50664 * normal/main.c: Likewise.
50665 * normal/menu.c: Likewise.
50666 * normal/i386/setjmp.S: Likewise.
50667 * term/i386/pc/console.c: Likewise.
50668 * term/i386/pc/vga.c: Likewise.
50669 * util/console.c: Likewise.
50670 * util/genmoddep.c: Likewise.
50671 * util/misc.c: Likewise.
50672 * util/pupa-emu.c: Likewise.
50673 * util/resolve.c: Likewise.
50674 * util/unifont2pff.rb: Likewise.
50675 * util/i386/pc/biosdisk.c: Likewise.
50676 * util/i386/pc/getroot.c: Likewise.
50677 * util/i386/pc/pupa-mkimage.c: Likewise.
50678 * util/i386/pc/pupa-setup.c: Likewise.
50679
e6eced71 506802004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50681
50682 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50683 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50684 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50685 reading and reset it after reading.
50686 (pupa_ext2_close): Return PUPA_ERR_NONE.
50687
50688 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50689 Correct value.
50690 (struct linux_kernel_header): Add kernel_version and
50691 initrd_addr_max.
50692 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50693 pupa_file_read succeeds.
50694 (pupa_rescue_cmd_initrd): Implement.
50695
5aded270 506962003-12-03 Marco Gerards <metgerards@student.han.nl>
50697
50698 * fs/ext2.c (pupa_ext2_label): New function.
50699 (pupa_ext2_fs): Added label.
50700 * fs/fat.c (pupa_fat_label): New function.
50701 (pupa_fat_fs): Added label.
50702 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50703
50704 * kern/misc.c (pupa_strndup): New function.
50705 * include/pupa/misc.h (pupa_strndup): New prototype.
50706
50707 * include/pupa/normal.h: Include <pupa/err.h>.
50708 (pupa_set_history): New prototype.
50709 (pupa_iterate_commands): New prototype.
50710 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50711 <pupa/disk.h>, <pupa/file.h>.
50712 (hist_size): New variable.
50713 (hist_lines): Likewise.
50714 (hist_end): Likewise.
50715 (hist_used): Likewise.
50716 (pupa_set_history): New function.
50717 (pupa_history_get): Likewise.
50718 (pupa_history_add): Likewise.
50719 (pupa_history_replace): Likewise.
50720 (pupa_tab_complete): Likewise.
50721 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50722 completion shows partitionnames while completing partitions, this
50723 feature was suggested by Jeff Bailey.
50724 * normal/command.c (pupa_iterate_commands): New function.
50725 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50726 (pupa_normal_init): Initialize history buffer.
50727 (PUPA_MOD_INIT): Likewise.
50728 (pupa_normal_fini): Free the history buffer.
50729 (PUPA_MOD_FINI): Likewise.
50730
50731 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50732 key.
50733
50734 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50735 * configure.ac [i386]: Check for regparam bug.
50736 (NESTED_FUNC_ATTR) [! i386]: Defined.
50737
1f7315a3 507382003-11-17 Marco Gerards <metgerards@student.han.nl>
50739
50740 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50741 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50742 (pupa_emu_SOURCES): New variable.
50743 (pupa_emu_LDFLAGS): Likewise.
50744 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50745 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50746 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50747 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50748 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50749 (pupa_jmp_buf): New typedef.
50750 (pupa_setjmp) [PUPA_UTIL]: New macro.
50751 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50752 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50753 (pupa_refresh): New prototype.
50754 * include/pupa/util/getroot.h: New file.
50755 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50756 it.
50757 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50758 (pupa_rescue_cmd_cat): Likewise.
50759 (pupa_rescue_cmd_ls): Likewise.
50760 (pupa_rescue_cmd_testload): Likewise.
50761 (pupa_rescue_cmd_lsmod): Likewise.
50762 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50763 * normal/menu.c (run_menu): Likewise.
50764 * kern/term.c (pupa_cls): Likewise.
50765 (pupa_refresh): New function.
50766 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50767 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50768 * util/console.c: New file.
f19dbdb7 50769
1f7315a3 50770 * util/i386/pc/getroot.c: New file.
50771 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50772 (pupa_putchar): New function.
50773 (pupa_refresh): Likewise.
50774 (xgetcwd): Function moved to ...
50775 (strip_extra_slashes): Likewise.
50776 (get_prefix): Likewise.
f19dbdb7 50777 * util/i386/pc/getroot.c: ... here.
1f7315a3 50778 (find_root_device): Function moved and renamed to...
50779 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50780 Changed all callers.
50781 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50782 and renamed to...
50783 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50784 Changed all callers.
50785 * util/misc.c (pupa_memalign): New function.
50786 (pupa_mm_init_region): Likewise.
50787 (pupa_register_exported_symbols): Likewise.
50788 (pupa_putchar): Function removed.
50789 * util/pupa-emu.c: New file.
50790
9a5c1ade 507912003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50792
50793 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50794 (_multiboot_mod_SOURCES): New variable.
50795 (_multiboot_mod_CFLAGS): Likewise.
50796 * loader/i386/pc/multiboot.c: New file.
50797 * include/pupa/i386/pc/multiboot.h: Likewise.
50798 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50799 (pupa_multiboot_real_boot): New function.
50800 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50801 (pupa_multiboot_real_boot): New prototype.
50802 (pupa_rescue_cmd_multiboot): Likewise
50803 (pupa_rescue_cmd_module): Likewise.
50804
50805 * kern/loader.c (pupa_loader_set): Continue when
50806 pupa_loader_unload_func() fails.
50807 (pupa_loader_unset): New function.
50808 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50809
50810 * kern/misc.c (pupa_stpcpy): New function.
50811 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50812
8e72a9c0 508132003-11-12 Marco Gerards <metgerards@student.han.nl>
50814
50815 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50816 for available extensions.
50817
50818 * include/pupa/i386/pc/time.h: New file.
50819 * kern/disk.c: Include <pupa/machine/time.h>.
50820 (PUPA_CACHE_TIMEOUT): New macro.
50821 (pupa_last_time): New variable.
50822 (pupa_disk_open): Flush the cache when there was a timeout.
50823 (pupa_disk_close): Reset the timer.
50824 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50825 pupa_currticks.
50826 * util/misc.c: Include <sys/times.h>
50827 (pupa_get_rtc): New function.
50828
c4adbd32 508292003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50830
50831 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50832 as blocks.
50833 (pupa_ext2_get_file_block): Use blocks member.
50834
50835 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50836 first block. Return -1 instead of pupa_errno on error.
50837
bfd30f06 508382003-10-27 Marco Gerards <metgerards@student.han.nl>
50839
50840 * README: In the pupa-mkimage example use _chain instead of chain
50841 and ext2 instead of fat.
50842 * TODO: Replace ext2fs with jfs as an example. Add an item for
50843 adding journal playback for ext2fs.
50844 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50845 (pkgdata_MODULES): Added ext2.mod.
50846 (ext2_mod_SOURCES): New variable.
50847 (ext2_mod_CFLAGS): Likewise.
50848 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50849 * include/pupa/misc.h (pupa_strncpy): New prototype.
50850 (pupa_strcat): Likewise.
50851 (pupa_strncmp): Likewise.
50852 * kern/misc.c (pupa_strcat): Enable function.
50853 (pupa_strncpy): New function.
50854 (pupa_strncmp): Likewise.
50855 * fs/ext2.c: New file.
f19dbdb7 50856
bfd30f06 50857 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50858 when the read failed before retrying.
50859 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50860 (_FILE_OFFSET_BITS): Likewise.
50861 * configure.ac: Added AC_SYS_LARGEFILE.
50862
98d15063 508632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50864
50865 * genmk.rb (PModule#rule): Make sure to get only symbol names
50866 from the output of nm.
59cad637 50867 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50868
18d9c7cd 508692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50870
50871 I forgot to check in these changes for a long time. This adds
50872 incomplete support for VGA console, and this is still very
50873 buggy. Also, a lot of consideration is required for I18N,
50874 UNICODE, and VGA font issues. Therefore, assume that this is
50875 such that "better than nothing".
f19dbdb7 50876
18d9c7cd 50877 * font/manager.c: New file.
50878 * include/pupa/font.h: Likewise.
50879 * include/pupa/i386/pc/vga.h: Likewise.
50880 * term/i386/pc/vga.c: Likewise.
50881 * util/unifont2pff.rb: Likewise.
50882
50883 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50884 (pkgdata_MODULES): Added vga.mod and font.mod.
50885 (vga_mod_SOURCES): New variables.
50886 (vga_mod_CFLAGS): Likewise.
50887 (font_mod_SOURCES): Likewise.
50888 (font_mod_CFLAGS): Likewise.
50889
50890 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50891
50892 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50893 (struct pupa_term): Added init and fini.
18d9c7cd 50894 Changed the argument of putchar to pupa_uint32_t.
50895
50896 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50897 (pupa_console_real_putchar): New prototype.
50898 (pupa_console_putchar): Removed.
50899 (pupa_console_checkkey): Exported.
50900 (pupa_console_getkey): Likewise.
50901
50902 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50903 characters.
50904
50905 * kern/term.c (pupa_term_set_current): Rewritten.
50906 (pupa_putchar): Likewise.
50907 (pupa_putcode): New function.
50908
50909 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50910 (pupa_console_real_putchar): ... this.
50911 (pupa_vga_set_mode): New function.
50912 (pupa_vga_get_font): Likewise.
50913
50914 * normal/command.c: Include pupa/term.h.
50915 (terminal_command): New function.
50916 (pupa_command_init): Register the command "terminal".
50917
50918 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50919 (DISP_UP): Likewise.
50920 (DISP_RIGHT): Likewise.
50921 (DISP_DOWN): Likewise.
50922 (DISP_HLINE): Likewise.
50923 (DISP_VLINE): Likewise.
50924 (DISP_UL): Likewise.
50925 (DISP_UR): Likewise.
50926 (DISP_LL): Likewise.
50927 (DISP_LR): Likewise.
50928
50929 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50930
977329f5 509312003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50932
50933 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50934 FIX. Reverse the path_list.
50935
50936 * include/pupa/normal.h: Export pupa_register_command and
50937 pupa_unregister_command.
50938
50939 * hello/hello.c (pupa_cmd_hello): New module.
50940 * conf/i386-pc.rmk: Added hello.mod.
50941
1f5ab428 509422003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50943
50944 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50945
1f5ab428 50946 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50947 (compress_kernel): New variable.
50948 (generate_image): Heavily modified to support compressing a
50949 large part of the core image.
50950
50951 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50952 leak.
50953 (pupa_util_load_image): New function.
50954
50955 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50956 (pupa_compressed_size): New variable.
50957 (codestart): Enable Gate A20 here.
50958 Decompress the compressed part of the core image.
50959 Rearrange the code to put functions and variables which are
50960 required for initialization in the non-compressed part.
50961 Include lzo1x.S.
50962
50963 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50964 here.
50965
50966 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50967
f19dbdb7 50968 * include/pupa/i386/pc/kernel.h
1f5ab428 50969 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50970 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50971 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50972 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50973 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50974
50975 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50976
50977 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50978 (Utility#rule): Likewise.
50979
50980 * configure.ac: Check if LZO is available.
50981
ce5bf700 509822003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50983
50984 * include/pupa/normal.h: New file.
50985 * include/pupa/setjmp.h: Likewise.
50986 * include/pupa/i386/setjmp.h: Likewise.
50987 * normal/cmdline.c: Likewise.
50988 * normal/command.c: Likewise.
50989 * normal/main.c: Likewise.
50990 * normal/menu.c: Likewise.
50991 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50992
ce5bf700 50993 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50994 (pupa_rescue_cmd_initrd): Likewise.
50995
50996 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50997 Likewise.
50998
50999 * kern/i386/pc/startup.S (translation_table): New variable.
51000 (translate_keycode): New function.
51001 (pupa_console_getkey): Call translate_keycode.
51002
51003 * kern/rescue.c (attempt_normal_mode): New function.
51004 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51005 it failed, print a message.
51006
51007 * kern/mm.c (pupa_real_malloc): Print more information when a
51008 free magic is broken.
51009 (pupa_free): If the first free header is not free actually, set
51010 it to P.
51011
51012 * kern/main.c (pupa_load_normal_mode): Just load the module
51013 "normal".
51014 (pupa_main): Don't print the message
51015 "Entering into rescue mode..." here.
51016
51017 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51018 Declared.
51019 (pupa_rescue_cmd_initrd): Likewise.
51020 (pupa_rescue_cmd_initrd): Likewise.
51021
51022 * include/pupa/symbol.h (FUNCTION): Specify the type.
51023 (VARIABLE): Likewise.
51024
51025 * include/pupa/err.h (pupa_err_t): Added
51026 PUPA_ERR_UNKNOWN_COMMAND.
51027
51028 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51029 (pupa_dl_get_prefix): Likewise.
51030
51031 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51032 Added _chain.mod and _linux.mod instead of chain.mod and
51033 linux.mod.
51034 (chain_mod_SOURCES): Renamed to ...
51035 (_chain_mod_SOURCES): ... this.
51036 (chain_mod_CFLAGS): Renamed to ...
51037 (_chain_mod_CFLAGS): ... this.
51038 (linux_mod_SOURCES): Renamed to ...
51039 (_linux_mod_SOURCES): ... this.
51040 (linux_mod_CFLAGS): Renamed to ...
51041 (_linux_mod_CFLAGS): ... this.
51042 (normal_mod_SOURCES): New variable.
51043 (normal_mod_CFLAGS): Likewise.
51044 (normal_mod_ASFLAGS): Likewise.
51045
510462003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51047
51048 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51049 possible.
51050
fe6b695a 51051 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51052 recursively.
51053 (pupa_dl_unref): Unrefer depending modules recursively.
51054 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51055 a module is unloaded before one depending on that module is
51056 unloaded.
51057 (pupa_dl_unload): Unload depending modules explicitly,
51058 if possible.
51059
c04da074 510602003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51061
51062 * include/pupa/i386/pc/linux.h: New file.
51063 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51064
c04da074 51065 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51066 Removed.
51067 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51068 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51069 of PUPA_CHAINLOADER_BOOT_SECTOR.
51070
51071 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51072 (pupa_linux_prot_size): New variable.
51073 (pupa_linux_tmp_addr): Likewise.
51074 (pupa_linux_real_addr): Likewise.
51075 (pupa_linux_boot_zimage): New function.
51076 (pupa_linux_boot_bzimage): Likewise.
51077
51078 * kern/i386/pc/init.c (struct mem_region): New structure.
51079 (MAX_REGIONS): New macro.
51080 (mem_regions): New variable.
51081 (num_regions): Likewise.
51082 (pupa_os_area_addr): Likewise.
51083 (pupa_os_area_size): Likewise.
51084 (pupa_lower_mem): Likewise.
51085 (pupa_upper_mem): Likewise.
51086 (add_mem_region): New function.
51087 (compact_mem_regions): Likewise.
51088 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51089 the size of the conventional memory and that of so-called upper
51090 memory (before the first memory hole).
51091 Instead of adding each found region to free memory, use
51092 add_mem_region and add them after removing overlaps.
51093 Also, add only 1/4 of the upper memory to free memory. The rest
51094 is used for loading OS images. Maybe this is ad hoc, but this
51095 makes it much easier to relocate OS images when booting.
51096
51097 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51098 (pupa_enter_rescue_mode): Don't register initrd and module.
51099
51100 * kern/mm.c: Include pupa/dl.h.
51101
51102 * kern/main.c: Include pupa/file.h and pupa/device.h.
51103
51104 * kern/loader.c (pupa_loader_load_module_func): Removed.
51105 (pupa_loader_load_module): Likewise.
51106
51107 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51108 ``.o''.
51109
51110 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51111 (pupa_linux_tmp_addr): Likewise.
51112 (pupa_linux_real_addr): Likewise.
51113 (pupa_linux_boot_zimage): Likewise.
51114 (pupa_linux_boot_bzimage): Likewise.
51115
51116 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51117 (pupa_upper_mem): Likewise.
51118 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51119 module is too dangerous.
51120
51121 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51122 (pupa_os_area_size): Likewise.
51123 (pupa_loader_set): Remove the first argument. Loader doesn't
51124 manage modules or initrd any longer.
51125 (pupa_loader_load_module): Removed.
51126
51127 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51128 (linux_mod_SOURCES): New variable.
51129 (linux_mod_CFLAGS): Likewise.
51130
a13f9237 511312003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51132
51133 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51134 the length of a blocklist correctly.
51135
51136 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51137 Use ioctl only if the OS file is a block device.
51138 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51139 not very useful for normal files.
51140
51141 * kern/main.c (pupa_set_root_dev): New function.
51142 (pupa_load_normal_mode): Likewise.
51143 (pupa_main): Call those above.
51144
51145 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51146 pupa_uint16_t.
51147
51148 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51149
a5ffe966 511502003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51151
51152 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51153 (setup): Configure the installed partition information and the
51154 dl prefix.
51155
51156 * loader/i386/pc/chainloader.c (my_mod): New variable.
51157 (pupa_chainloader_unload): New function.
51158 (pupa_rescue_cmd_chainloader): Refer itself.
51159 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51160
51161 * kern/i386/pc/startup.S (install_partition): Removed.
51162 (version_string): Likewise.
51163 (config_file): Likewise.
51164 (pupa_install_dos_part): New variable.
51165 (pupa_install_bsd_part): Likewise.
51166 (pupa_prefix): Likewise.
51167 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51168
51169 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51170 and pupa/misc.h.
51171 (make_install_device): New function.
51172 (pupa_machine_init): Set the dl prefix.
51173
51174 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51175 (buf): Renamed to ...
51176 (linebuf): ... this.
51177 (pupa_rescue_cmd_prefix): New function.
51178 (pupa_rescue_cmd_insmod): Likewise.
51179 (pupa_rescue_cmd_rmmod): Likewise.
51180 (pupa_rescue_cmd_lsmod): Likewise.
51181 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51182 rmmod and lsmod.
51183
51184 * kern/mm.c (pupa_memalign): If failed even after invalidating
51185 disk caches, unload unneeded modules and retry.
51186
51187 * kern/misc.c (pupa_memmove): New function.
51188 (pupa_memcpy): Removed.
51189 (pupa_strcpy): New function.
51190 (pupa_itoa): Made static.
51191
51192 * kern/dl.c (pupa_dl_iterate): New function.
51193 (pupa_dl_ref): Likewise.
51194 (pupa_dl_unref): Likewise.
51195 (pupa_dl_unload): Return if succeeded or not.
51196 (pupa_dl_unload_unneeded): New function.
51197 (pupa_dl_unload_all): Likewise.
51198 (pupa_dl_init): Renamed to ...
51199 (pupa_dl_set_prefix): ... this.
51200 (pupa_dl_get_prefix): New function.
51201
51202 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51203 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51204 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51205 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51206 (pupa_install_dos_part): Declared.
51207 (pupa_install_bsd_part): Likewise.
51208 (pupa_prefix): Likewise.
51209 (pupa_boot_drive): Likewise.
51210
51211 * include/pupa/types.h: Fix a typo.
51212
51213 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51214 pupa_memmove.
51215 (pupa_memmove): Declared.
51216 (pupa_strcpy): Likewise.
51217
51218 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51219 pupa_mod_init takes one argument, its own module.
51220 (pupa_dl_unload_unneeded): Declared.
51221 (pupa_dl_unload_all): Likewise.
51222 (pupa_dl_ref): Likewise.
51223 (pupa_dl_unref): Likewise.
51224 (pupa_dl_iterate): Likewise.
51225 (pupa_dl_init): Renamed to ...
51226 (pupa_dl_set_prefix): ... this.
51227 (pupa_dl_get_prefix): Declared.
51228
51229 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51230 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51231 unloaded.
51232 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51233 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51234
51235 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51236 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51237
012d7999 512382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51239
51240 * util/i386/pc/pupa-setup.c (setup): Define the internal
51241 function find_first_partition_start at the top level, because GCC
51242 3.0.x cannot compile internal functions in deeper scopes
51243 correctly.
51244 (find_root_device): Use lstat instead of stat.
51245 Don't follow symbolic links.
51246 Fix the path-constructing code.
51247
51248 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51249 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51250 by a BLKGETSIZE ioctl first, because block devices don't fill
51251 the member st_mode of the structure stat on Linux.
51252 [__linux__] (linux_find_partition): Use a temporary buffer
51253 REAL_DEV for the working space. Copy it to DEV before returning.
51254 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51255 buffer cache consistent.
51256 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51257 strncmp. The previous value was merely wrong.
51258 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51259
51260 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51261 FAT size is 12. The previous value was merely wrong.
51262
51263 * kern/main.c (pupa_main): Don't split the starting message from
51264 newlines.
51265
51266 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51267 LF, because BIOS goes crazy about character attributes in this
51268 case.
51269
1cc73a62 512702003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51271
51272 * include/i386/pc/util/biosdisk.h: New file.
51273 * util/i386/pc/biosdisk.c: Likewise.
51274 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51275
1cc73a62 51276 * Makefile.in (INCLUDE_DISTFILES): Added
51277 include/pupa/i386/pc/util/biosdisk.h.
51278 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51279 directory util/i386/pc.
51280 (install-local): Added a rule for sbin_UTILITIES.
51281 (uninstall): Likewise.
51282
51283 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51284
51285 * util/misc.c (xrealloc): New function.
51286 (pupa_malloc): Likewise.
51287 (pupa_free): Likewise.
51288 (pupa_realloc): Likewise.
51289 (pupa_stop): Likewise.
51290 (pupa_putchar): Likewise.
51291
51292 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51293
51294 * include/pupa/util/misc.h (xrealloc): Declared.
51295
51296 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51297 macro.
51298 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51299 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51300
51301 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51302 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51303
51304 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51305 way should be implemented.
51306 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51307
51308 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51309 the size of NAME for safety.
51310 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51311 0x88.
51312
51313 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51314 (pupa_setup_SOURCES): Likewise.
51315
51316 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51317
08b70fe8 513182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51319
51320 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51321 bunch of pushl's from pusha, because this destroys the return
51322 value.
51323
62ddcc8f 513242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51325
51326 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51327 This means that any missing prototypes could be fatal. Also, you
51328 must take care when writing assembly code. See the comments at
51329 the beginning of startup.S, for more details.
f19dbdb7 51330
62ddcc8f 51331 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51332 compilation mechanism.
51333 (pupa_chainloader_real_boot): Likewise.
51334 (pupa_biosdisk_rw_int13_extensions): Likewise.
51335 (pupa_biosdisk_rw_standard): Likewise.
51336 (pupa_biosdisk_check_int13_extensions): Likewise.
51337 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51338 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51339 (pupa_get_memsize): Likewise.
51340 (pupa_get_mmap_entry): Likewise.
51341 (pupa_console_putchar): Likewise.
51342 (pupa_console_setcursor): Likewise.
51343 (pupa_getrtsecs): Use pushl instead of push.
51344
51345 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51346 memory instead of the stack for a mmap entry, because some
51347 BIOSes may ignore the maximum size and overflow.
51348
51349 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51350
51351 * genmk.rb (PModule#rule): Compile automatically generated
51352 sources with module-specific CFLAGS as well as other sources.
51353
9962ed99 513542002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51355
51356 * configure.ac: Check ld.
51357 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51358 respectively, before checking endianness and sizes.
51359
51360 * Makefile.in (LD): New variable.
f19dbdb7 51361
abdfc3c5 513622002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51363
51364 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51365
6a161fa9 513662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51367
51368 * Changelog: New file.
51369