]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
[grub2.git] / ChangeLog
CommitLineData
04dea7e6
VS
12013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
4 handling.
5
62013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
7
8 * grub-core/kern/misc.c (grub_abort): Make static
9
04dea7e6 102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
11
12 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
13 transform invalid unicode codepoints.
14
04dea7e6 152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
16
17 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
18 \0 checking.
19
03dcac7f
VS
202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
23
c81acb7f
VS
242013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
25
26 Consolidate cpuid code.
27
c1bee646
VS
282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Move cpuid code to cpuid.h and TSC code to tsc.c.
31
f37bf9c7
GS
322013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
33
34 * util/grub.d/00_header.in: Don't use LANG if it's not set.
35
4021132b
GS
362013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
37
38 * util/grub-mkconfig.in: Replace $0 with $self.
39 * util/grub-reboot.in: Likewise.
40 * util/grub-set-default.in: Likewise.
41
3ace8d75
BC
422013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
43
44 * docs/osdetect.cfg: New file.
45
1e6ad6a6
BC
462013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
47
48 * tests/util/grub-shell.in: Add new --debug option.
49
188929eb
BC
502013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
51
52 * tests/test_unset.in: New test.
53
7994a09a
BC
542013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
55
56 * tests/test_sha512sum.in: New test.
57
2a8a7585
VS
582013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
61 * include/grub/misc.h: Remove strncat.
62 * grub-core/lib/posix_wrap/string.h: Likewise.
63
6d1fc99a
VS
642013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * tests/date_unit_test.c: New test.
67
10bafa1c
VS
682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
71 of first three years after start of validity of unixtime.
72
b1c6d037
VS
732013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
76 division as the one making more sense.
77 (update_screen): Likewise.
78 (complete): Likewise.
79
5f4028d4
VS
802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
83
a2856736
VS
842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Make char and string width grub_size_t rather than grub_ssize_t.
87
0a7e52b2
VS
882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
91 unsigned.
92 (grub_history_replace): Likewise.
93
42829573
VS
942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
97 appropriate.
98
3523b8d8
VS
992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
102 appropriate.
103
d43c6489
VS
1042013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
107 Use unsigned divisions rather than signed variants.
108
f690f8b0
VS
1092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/video/readers/png.c (grub_png_convert_image): Use
112 unsigned arithmetics.
113 Add missing break.
114
74ff2c05
VS
1152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
118
fb56391e
VS
1192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
122 rather than signed one.
123 (recovery): Likewise.
124
40f29060
VS
1252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
128
c64577a5
VS
1292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
132 than signed.
133
c16535a8
JM
1342013-10-25 Jon McCune <jonmccune@google.com>
135
136 * docs/grub.texi: Cleanup security documentation around signatures.
137
6673d8e7
VS
1382013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
141
a105d375
VS
1422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
145 than int.
146
af81ed88
VS
1472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
150 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
151 functions when compiling for kernel.
152
ea899a57
VS
1532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
156 unsigned long long when using %llu.
157
c6dc6fa1
VS
1582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
161 terminal after updating progress.
162
ad2dc003
VS
1632013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
166 argument. We don't disable Gate A20 in this code.
167
b46684ae
VS
1682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
171 Conceptually based on change in branch "vbe-on-coreboot".
172
f70d5c07
RM
1732013-10-24 Robert Millan <rmh@gnu.org>
174
175 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
176 numeric constants with their symbolic equivalent.
177 Taken from branch "vbe-on-coreboot".
178
bca274b4
VS
1792013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * docs/grub.texi: Fix ordering and use pxref rather than xref.
182
238f0489
VS
1832013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
186 divmod64 for offset division.
187
863c590b
PFS
1882013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
189
190 Rename .bzrignore to .gitignore. Add "*.o" rule.
191
192 * .bzrignore: Renamed to...
193 * .gitignore: ...this.
194
84a0e969
PFS
1952013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
196
197 Add new progress module that displays the load progress of files.
198
199 * grub-core/lib/progress.c: New file.
200 * grub-core/Makefile.core.def (progress): New module.
201 * grub-core/kern/file.c (grub_file_open): File name added.
202 * (grub_file_read): Progress hook added.
203 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
204 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
205 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
206 * include/grub/file.h (struct grub_file): Add progress module members.
207 * include/grub/term.h (struct grub_term_output): Likewise.
208 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
209 Terminal velocity added.
210 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
211 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
212 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
213 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
214 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
215 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
216 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
217 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
218 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
219 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
220 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
221 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
222
0d711431
VS
2232013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
224
225 Verify signatures of signatures unless --skip-sig is specified.
226
f8401f76
VS
2272013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
230 \0 checking.
231
232 Saves 70 bytes on compressed image.
233
ac1feb61
VS
2342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
237 check.
238
239 Saves 10 bytes on compressed image.
240
00f72e89
VS
2412013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/kern/misc.c (grub_isprint): Move to ...
244 * include/grub/misc.h (grub_isprint): ... here. Make inline.
245
246 Saves 20 bytes on compressed image due to remving exporting.
247
067e6ae7
VS
2482013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
251
252 Saves 5 bytes on compressed image.
253
64a6c791
VS
2542013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
257 function get_utf8.
258
259 Saves 379 bytes on compressed image.
260
979d9f52
VS
2612013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
264
1437da54
VS
2652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
268
269 Saves 40 bytes on compressed image.
270
d9ee2269
VS
2712013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
274 mask rather than 64-bit type.
275
276 Saves 20 bytes on compressed image.
277
63efa602
VS
2782013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
281 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
282
47601ffe
VS
283 Saves 273 bytes on compressed image.
284
2cc679ad
VS
2852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
288 variable length arrays.
289
290 Saves 50 bytes on compressed image.
291
2e4659b8
VS
2922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
295
2a40badf
VS
2962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/fs/ufs.c: Remove variable length arrays.
299
1ba6b9b9
VS
3002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
303
f3e39341
VS
3042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/fs/zfs.c: Remove variable length arrays.
307 Reduces zfs.mod by 160 bytes (208 compressed).
308
71523935
VS
3092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
312
28153eb8
VS
3132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/net/arp.c: Remove variable length arrays.
316 * grub-core/net/bootp.c: Likewise.
317 * grub-core/net/dns.c: Likewise.
318 * grub-core/net/icmp6.c: Likewise.
319 * grub-core/net/net.c: Likewise.
320
88ce4cd7
VS
3212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/fs/ntfs.c: Remove variable length arrays.
324 Increases ntfs.mod by 64 bytes (but decreases by 3 when
325 compressed).
326
66123940
VS
3272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/fs/hfs.c: Remove variable length arrays.
330 Reduces hfs.mod by 8 bytes (52 compressed).
331
0927e5bd
VS
3322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 335 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
336 compressed).
337
9c12ac97
VS
3382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 341 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
342 compressed).
343
97ec2d71
VS
3442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 347 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
348 compressed).
349
156e4ea0
VS
3502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/fs/xfs.c: Remove variable length arrays.
353 Reduces xfs.mod by 40 bytes (43 compressed).
354
3b502c29
VS
3552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/fs/fshelp.c: Remove variable length arrays.
358 Reduces fshelp.mod by 116 bytes (23 compressed).
359
c7037f1d
VS
3602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/normal/completion.c: Remove variable length arrays.
363 * grub-core/normal/menu_entry.c: Likewise.
364
365 Reduces normal.mod by 496 bytes.
366
a07e6ad0
VS
3672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
370 by 356 bytes (158 compressed).
371
2359bf88
VS
3722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
375 by 364 bytes (169 compressed).
376
d28e1163
VS
3772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
380 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
381 * include/grub/types.h (grub_unaligned_uint64_t): New type.
382
e89c2d48
VS
3832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
384
385 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
386 bitmasks to small structures of size chosen to fit in registers.
387
7abdac8e
VS
3882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * conf/Makefile.common: Use -freg-struct-return on i386. This
391 decreases code size and improves performance.
392
518864c0
VS
3932013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
396
bbd2b539
VS
3972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
400 "(null)" string.
401 Simplify expressions to save around 256 bytes in kernel.img.
402 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
403
99519c15
VS
4042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
407 Use GRUB_UTIL_FD_O_* rather than O_*.
408
20285765
VS
4092013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
410
411 Add haiku-specific functions.
412
887c0bb6
VS
4132013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
416
cd78a56f
VS
4172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Move stat () and device mode checking into OS-dependent files as
420 long as performance doesn't suffer.
421
a4012f07
VS
4222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Split make_system_path_relative_to_its_root into separate file
425 relpath.c from getroot.c as it's common between unix and haiku
426 but otherwise haiku doesn't use any functions from unix getroot.c.
427
31de274d
VS
4282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
431 New function.
432 (grub_util_is_special_file): Likewise.
433
40346de6
VS
4342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
437 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
438
d3923ab9
VS
4392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
442 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
443
663f6eb1
VS
4442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
447 (load_image): Likewise.
448
44d1c20a
VS
4492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * util/grub-render-label.c: Move backend part to ...
452 * util/render-label.c: ... here.
453
d0a116ee
VS
4542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
457 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
458
b47fcae6
VS
4592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
462
0f7c00c1
VS
4632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
466 CD-ROM in case when it's declared as having subpartitions.
467
29013cba
VS
4682013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Don't add -lm on haiku.
471
472 * configure.ac: Define BUILD_LIBM to -lm on most platforms
473 and empty on haiku.
474 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
475 -lm.
476
e8559d24
VS
4772013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * configure.ac: Use -melf_*_haiku as target on haiku.
480
8104063c
VS
4812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * Makefile.util.def: Add util/setup.c to extra_dist.
484
fc3182c7
VS
4852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
488 unknown types through.
489
f90a3cc0
VS
4902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
493 (grub_util_check_char_device): Likewise.
494 * include/grub/emu/getroot.h: Likewise.
495
1e3e7419
VS
4962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
499 memset rather than inline static function.
500
92c88fc8
VS
5012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
504 not doing embedded decompressor.
505
3cd910a2
VS
5062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
509 shadowing.
510 * grub-core/kern/disk.c: Likewise.
511 * grub-core/kern/misc.c: Likewise.
512 * include/grub/parser.h: Likewise.
513 * include/grub/script_sh.h: Likewise.
514 * include/grub/zfs/zfs.h: Likewise.
515
7b3aca00
VS
5162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
519
97dfe7e4
VS
5202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
523 defined before trying to use it.
524
bf919aa9
VS
5252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
528 warning.
529
f4ccf29d
VS
5302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
533 Use __unused__ rather than __used__ on gcc < 3.2.
534
0d3a6f85
VS
5352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
538 gcc < 4.0.
539 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
540
757e3eb7
VS
5412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
544
fb320faf
VS
5452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
548 * include/grub/emu/misc.h: Likewise.
549
ea73acd2
VS
5502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
553 cur_color.
554
71237a6f
VT
5552013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
556
557 * grub-core/tests/checksums.h: Regenerated due to progress bar
558 get_minimal_size changes.
559
3d46c22f
BC
5602013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
561
562 Added `tr' command support.
563
564 * grub-core/commands/tr.c: New file.
565 * grub-core/Makefile.core.def: Build rules for new module.
566
567 * tests/grub_cmd_tr.in: New test.
568 * Makefile.util.def: Build rules for new test.
569
47e0a61f
VT
5702013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
571
572 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
573
946fd073
VT
5742013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
575
576 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
577 * docs/gurb.texi: Likewise.
578
9c13c576
VT
5792013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
580
581 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
582 Pixmap highlighted section with east and west slices was displayed
583 incorrectly due to negative width of the central slice.
584
ad543f12
VT
5852013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
586
587 * docs/grub.texi: Graphical options information update.
588 Removed outdated. Updated current. Inserted missed.
589
6176a0cd
VS
5902013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * docs/grub.texi: Mention few new platform-specific commands.
593
9688cae2
VS
5942013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
597 currently used so this doesn't really have any effect.
598 Reported by: Douglas Ray <dougray>
599
f7b69a3f
VS
6002013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
603 compilation but prevents gcc from displaying messages in non-Latin
604 alphabets.
605 * conf/Makefile.common: Likewise.
606
ceca6ddf
HY
6072013-10-16 Hiroyuki YAMAMORI
608
609 Handle Japanese special keys.
610 Reported by: Hiroyuki YAMAMORI.
611 Codes supplied by: Hiroyuki YAMAMORI.
612
ac48d334
VT
6132013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
614
615 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
616
b2b71bff
VT
6172013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
618
619 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
620 * docs/grub.texi: Likewise.
621
669fc449
VS
6222013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
625 value in case of incomplete read.
626 (grub_util_fd_write): Likewise.
627
59381678
VS
6282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
631
bacfefbb
VS
6322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/grub-editenv.c (create_envblk_file): More from here ...
635 * util/editenv.c (grub_util_create_envblk_file): ... to here.
636
f7c49570
VS
6372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
640 canonicalize file name before doing the rest.
641
7b83ca44
VS
6422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
645 mingw32.
646
df1e64c9
VS
6472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Define grub_util_is_directory/regular/special_file and
650 use OS-dependent versions rather than to rely on stat().
651
ec16e026
VS
6522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * util/grub-mkimage.c: Move backend part to ...
655 * util/mkimage.c: ... here.
656
4b4eeb3c
VS
6572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Allow compilation with mingw64 albeit with warnings due to lack of
660 %llx/%llu.
661
662 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
663 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
664 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
665 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
666 on mingw64.
667 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
668
f4e0adc0
VS
6692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Remove leftover references to some of the system headers.
672
e0127364
VS
6732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
676 read.
677
20d53541
VS
6782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
681 of strerror.
682
5a869940
VS
6832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Split out blocklist retrieving from setup.c to
686 grub-core/osdep/blocklist.c and add windows implementation since
687 generic version doesn't work on NTFS on Windows due to aggressive
688 unflushable cache.
689
c06c7520
VS
6902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
693 files.
694
8f53bb3f
VS
6952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
698 Cut tailing newline. Remove arbitrary limitation. Always use
699 grub_util_tchar_to_utf8.
700
148f1007
VS
7012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
704 * tests/printf_unit_test.c (printf_test): Add %% tests.
705 Reported by: Paulo Flabiano Smorigo.
706
af3b06be
VS
7072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
710 implement fsync.
711
27f9d02e
VS
7122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * configure.ac: Check for nvlist_lookup_string in nvpair since we
715 use nvlist_lookup_string and don't use nvlist_print.
716
f6a81f0a
VS
7172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Add wrappers around rename, unlink, mkdir, opendir, readdir and
720 closedir to handle filename charset translation.
721
d7750b32
VS
7222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * include/grub/emu/hostdisk.h: Move file operations to
725 * include/grub/emu/hostfile.h: ... here.
726
2859196e
VS
7272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
730 unicode path.
731
c018c968
VS
7322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
735
7e45abce
VS
7362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
739 and remove export.h.
740
23934da2
VS
7412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/kern/emu/error.c: Removed.
744 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
745 explicitly as it's already in libgnu.a.
746
c11ebcc8
VS
7472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
750 config-util.h include.
751
70671037
VS
7522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
753
754 Split emunet into platform-dependent and GRUB-binding parts. Keep
755 platform-dependent part in kernel for easy access to OS functions.
756
25ac643a
VS
7572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
760 open/read/write.
761
69ca5876
VS
7622013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/osdep/windows/emuconsole.c: New file.
765
d9d68ef0
AB
7662013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
767
768 * conf/Makefile.extra-dist: Add osdep/*/init.c
769
58e211cc
VS
7702013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
773
588744d0
VS
7742013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * util/grub-probe.c (probe): Separate different drives in hint-str
777 by spaces and not newlines.
778 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
779
44016e52
AB
7802013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
781
782 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
783 Handle CD-ROMs.
784
6de9ee86
VS
7852013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
786
787 Pass-through unknown E820 types. It required reorganisation of mmap
788 module.
789
f8f3f155
AB
7902013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
791
792 * Makefile.util.def: Add osdep/init.c to grub-mount files.
793
b73249d2
VS
7942013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
795
796 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
797 fseeko.
798
dac86b18 7992013-10-14 qwertial <qwertial>
800
801 * grub-core/gdb_grub.in: Fix overflow and wrong field.
802
17614b84
JM
8032013-10-14 Jon McCune <jonmccune@google.com>
804
805 * docs/grub.texi: Document new signatures possibility.
806
6de292cb
VS
8072013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
808
809 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
810
84379b61
VS
8112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
814 missing prototype.
815 (grub_util_tchar_to_utf8): Likewise.
816
21d85db1
VS
8172013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
820 * grub-core/kern/emu/main.c: Add missing include.
821 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
822 Don't call grub_util_init_nls.
823 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
824 Likewise.
825
66a1b3ee
VS
8262013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
829 stat.
830
e19bec17
VS
8312013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
834
ee8c1b29
VS
8352013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
838
bb338aaf
VS
8392013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Add a wrapper for fopen. On unix-like systems just pass-through. On
842 windows use unicode version.
843
ae5540d3
VS
8442013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
845
846 Move set_program_name and init_nls to host_init. On windows
847 fix in this fuction console and argument charset as well.
848
4cd3c4fe
AB
8492013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
850
851 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
852 GRUB_ENABLE_CRYPTODISK.
853
854 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
855 GRUB_ENABLE_CRYPTODISK.
856 * util/grub-mkconfig_lib.in: Likewise.
857
78170f3e
CCZ
8582013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
859
860 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
861
3414b6c0
MC
8622013-10-12 Melki Christian <Christian.melki@saabgroup.com>
863
864 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
865 error when enabling debug.
866
6d0740e8
IB
8672013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
868
869 * configure.ac: Use -melf_*_obsd on openbsd.
870
ff2d4dc4
VS
8712013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
874
eac6ae82
VS
8752013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * include/grub/misc.h: Use gnu_printf rather than printf as format
878 template since our functions are independent of libc.
879
ba9baabe
VS
8802013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * util/grub-setup.c (setup): Move copying of partition table as
883 futher up as possible to avoid possible overwrite by floppy routines.
884
8852013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
886
887 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
888
145e2369
VT
8892013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
890
891 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
892 * docs/grub.texi: Likewise.
893
3530bc9d
VS
8942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
897 it's mostly unused. Move vestiges to the callers.
898
fb9f59c3
VS
8992013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
902 version of salt and hash. Use grub_snprintf rather than snprintf.
903
9be1c255
VS
9042013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * docs/grub.texi: Fix problem with braces.
907
ed8c0887
VS
9082013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * conf/Makefile.extra-dist: Fix extra-dist list.
911 * grub-core/Makefile.core.def: Likewise.
912
f72ab14e
VS
9132013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * docs/grub.texi: Document disk names used on Windows and AROS.
916
2fe53a22
VS
9172013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
920 with AROS devs.
921 * grub-core/osdep/aros/hostdisk.c: Likewise.
922
71c1d67a
VS
9232013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Avoid including hostfile.h when not necessarry as it pulls
926 in OS-specific headers which may redefine generic names
927 like "far".
928
ad297ec7
VT
9292013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
930
931 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
932 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
933 scrollbar_bottom_pad
934 * docs/grub.texi: Likewise.
935
6e9e5dc9
VT
9362013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
937
938 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
939
761c718b
VS
9402013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
943
37149a2f
VS
9442013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
947 Removed.
948 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
949 Made static.
950
3837a151
VS
9512013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
954 leftover.
955
caca1c70
VS
9562013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
957
958 Move OS-specific driver configuration to grub_util_fd_open. This
959 moves OS-dependent parts from kern/emu/hostdisk.c to
960 grub-core/osdep/*/hostdisk.c.
961
f7676b70
VS
9622013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * util/grub-mkimage.c (generate_image): Use size_t instead of
965 grub_size_t.
966 * util/grub-mkimagexx.c (locate_sections): Likewise.
967 (load_image): Likewise.
968
22f98db2
VS
9692013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
972 size_t.
973 (grub_util_write_image): Likewise.
974
b102ce69
VS
9752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
978 get random when no RNG is available.
979 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
980
acbbe5cb
VS
9812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * include/grub/util/lvm.h: Removed.
984
2112fb3f
VS
9852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
988 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
989
79f78fbf
VS
9902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/osdep/windows/sleep.c: Add missing config.h.
993
c2e6f705
VS
9942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
997
aabe433a
VS
9982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/net/drivers/emu/emunet.c: Move to ..
1001 * grub-core/osdep/linux/emunet.c: ..here.
1002
9a2c903f
VS
10032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * util/ieee1275/ofpath.c: Move to ...
1006 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1007 * grub-core/osdep/basic/ofpath.c: ..here.
1008
4a445f58
VS
10092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 Move password-querying (util-version) routines to grub-core/osdep.
1012
c1ca4244
VS
10132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Move sleep routines to grub-core/osdep.
1016
672fa55e
VS
10172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 Move OS-dependent files to grub-core/osdep and document it.
1020
a5b0365a
VS
10212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1024 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1025
29072e99
VS
10262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1029
f8772ea7
VS
10302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * util/misc.c: Remove leftover inclusion of malloc.h.
1033
a1a315e7
VS
10342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * include/grub/setjmp.h: Remove leftover GRUBOF.
1037
cef86fef
VS
10382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * util/raid.c: Fold into ...
1041 * util/getroot_linux.c: ... here. Make all functions static.
1042
c4cf25ee
VS
10432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1046 macros to GRUB ones.
1047
53a5f5c2
VT
10482013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1049
1050 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1051 occasional bug. If there are too many boot entries or too low
1052 scrollbar height then we need to use another formula to calculate
1053 the position and size of the scrollbar thumb.
1054
de300af2
VS
10552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1056
c4cf25ee 1057 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1058
c5827364
VT
10592013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1060
1061 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1062 * docs/grub.texi: Likewise.
1063
dd2ed8b0
VT
10642013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1065
1066 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1067 viewport.
1068
7286c384
VT
10692013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1070
ffdfc1f3
VT
1071 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1072 minimal width calculations.
7286c384 1073
ea547e14
VS
10742013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * docs/grub.texi: Update note on colors on emu console.
1077
b726be76
VS
10782013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1081 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1082 it's FS and not GRUB limitation.
1083
a5f6ade6
VS
10842013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1087
3b0f3aa2
VS
10882013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1091
1db38304
ST
10922013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1093
1094 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1095 kernels by version order.
1096
fb295fc0
VS
10972013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1100
47345010
VS
11012013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 Add AROS hostdisk and getroot routines.
1104
bf25f879
VS
11052013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Make cryptodisk and diskfilter probe data retrievable programmatically
1108 and not just printable.
1109
24ca4512
VS
11102013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 Split random retrieving code into separate files.
1113
c7c177f0
VS
11142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1117 R_ARM_V4BX.
1118
d71b45ae
VS
11192013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1122 condition.
1123 * grub-core/tests/fake_input.c: Likewise.
1124 * grub-core/tests/cmdline_cat_test.c: Likewise.
1125
e44b9a83
VS
11262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/video/capture.c: Do not do finalization when .fini
1129 is called as there is explicit capture_end.
1130
4fa60739
VS
11312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1134 changing windows to avoid crash.
1135
17c8bc37
VS
11362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1139
9d4d7977
VS
11402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * po/exclude.pot: Add several strings to exclude.
1143
0caa407c
VS
11442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1147
9ae393da
VS
11482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1151 ./util/grub-gen-asciih.c to exclude list.
1152
498d5033
VS
11532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1156 and don't mark error strings for translation.
1157
7d93298f
VS
11582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1161 properly in case of missing block size.
1162
b2cae20c
VS
11632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/lib/arm/setjmp.S: Add missing license section.
1166
3896d6b4
VS
11672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * po/swiss.sed: Add replacement for key names and for term computer.
1170
ebc1da55
VT
11712013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1172
1173 * grub-core/gfxmenu/theme_loader.c: New global options for the
1174 theme background image handling. desktop-image-scale-method,
1175 desktop-image-h-align, desktop-image-v-align.
1176 * grub-core/gfxmenu/view.c: Likewise.
1177 * include/gfxmenu_view.h: Likewise.
1178 * include/bitmap_scale.h: Proportional scale functions introduced.
1179 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1180 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1181 cases of unexpected input variables for scale functions.
1182 * docs/grub.texi: Updated documentation for new options.
1183
c5739143
VS
11842013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1187
be74aeb3
VT
11882013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1189
1190 * grub-core/tests/checksums.h: Corrected due to changes in
1191 bilinear interpolation function.
1192
d999ac72
VT
11932013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1194
1195 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1196 to eliminate artefacts in bilinear interpolation.
1197
2b131610
VS
11982013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/video/readers/tga.c: Support paletted tga.
1201
de6e5ff8
VS
12022013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1205 incorrect cbcr setting when in color mode.
1206
fa31ee9c
VS
12072013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/video/readers/png.c: Support paletted images and clean up
1210 greyscale support.
1211
e84f8188
VS
12122013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1215 usage of wrong table which resulted in mishandling of 4-byte
1216 sequences.
1217
12182013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1219
1220 * grub-core/term/terminfo.c: Add Home and End key sequences.
1221
d72bff09
VS
12222013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1225 Fix formula for computing total number of bytes.
1226
29648c5d
VS
12272013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1230 image processing, fix big-endian and support grayscale.
1231
4a876492
VS
12322013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1235 Correctly will with maximum transparency when using index color.
1236
3ccf16df
VS
12372013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/video/readers/png.c: Support grayscale
1240
12412013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1242
1243 * grub-core/video/readers/jpeg.c: Support grayscale.
1244
3ccf16df 12452013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1246
1247 * grub-core/commands/loadenv.c: Support skipping signature check
1248 and variable names filtering.
1249
30b7f58f
VS
12502013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1253 * grub-core/kern/emu/hostfs.c: Likewise.
1254 * util/getroot_unix.c: Likewise.
1255
bab7b1eb
VS
12562013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1259 Migrate all explicit defines to this new one.
1260
43b1c99d
VS
12612013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1264 grub_util_fd_strerror when using grub_util_fd_*.
1265 (grub_util_fd_open_device): Likewise.
1266 (grub_util_biosdisk_read): Likewise.
1267 (grub_util_biosdisk_write): Likewise.
1268 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1269 (grub_util_fd_strerror): Likewise.
1270 (grub_util_fd_sync): Likewise.
1271 (grub_util_fd_close): Likewise.
1272 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1273 (grub_util_fd_close): Likewise.
1274 (grub_util_fd_strerror): Likewise.
1275 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1276 function proto rather than macro.
1277 (grub_util_fd_sync): Likewise.
1278 (grub_util_fd_open): Likewise.
1279 (grub_util_fd_strerror): New proto.
1280
e8fd80bc
VS
12812013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1284 platforms on which it doesn't work.
1285
bf645fda
VS
12862013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1289 stat immediately to where it's used.
1290
5177ba14
VS
12912013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * util/getroot.c (grub_util_check_block_device): Move to ...
1294 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1295 * util/getroot.c (grub_util_check_char_device): Move to ...
1296 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1297
9db826e1
VS
12982013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1301 disk closing logic.
1302
49120085
AB
13032013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1304
1305 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1306
b3328b68
AB
13072013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1308
1309 * docs/grub.texi (File name syntax): Document ZFS filenames
1310 (/volume@snapshot/...).
1311
3fff48ab
VS
13122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1315 Always return full path. Fixes a problem with mkrelpath.
1316
39cfdaa9
PFS
13172013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1318
1319 * util/grub-install.in: Add GPT PReP support.
1320 * util/grub-probe.c (probe): Support GPT partition type.
1321 (main): Support -t gpt_parttype.
1322
7c680e1f 13232013-09-23 Aleš Nesrsta <starous@volny.cz>
1324
1325 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1326
890bdabe
MM
13272013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1328
1329 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1330
9c262ff9
TH
13312013-09-23 Tim Hardeck <thardeck>
1332
1333 * util/grub.d/10_hurd.in: Filter out character for the class.
1334 * util/grub.d/10_kfreebsd.in: Likewise.
1335 * util/grub.d/10_linux.in: Likewise.
1336 * util/grub.d/20_linux_xen.in: Likewise.
1337
d755342a
MC
13382013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1339
1340 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1341 "changed".
1342
68b77707
JT
13432013-09-23 Josh Triplett <josh@joshtriplett.org>
1344
1345 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1346 boot partition.
1347
efa68bfa
VS
13482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1351 doesn't use posix_wrap. Keep literal -fno-builtin however.
1352
d9104204
VS
13532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1356
c248781a 13572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13582013-09-23 neil
1359
5830df88 1360 * configure.ac: Do not enable -Wmissing-noreturn as its
1361 usefulness is limited and creates problems on some OS notably with
1362 code generated by bison.
1363
13642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13652013-09-23 neil
1366
1367 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1368 supported by all gcc and when it is, it's already enabled by -Wall.
1369
621bed69
VS
13702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1373 desactivated use of EDID at all.
1374
71764dc8 13752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13762013-09-23 neil
1377
1378 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1379 video if no text is available.
1380
affce7d4 13812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
13822013-09-23 neil
1383
1384 * configure.ac: Substitute TARGET_RANLIB.
1385
13862013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13872013-09-23 neil
affce7d4
VS
1388
1389 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1390
1391 Based on patches from AROS.
1392
0e8daad0 13932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 13942013-09-23 neil
0e8daad0
VS
1395
1396 * grub-core/Makefile.am: Override STRIP and RANLIB.
1397 * configure.ac: compute TARGET_RANLIB.
1398 * INSTALL: Document TARGET_RANLIB
1399
1400 Based on patches from AROS.
1401
3f7d9c82
VS
14022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1405 that floppies are unpartitioned.
1406
bca8873a
VS
14072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1410 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1411
14122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1415 less nice but more portable.
1416 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1417
a47a78be
VS
14182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1421 for cheat_fd.
1422 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1423 functions.
1424 (grub_cryptodisk_cheat_insert): Likewise.
1425 (grub_cryptodisk_close): Likewise.
1426
e85a5d5c
VS
14272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1430 Use windows path for DEFAULT_DIRECTORY.
1431
dad9fa6b
VS
14322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1435 difference was likely just gcc version, not anything mingw-related.
1436
7e518ca8
VS
14372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Use Winapi on both cygwin and mingw32 to share more code between both.
1440
d68d0157
AB
14412013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1442
1443 * util/grub-install.in: Add --grub-editenv option.
1444 * util/grub-install_header (grub_compress_file): Explicitly check for
1445 plain file to avoid cp error.
1446
775b284d
AB
14472013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1448
1449 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1450 names; fix LVM driver name (lvm, not lv).
1451 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1452 names.
1453
3ff4063d
VS
14542013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1457 files rather than one file with loads of #if's.
1458 * util/getroot.c: Likewise.
1459
287faafe
VS
14602013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1463
d1983764
VS
14642013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1467 GNU/Hurd to the list of checked PRNG.
1468
15ce95c4
VS
14692013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1472
207862dd 14732013-09-21 Ales Nesrsta <starous@volny.cz>
1474
7c680e1f 1475 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1476
63653cfd
VS
14772013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1480 * grub-core/disk/lvm.c: Add LVM UUIDs.
1481 * util/getroot.c: Use LVM UUIDs whenever possible.
1482
f5d3e7ef
AB
14832013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1484
1485 * docs/grub.texi (Networking commands): Add documentation for
1486 network related commands.
1487
53c6b7d6
VS
14882013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1491 to determine if device is handled by devmapper.
1492 (convert_system_partition_to_system_disk): Likewise.
1493 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1494 already done in grub_util_open_dm.
1495
e70d6736
LL
14962013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1497
1498 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1499 Clean up stack manipulation (sync_caches_armv*)
1500
90379808
VS
15012013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/lvm.c: Remove since unused. Remove remaining references.
1504
386701a8
VS
15052013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 Handle the case of partitioned LVM properly.
1508
1509 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1510 Stop on meeting LVM, mpath or DMRAID.
1511 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1512 (read_device_map): Likewise.
1513 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1514 device is full disk rather than erroring out on LVM and similar cases.
1515
53070787
VS
15162013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1519
1bc783bd
VS
15202013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1523 4K before the end.
1524 Reported by: Leif Lindholm
1525
436ad5c3
PW
15262013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
15272013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1530 codes.
1531
607319c9
CW
15322013-09-18 Colin Watson <cjwatson@ubuntu.com>
1533
1534 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1535 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1536
d404d154
DR
15372013-09-18 Douglas Ray <dougray@cpan.org>
1538
1539 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1540 as secure.
1541
28851ef6
AN
15422013-09-18 Aleš Nesrsta <starous@volny.cz>
1543
1544 * docs/grub.texi: Fix broken link.
1545
897c3bc6
MC
15462013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1547
1548 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1549 to break endless loop.
1550
f1630459
VS
15512013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * util/grub-fstest.c: Fix several printf formats.
1554 * util/grub-mkimage.c: Likewise.
1555 * util/grub-mkimagexx.c: Likewise.
1556 * util/grub-script-check.c: Likewise.
1557
64463dfd
VS
15582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1561 error.
1562
48972495
VS
15632013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1566
5dd5e64b
VS
15672013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1570 removed in current versions cygwin_conv_*.
1571
1c1f31e5
VS
15722013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * configure.ac: Disable efiemu runtime on cygwin.
1575
c546a259
VS
15762013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1579 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1580
81690478
VS
15812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1584 error message.
1585
6b87c10a
VS
15862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1589 windows variant.
1590 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1591 data.
1592
8f0baaac
VS
15932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1596 when on x86 and not cygwin.
1597 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1598 -Wl,-melf_x86_64.
1599
b224c266
VS
16002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * configure.ac: Set CPP to build one when checkoing for freetype for
1603 build.
1604
506b336b
VS
16052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1608 [!GRUB_BUILD]: Remove has_argument.
1609
8c8c87b7
VS
16102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1613 Replace with a dummy.
1614
7dc5ca13
VS
16152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * configure.ac: Don't change host_os from mingw to cygwin.
1618
c3302aa5
VS
16192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * configure.ac: Change target_os from windows to cygwin.
1622
7b780018
VS
16232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1626
1627 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1628 (build-grub-gen-asciih): Likewise.
1629 (build-grub-gen-widthspec): Likewise.
1630 * Makefile.util.def (grub-pe2elf): Remove.
1631 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1632 * configure.ac: Separate tests for build.
1633 Move ./build-grub-pe2elf to grub-core.
1634 Fix typo.
1635 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1636 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1637 defined.
1638 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1639 constants.
1640 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1641 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1642 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1643
984cfd8a
VS
16442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1647 mingw32 as well based on grub_util_get_disk_size.
1648 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1649 grub_util_get_fd_size.
1650 (sync): Removed.
1651 (fsync): Moved to ...
1652 * grub-core/kern/emu/misc.c (fsync): ... here.
1653
f82d79c9
VS
16542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * include/grub/mm.h (grub_extend_alloc): Remove.
1657 * grub-core/loader/i386/pc/plan9.c: Use own version of
1658 grub_extend_alloc with appropriate types.
1659
fd7dd66d
VS
16602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1663
43ffba7c
VS
16642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1667
3c7eac44
VS
16682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 Fix dependencies on cygwin.
1671
1672 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1673 dependencies when used and defined.
1674 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1675
bdb5ba47
VS
16762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1679 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1680
ed7fbf43
VS
16812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1684 implementation available to cause compile-time rather than runtime
1685 error.
1686
fc46e9fc
VS
16872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * util/grub-fstest.c: Don't check for symlinks on windows.
1690
7f68269a
VS
16912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * INSTALL: Mention unavailability of man pages when cross-compiling.
1694
8ed358e0
VS
16952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1698 and gcry_log_bug.
1699 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1700
fc97214f
VS
17012013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * INSTALL: Document cross-compilation.
1704 * acinclude.m4: Determine whether nm support -P and --defined-only.
1705 * configure.ac: Add TARGET_ to all variables pertaining to target
1706 that don't have it yet.
1707 * gentpl.py: Likewise.
1708 * grub-core/Makefile.am: Likewise.
1709 * grub-core/genmod.sh.in: Likewise.
1710 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1711 as well.
1712
ca1fb563
IB
17132013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1714
1715 * configure.ac: Remove -Wempty-body. It's not essential and needs
1716 recent gcc.
1717
0031b229
IB
17182013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1719
1720 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1721 * util/getroot.c: Likewise.
1722
54ea2f44
VS
17232013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/disk/ahci.c: Add needed explicit cast.
1726 * grub-core/lib/backtrace.c: Likewise.
1727 * grub-core/net/ip.c: Likewise.
1728 * grub-core/net/tcp.c: Likewise.
1729 * grub-core/net/udp.c: Likewise.
1730
3c601f8c
VS
17312013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1734
1d679dda
VS
17352013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * util/import_gcry.py: Add final newline in visibility.h.
1738
00c28dd9
VS
17392013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * conf/Makefile.common: Fix typo.
1742
32af299a
VS
17432013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1746
e733cf52
VS
17472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * Makefile.am (widthspec.h): Fix typo.
1750 * util/grub-gen-widthspec.c: Likewise.
1751
c6b066f2
VS
17522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Move ascii.h and widthspec.h generation to a separate build-time-only
1755 tool.
1756
ad1fe3f9 17572013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1758
1759 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1760 Always fill bootdisk info and improve check for NetBSD disklabel.
1761
92a52dd4
VS
17622013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * conf/Makefile.extra-dist: Add util/bin2h.c.
1765 Reported by: floppym.
1766
b2e9d276
VS
17672013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1770
7b966834
VS
17712013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * configure.ac: Disable unifont and starfield if no freetype was found.
1774
d5c1eef1
VS
17752013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1778 on NetBSD and OpenBSD.
1779
66345b50 17802013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1781
1782 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1783
66345b50 17842013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1785
1786 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1787 reduced. Inheritant options are processed during the theme loading.
1788
66345b50 17892013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1790
1791 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1792
369508b3
AS
17932013-08-14 Avik Sil <aviksil@in.ibm.com>
1794
1795 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1796
17972013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1798
1799 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1800 using qemu.
1801
6f27a3f6
PFS
18022013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1803
1804 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1805 remove-potcdate.sed.
1806
c6ed362a
AB
18072013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1808
1809 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1810 unused attribute from pull argument.
1811
5e7d9464
AB
18122013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1813
1814 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1815 memory leak.
1816
dea55e2a
AB
18172013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1818
1819 * util/getroot.c (pull_lvm_by_command): add --separator option
1820 to vgs call to disable padding of output to 10 characters.
1821
f0b94ded
VS
18222013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1825 here ...
1826 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1827 here.
1828
b828fb5d
VS
18292013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1832 length.
1833
7c9d0c39
VS
18342013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1837 full Canadian cross. Tested with build=x86_64, host=arm,
1838 target=ppc-ieee1275.
1839
816719c8
VS
18402013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * configure.ac: Error if no $BUILD_CC could be found.
1843 Reported by: DevHC.
1844
2af2353b
VS
18452013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1848 i386-multiboot.
1849
797abd0a
VS
18502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1853 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1854
36e87d25
CW
18552013-08-13 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1858 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1859 falling back to the partition device, otherwise a later call to this
1860 function may fail spuriously.
1861 Reported by Axel Beckert. Fixes Debian bug #708614.
1862
273349fe
GS
18632013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1864
1865 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1866
418f86c6
GS
18672013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1868
1869 Prevent shadowing of stdlib's devname(3) on BSD.
1870
1871 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1872 and devlast to diskname and disklast, respectively.
1873
c137aea0
CW
18742013-08-11 Colin Watson <cjwatson@ubuntu.com>
1875
1876 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1877
272dc8df 18782013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1879
1880 * docs/grub.texi: Introduce terminal window position options:
1881 terminal-left: terminal window's left position
1882 terminal-top: terminal window's top position
1883 terminal-width: terminal window's width
1884 terminal-height: terminal window's height
1885 terminal-border: terminal window's border width
1886 * grub-core/gfxmenu/theme-loader.c: Likewise.
1887 * include/grub/gfxmenu_view.h: Likewise.
1888 * po/exlude.pot: Likewise.
1889 * grub-core/gfxmenu/view.c: Likewise.
1890 Also updated minimal window size.
1891 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1892 * grub-core/tests/checksums.h: Update (terminal window height
1893 is adjusted now for low resolution screen)
b4743461 1894
748a4533
VS
18952013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1898 position).
1899
fca5f944
VS
19002013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * po/exclude.pot: Add few recent exceptions.
1903
4f47d809
VS
19042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * tests/grub_func_test.in: Add unicode.pf2.
1907
a62ae90c
VS
19082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1911 standard rather than noral color, in line with other terminals.
1912
4ed41392
VS
19132013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1916 analysis.
1917
3719fbc5
VS
19182013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1921
459b1d91
VS
19222013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1925 inappropriate printf.
1926
f4e1ab9d
AB
19272013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1928
1929 * .bzrignore: Remove grub-core/lib/dtc-grub,
1930 grub-core/Makefile.libfdt.def
1931 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1932
fa471bfa
VS
19332013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * include/grub/video.h (grub_video_register): Keep double-linked as
1936 well as single-linked invariants.
1937 Reported by: qwertial.
1938
d65be02b
VS
19392013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/commands/nativedisk.c (get_uuid): Handle
1942 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1943
ba8bc620
VT
19442013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1945
1946 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1947 maximum of NW, N, NE heights instead of N's height and maximum of
1948 NW, W, SW widths instead of W's width. (So the box will be always
1949 correctly drawn)
1950
4f0ad029
GS
19512013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1952
1953 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1954 Fix misuse of variable count.
1955
43d53b72
LL
19562013-07-18 Leif Lindholm <leif.lindholm@arm.com>
19572013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
19582013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1959
43d53b72
LL
1960 New ports to arm-uboot and arm-efi.
1961 Mostly by Leif Lindholm with some additions from
1962 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1963
88f8d146
VS
19642013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1967 and not before.
1968 Reported by: Leon Drugi.
1969
3f42504c
VS
19702013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1973 Reported by: Paulo Flabiano Smorigo.
1974
d110499b
VT
19752013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1976
1977 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1978
a8674ad3
VT
19792013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1980
1981 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1982
286fe4b3
VS
19832013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1986
1bd57aa3
VS
19872013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1990
7a87d69f
AB
19912013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1992
1993 * grub-core/net/bootp.c: Export net_* variables.
1994 * grub-core/net/net.c: Likewise.
1995
b2182299
VS
19962013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1999
795b3dc0
VS
20002013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2003
68714c43
VS
20042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2007
af211bab
VS
20082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2011
0036f02d
MM
20122013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2013
2014 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2015 <= 0.
2016
6d0ddff3
MM
20172013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2018
2019 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2020 functions.
2021
038016f4
MM
20222013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2023
2024 * grub-core/fs/zfs/zfs_lz4.c: New file.
2025 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2026
776bdce2
MM
20272013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2028
2029 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2030
c71dbd40
MM
20312013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2032
2033 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2034 (check_pool_label): Likewise.
2035 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2036
20372013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2038
2039 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2040
8e67b50f
AB
20412013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2042
2043 * docs/grub.texi (Commands): Document postition parameters
2044 for menuentry command.
2045
f5ae3717
AB
20462013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2047
2048 * util/grub-mknetdir.in: Remove stray line from help output.
2049
9c28da2a
VS
20502013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Remove early sm712 init as there is no reason for it (the "watchdog"
2053 effect was due to wrong GPIO map).
2054
139072b8
VS
20552013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/commands/pcidump.c: Remove static variables.
2058
c6a61bda
VS
20592013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2062
51369614
VS
20632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * configure.ac: Move delimiter after the infos.
2066
efa8640a
VS
20672013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2070
6f80a7b2
VS
20712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2074 not filling whole 8x16 space.
2075
a2371e19
VS
20762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2079
64fce2d8
VS
20802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * configure.ac: Indicate which liblzma is used if any.
2083
eb272d84
PW
20842013-06-21 Paul Wise <pabs3@bonedaddy.net>
20852013-06-21 Craig Sanders <savannah@taz.net.au>
2086
2087 * util/grub-reboot.in: Document submenu usage.
2088
a9e5abee
CW
20892013-06-25 Colin Watson <cjwatson@ubuntu.com>
2090
2091 * .bzrignore: Update with a number of new test-related files.
2092
e639c204
CW
20932013-06-25 Colin Watson <cjwatson@ubuntu.com>
2094
2095 * util/grub-script-check.c: Fail on scripts containing no
2096 commands, to guard against corrupted grub-mkconfig setups that
2097 produce no useful output.
2098 * tests/grub_script_no_commands.in: New test.
2099 * Makefile.util.def (grub_script_no_commands): Add.
2100 Reported by Hans Putter. Fixes Debian bug #713886.
2101
a4c89b17
AB
21022013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2103
2104 * grub-core/disk/diskfilter.c: Forgot to remove comment
2105 from previous commit.
2106
5b06b53c
AB
21072013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2108
2109 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2110 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2111
702da5c9
AB
21122013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2113
2114 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2115
aa62a5b7
AB
21162013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2117
2118 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2119 rescan diskfilter devices until nothing new is found.
2120
4aa237c8
VS
21212013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2124
93d8479b
VS
21252013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Don't try to detect cbfs on *-emu.
2128
837222cc
VS
21292013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2132
99c971af
VS
21332013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Add support for processed coreboot payload chainloading.
2136
e6930a45
VS
21372013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Enable coreboot information commands even when not loaded as
2140 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2141
5027af38
VS
21422013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Support for cbfs. Also factor out the part which is common
2145 for all archives to a separate module. This splits tar from cpio
2146 as they are very different but keeps cpio, cpio_be, odc and newc
2147 together since they're very similar.
2148
a5b55c4b
DM
21492013-06-15 David Michael <fedora.dm0@gmail.com>
2150
2151 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2152 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2153
0301a8b3
VS
21542013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * tests/grub_script_eval.in: Really add the eval test.
2157
3d84cb17
VS
21582013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Move flavour-specific parts out of common cpio.c file and
2161 rename remaining to cpio_common.c
2162
593e430c
AB
21632013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2164
2165 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2166 off new function grub_script_execute_new_scope. Change callers to use
2167 either of them as appropriate.
2168 * grub-core/commands/eval.c: New command eval.
2169 * docs/grub.texi (Commands): Document it.
2170
63c29849
AB
21712013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2172
2173 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2174 to fetch values when listing.
2175
cc284112
AB
21762013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2177
2178 Fix make dist on non-pc.
2179
21802013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2181
2182 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2183 without a device name.
2184
69544d1e
VS
21852013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Remove enable_executable_check as it's not needed anymore.
2188 Reported by: dougray.
2189
96dbe648
VS
21902013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2193 ambigouos RAID before discovering RAIDs on top of it.
2194 Reported by: bodom.
2195
ccfc0bdb
VS
21962013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 Fix typo (failback vs fallback).
2199
f2587088
AB
22002013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2201
2202 * util/grub.d/30_os-prober.in: Add support for probing EFI
2203 System Partition (as of os-prober 1.58).
2204
cec5cf0c
VS
22052013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * configure.ac: Add yet another path to unifont. For parabola.
2208
e40b4596
JT
22092013-05-30 Josh Triplett <josh@joshtriplett.org>
2210
2211 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2212 handling to copy the killed characters to the kill buffer as
2213 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2214 stored as char. Eliminates UCS4 truncation and corruption
2215 observed when killing characters with Ctrl-u and yanking them
2216 back with Ctrl-y.
2217
fc4c4fdd
VS
22182013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 Detach optional parts of gfxterm and integrate in with coreboot init.
2221
6570b205
VS
22222013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Move blit and fill dispatcher to appropriate files to decrease export
2225 and relocation overhead.
2226
b8323067
VS
22272013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2230 functions.
2231
3cc1878f
VS
22322013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/Makefile.am: Fix compilation problem with some
2235 automake versions.
2236
4b80e43c
VS
22372013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2240
57e0c20c
VS
22412013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2244 automake versions.
2245
4fd42c53
VS
22462013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2249 SSDT.
2250
1e908b34
RS
22512013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2252
2253 * grub-core/partmap/dfly.c: New partition map.
2254
1359e474
VS
22552013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2258 checking.
2259 Reported by: Francesco Lavra.
2260
17806392
AB
22612013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2262
2263 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2264 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2265 false conditions.
2266 * conf/Makefile.common: define dist_grubconf_DATA
2267
cdce14fa
VS
22682013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Progressively skip menu elements on small terminals rather
2271 than crashing.
2272
c8d6cc3c
VS
22732013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2276 to avoid losing last column.
2277
a73b31ce
VS
22782013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * po/exclude.pot: Add missing string "%C".
2281
1202c764
VS
22822013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2285 after the test.
2286
50268344
VS
22872013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * util/grub-install.in: Gettextize "Not found" message.
2290
62b15edf
VS
22912013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Fix distfiles list.
2294 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2295
22962013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2297
2298 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2299 present.
2300 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2301
709ad61b
VS
23022013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2305
d128901a
VS
23062013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2309 attribute since structure is not necessarily aligned.
2310
34b22f5c
AB
23112013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2312
2313 * docs/grub.texi (Device syntax): Clarify description of network
2314 drives.
2315
0f7e980b
VS
23162013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2319 for vasprintf presence.
2320
30b03dc2
VS
23212013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * util/grub-install.in: Handle efibootmgr presence check.
2324 Reported by: Leif Lindholm.
2325
0dc11c08
VS
23262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2329 new strings to translate.
2330
f8024c3f
VS
23312013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2334 yet another string (pun intended) to translate.
2335
b4c1da62
VS
23362013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * po/POTFILES-shell.in: Autogenerate it.
2339
0ef7478b
VS
23402013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2343
8200fa15
VS
23442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2347 misnomer.
2348
091945b2
AB
23492013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2350
2351 * docs/grub.texi (Network): Add description of net_default_interface,
2352 net_default_ip and net_default_mac. Rewrite variables description
2353 to emphasize that they are per-interface.
2354
0e7b2e32
VS
23552013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 New test: cmdline and cat.
2358
16f7c8f6
VS
23592013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/commands/cat.c: Show UTF-8 characters.
2362
3e912fda
VS
23632013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * conf/Makefile.common: Poison float and double on non-emu.
2366
ee0220bc
VS
23672013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * configure.ac: Don't disable extended registers on emu.
2370
89e0240c
VS
23712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * configure.ac: Don't use extended registers on x86_64.
2374 Reported by: Peter Jones.
2375
e56d9637
VS
23762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/term/efi/console.c: Fix compile error.
2379
8098f655
VS
23802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Compressed HFS+ support.
2383
16940e07
VS
23842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2387 pixel".
2388
c5dbc13d
VS
23892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Menu color test.
2392
011f8ae8
VS
23932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/tests/setjmp_test.c: New test.
2396
2aa072d7
VS
23972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 New variables 'net_default_*' to determine MAC/IP of default interface.
2400
43fe02cb
VS
24012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * tests/gettext_strings_test.in: A test to check for strings not
2404 marked for translation.
2405
bed06142
VS
24062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * autogen.sh: Exclude unused libgcrypt files from translation.
2409
fb2666b5
VS
24102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Simplify few strings.
2413
d22840ec
VS
24142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 Mark few forgotten strings for translation.
2417
e34092fd
VS
24182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2421 rather than printf.
2422
47cf82b4
VS
24232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2426 rather than printf.
2427 * grub-core/video/readers/tga.c: Likewise.
2428
1eed0e6e
VS
24292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * tests/priority_queue_unit_test.cc: New test.
2432
c5b7697b
VS
24332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2436 than printf.
2437
5945c2f8
AB
24382013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2439
2440 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2441 variable for one time boot menu entry.
2442
fa292343
B
24432013-05-05 Bean <bean123ch@gmail.com>
2444
2445 * grub-core/commands/testspeed.c: New command testspeed.
2446
310d4214
VS
24472013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Factor-out human-size printing.
2450
85002bf3
VS
24512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Agglomerate more mallocs to speed-up gfxterm.
2454
22b06e96
VS
24552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Speed-up gfxterm by slightly agglomerating mallocs.
2458
b7c036bc
VS
24592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 More video checks.
2462
92323d1f
VS
24632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Speed-up gfxterm by saving intermediate results in index+alpha
2466 format.
2467
0fb356a3
VS
24682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2471 test.
2472
44dea3f9
VS
24732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2476 line of timeout as it may contain the rest of long line.
2477
14af86e4
VS
24782013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/normal/main.c: Fix freed memory dereference.
2481
03f7c8c3
VS
24822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Fix several memory leaks.
2485
c686014c
VS
24862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2489
0788a695
VS
24902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2493
daf01d61
VS
24942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Fix test -a and -o precedence.
2497 Reported by: adrian15.
2498
82ae74d7
VS
24992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2502
8cec7bd4
AB
25032013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2504
2505 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2506 and add it as source to functional_test module.
2507
aa73d688
VS
25082013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2511
c104b6f9
VS
25122013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 New series of tests for gfxterm and gfxmenu.
2515
7391c4d5
VS
25162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2519 the theme path relative to $prefix/themes.
2520
cff50118
VS
25212013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2524 Fix order bug.
2525 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2526
7c332bdc
VS
25272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2530 descriptor.
2531
a4f9a5ff
VS
25322013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2535 grub_gfxmenu_timeout_notifications.
2536 (grub_gfxmenu_view_destroy): Likewise.
2537
b5a2114d
VS
25382013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2541
a8905e8a
VS
25422013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Several fixes to ieee1275 and big-endian video.
2545
813c1622
VS
25462013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Add missing exports on mips.
2549
3f3e7326
VS
25502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2553 if no unifont is found.
2554 Restore original keyboard.
2555
095accd1
VS
25562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2559 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2560
50361660
VS
25612013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 First automated video test (running videotest and comparing results)
2564
cd0f6eec
VS
25652013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2568 instead of 2 to have full RGB/CMY test pattern.
2569
3f9634e5
VS
25702013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Add few more tests.
2573
583e5b64
VS
25742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2577 ARCS. All users updated.
2578
aa7bcb99
VS
25792013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2582
95ef1a54
VS
25832013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2586
46546fc5
VS
25872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2590 Reported by: qwertial.
2591
3476e0ef
VT
25922013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2593
2594 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2595 with syntax "XXX deg"/"XXX °".
2596
96f33fed
VS
25972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Make PCI init in i386-qemu port more robust.
2600
26012013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2602
2603 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2604 cached view is reused.
2605 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2606 open boot menus.
2607
c53b4e67
VS
26082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Unify more code in grub-install_header.
2611
f7457fb2
VS
26122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Add few new tests.
2615
e2f27a8c
VS
26162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Enforce disabling of firmware disk drivers when native drivers kick in.
2619
ef9d8cd5
VS
26202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/commands/nativedisk.c: Customize the list of modules on
2623 platform. Don't try to search for disks already using native drivers.
2624
f7bf6c31
VS
26252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2628 platforms.
2629
bdc4add8
VS
26302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2633 handling of variables containing backslash.
2634
e9e46c9a
VS
26352013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2638 dereference.
2639 Reported by: qwertial.
2640
0e90dee8
VS
26412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2644
e0aacf24
VS
26452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2648 dereference.
2649 Reported by: qwertial.
2650
3c0003c3
VS
26512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2654
adb7d667
VS
26552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2658
7cd0df84
VS
26592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 New command `nativedisk'.
2662
02adbb93
VS
26632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2666 * grub-core/loader/i386/bsd.c: Likewise.
2667
9fb0fd4f
VS
26682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2671
bd69257a
VS
26722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2675 grub_get_unaligned16 rather than shifts.
2676
178c2764
VS
26772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/kern/file.c: Use const char * rather than casting to
2680 non-const.
2681
eadfad24
VS
26822013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/commands/probe.c: Add missing grub_device_close.
2685
9f73ebd4
VS
26862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * INSTALL: Document linguas.sh.
2689
965fa829
VS
26902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Remove POTFILES.in and regenerate it in autogen.sh.
2693
d417ddc4
VS
26942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 Move --directory/--override-directorry to grub-install_header and unify.
2697
f97ec546
VS
26982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/term/morse.c: Macroify dih and dah.
2701
b2d7470c
PFS
27022013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2703
2704 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2705
141e2a78
VS
27062013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/term/ns8250.c: Systematically probe ports by writing
2709 to SR before using them.
2710
1dd70ebd
PFS
27112013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2712
2713 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2714 disks.
2715 (check_sas): Get sas_adress info.
2716
c796a107
VS
27172013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2720 ports.
2721
43168646
LD
27222013-04-27 Leon Drugi <eyak>
2723
2724 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2725 BSS clearing.
2726
e7b8fd08
VS
27272013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Core compression test.
2730
17f9fd29
VS
27312013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Implement grub_machine_get_bootlocation for ARC.
2734
dc2a6c8b
VS
27352013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Improve AHCI detection and command issuing.
2738
f25a2ba6
VS
27392013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Fix pseries test.
2742
a6393224
VS
27432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Make 'make check' work on emu.
2746
db99fbe8
VS
27472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 Replace libcurses with our own vt100 handling for the ease of testing
2750 and decreasing prerequisites.
2751
b24ca7cd
VS
27522013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2755
63314aa4
VS
27562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2759 compile when not needed.
2760
c1b00fff
VS
27612013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * tests/pseries_test.in: New test.
2764
f93e89ef
VS
27652013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 Add test to check that different boot mediums work.
2768
c4b456d3
VS
27692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2772 ofw limited ISO support.
2773
5fe67f39
VS
27742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * configure.ac: Fix loongson conditional.
2777
7f63a64f
VS
27782013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Enable mipsel-arc.
2781
b04b5990
VS
27822013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Add serial on ARC platform.
2785
88d2f302
VS
27862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2789 commit.
2790
86eb23bc
VS
27912013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * tests/partmap_test.in: Add missing double semicolon.
2794
eec3bb75
VS
27952013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * util/grub-mkrescue.in: Fix loongson filename.
2798
e0810df3
VS
27992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * util/grub-mkrescue.in: Move all files that don't have a location
2802 set in stone under /boot/grub. Use ISO hard links rather than copies
2803 to save some space.
2804
65a6b30b
VS
28052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2808 bogus SLOF values.
2809
6aff0107
VS
28102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Make check work on mips-arc.
2813
5e013e56
VS
28142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * util/grub-mkrescue.in: Alias sashARCS as sash.
2817
d1989e2e
VS
28182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2821 it's serial.
2822
1a25e72c
VS
28232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * util/grub-install.in: Fix target fo qemu_mips.
2826 Fix extension on EFI.
2827
a59a9826
VS
28282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2831 in front of chosen entry to mark it even if highlighting is lost.
2832
1a40f80c
VS
28332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2836 gfxpayload=keep if cbfb is active.
2837
e343549c
VS
28382013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2841
45fbd9a2
VS
28422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Add missing video ids to coreboot and ieee1275 video.
2845
ab1440bd
VS
28462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * util/grub-mkrescue.in: Add mips-arc support.
2849
cdeb8324
VS
28502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2853
8528c879
VS
28542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 Move mips-arc link address. Previous link address was chosen
2857 in belief that RAM on SGI platforms grows down while in fact it
2858 grows up from an unusual base.
2859
17fca573
VS
28602013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2863 Fix a type which prevented CD-ROM and floppy boot.
2864
d178788e
VS
28652013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Support coreboot framebuffer.
2868
2869 * grub-core/video/i386/coreboot/cbfb.c: New file.
2870
fe4c3e7e
VS
28712013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2874 detecting too small regions.
2875
ec2dd179
VS
28762013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2879
872dac83
VS
28802013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2883 Remove dprintf.
2884 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2885
90ec4b7f
VS
28862013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2889 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2890 * grub-core/loader/powerpc/ieee1275/linux.c
2891 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2892
f32555dd
VS
28932013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2896 Look for /boot-rom as well as /rom/boot-rom.
2897
38649799
VS
28982013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2901 handling when creating text_layer failed.
2902 * grub-core/video/video.c (grub_video_create_render_target):
2903 Set result to 0 on error.
2904 (grub_video_delete_render_target): Do not dereference NULL.
2905
aeace7f7
VS
29062013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2909 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2910 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2911 (grub_linux_load64): Mask out 2 high bits.
2912
4eafa175
AB
29132013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2914
2915 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2916 more place.
2917
daaa64bd
VS
29182013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 Add support for pseries and other bootinfo machines to grub-mkrescue.
2921
2922 Tested by: Paulo Flabiano Smorigo.
2923
d0d2daa6
VS
29242013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * util/grub-mkrescue.in: Add GPT for EFI boot.
2927
b193e100
VS
29282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2931 It improves performance in qemu.
2932
a0f8f3ac
VS
29332013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * build-aux/snippet: Add missing gnulib files.
2936
284df0e2
AB
29372013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2938
2939 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2940
740201f3
AB
29412013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2942
2943 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2944
a7e03923
PJ
29452013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
29462013-04-15 Peter Jones <pjones@redhat.com>
2947
2948 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2949 sectors.
2950 Based on patch by Peter Jones.
2951
25fc51a8
VS
29522013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Fix DMRAID partition handling.
2955
88017d47
VS
29562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * tests/grub_cmd_date.in: Skip on sparc64.
2959
fa7d914e
VS
29602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2963 firmware error messages.
2964
cbe57a48
VS
29652013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2968 source and destination differ.
2969
21aecce0
VS
29702013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2973 detection.
2974
25092d29
VS
29752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2978 match config-util.h to avoid warnings and increase compatibility.
2979
79451522 29802013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 29812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2982
2983 Add option to compress files on install/image creation.
2984
78b7d77b
VS
29852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * docs/grub-dev.texi: Rearrange menu to match the section order.
2988 Reported by: Bryan Hundven.
2989
cc2fa5ec
VS
29902013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2993
b49fe879
VS
29942013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Move GRUB out of system area when using xorriso 1.2.9 or later.
2997
5351da81
VS
29982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * tests/grub_cmd_date.in: Add missing exit 1.
3001
c9d586ea
VS
30022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * tests/partmap_test.in: Skip on sparc64.
3005
3f729741
VS
30062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Support grub-shell on sparc64.
3009
8ca86b3a
VS
30102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Support mkrescue on sparc64.
3013
aa1af9bb
VS
30142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3017 Needed on OpenBIOS due to incomplete device tree.
3018
ac4fea79
VS
30192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3022 would be otherwise excluded.
3023
30242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3025
3026 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3027 Inline name defines used only once.
3028
fe22b071
VS
30292013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Fix memory leaks in ofnet.
3032 Reported by: Francesco Lavra.
3033
9d21381b
VS
30342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * docs/man/grub-glue-efi.h2m: Add missing file.
3037
07aec23c
VS
30382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3041
67ab8353
VS
30422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Better support Apple Intel Macs on CD.
3045
ba44ca6d
VS
30462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 Replace stpcpy with grub_stpcpy in tools.
3049
bbdd6305
VS
30502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Handle Japanese special keys.
3053 Reported by: Hiroyuki YAMAMORI.
3054 Codes supplied by: Hiroyuki YAMAMORI.
3055
8573d302
VS
30562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/grub-mkimage.c: Document memdisk implying --prefix.
3059
d70dbab7
VS
30602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3063 much we can do about it anyway.
3064
51a4c3e3
AN
30652013-04-12 Aleš Nesrsta <starous@volny.cz>
3066
3067 Fix handling of split transfers.
3068
92c8f58d
VS
30692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/net/http.c: Fix bad free.
3072
b7d17a49
VS
30732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3076 than buffer size.
3077
a3d566d4
VS
30782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3081
a936af56
VS
30822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * tests/util/grub-shell.in: Fix it on powerpc.
3085
51212234
VS
30862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Turn off QEMU ACPI-way since new releases don't have shutdown port
3089 anymore.
3090
a21eec9e
VS
30912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * docs/grub.texi: Update coreboot status info.
3094
e3734b84
VS
30952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * tests/grub_cmd_date.in: New test for datetime.
3098
f9d40055
VS
30992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * tests/partmap_test.in: Fix missing qemudisk setting.
3102
dbc56d8f
VS
31032013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Support i386-ieee1275 grub-mkrescue and make check on it.
3106
a79b8a15
VS
31072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3110 feature for it.
3111
48f39bb4
VS
31122013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3115 GRUB_CMDLINE_XEN_DEFAULT.
3116 Reported by: Marc Warne (GigaTux) <gigatux>
3117
053cfcdd
VS
31182013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 Import new gnulib.
3121
93cd84df
VS
31222013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Use ACPI shutdown intests as traditional port was removed.
3125
f4b1fa4f
AB
31262013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3127
3128 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3129 distinction.
3130
49818a59
VS
31312013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3134 Fix few warining messages and leaks while on it.
3135
9277a306
AB
31362013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3137
3138 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3139 links under grub-core/lib/libgcrypt-grub/mpi.
3140
d5e2a158
VS
31412013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 Fix ia64-efi image generation on big-endian machines. Deduplicate
3144 some code while on it.
3145 Reported by: Leif Lindholm.
3146
18866643
AB
31472013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3148
3149 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3150 as extra_dist.
3151
ca53deb8
AB
31522013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3153
3154 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3155
d4c4b8e1
BH
31562013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3157
3158 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3159 texinfo-5.1.
3160
47043f95
VS
31612013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/normal/term.c: Few more fixes for menu entry editor
3164 rendering.
3165 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3166
a3216068
VS
31672013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/normal/term.c: Few more fixes for menu entry editor
3170 rendering.
3171 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3172
21026747
AB
31732013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3174
3175 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3176 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3177
59624ca8
AB
31782013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3179
3180 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3181 instead of hardcoding grub.mo.
3182
1f44478c
FN
31832013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3184
3185 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3186
eeada7b1
VS
31872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3190 grub-core/disk/geli.c.
3191
132867de
VS
31922013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * util/grub-mkfont.c: Prefer enum to #define.
3195
de73de17
VS
31962013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3199
1865baa7
VS
32002013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3203
ce7d92a9
VS
32042013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3207
52eab656
VS
32082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3211
98b23b95
VS
32122013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * include/grub/bsdlabel.h: Use enums.
3215
0467a5dd
VS
32162013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Move GRUB_CHAR_BIT to types.h.
3219
16cc9f03
AB
32202013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3221
3222 * docs/grub.texi: Document more user commands.
3223
3152aecb
AB
32242013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3225
3226 * docs/grub.texi: Document menuentry --id option.
3227
c506fc30
FL
32282013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3229
3230 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3231
aa428238
VS
32322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 Unify file copying setup across different install scripts. Add
3235 options for performing partial install.
3236
efe0cdda
PJ
32372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32382013-04-04 Peter Jones <pjones@redhat.com>
3239
3240 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3241
f75835bd
VS
32422013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Use TSC as a possible time source on i386-ieee1275.
3245
2cd5ce6c
VS
32462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3249 Init err.
3250
c9625630
VS
32512013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * util/grub-setup.c (setup): Handle some corner cases.
3254
be008941
VS
32552013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3258
1a78d573
VS
32592013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/commands/verify.c: Save verified file to avoid it being
3262 tampered with after verification was done.
3263
db8ff59f
VS
32642013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3267 reported width by one to compensate for curesor algorithm problem.
3268
91bf46b1
VS
32692013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Fix screen corruption in menu entry editor and simplify the code
3272 flow while on it.
3273
a7b1d693
AB
32742013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3275
3276 * util/grub-mount.c (fuse_init): Return error if fuse_main
3277 failed.
3278
31df9ad8
FL
32792013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3280
3281 * include/grub/elf.h: Add missing ARM relocation codes and fix
3282 existing ones.
3283
07f392eb
VT
32842013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3285
3286 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3287
9efd73ec 32882013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
32892013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3292 into account when calculating radius.
3293
32942013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3295
3296 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3297
4985ddaa
VT
32982013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3299
3300 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3301
8c3635ff
RS
33022013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3303
3304 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3305 missing closing bracket.
3306
74a35e69
RS
33072013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3308
3309 * INSTALL: Mention xorriso requirement.
3310
40f1c000
AB
33112013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3312
3313 * grub-core/commands/verify.c: Fix hash algorithms values for
3314 the first three hashes - they start with 1, not with 0.
3315
e75fdee4
VS
33162013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3319 Try terminating EFI services several times due to quirks in some
3320 implementations.
3321
33028f4c
CW
33222013-03-26 Colin Watson <cjwatson@ubuntu.com>
3323
3324 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3325 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3326 BankField extended opcodes.
3327 (get_sleep_type): Add minimal scope handling (just enough to
3328 handle setting the scope to the root path).
3329 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3330 * include/grub/acpi.h: Add enumeration values for Event, Device,
3331 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3332
33871a10
VT
33332013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3334
3335 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3336 memory leak.
3337
8990963a
VS
33382013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/disk/ahci.c: Give more time for AHCI request.
3341
daae8f9e
VS
33422013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3345 command.
3346
6a7fb94b
VS
33472013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 Replace the region at 0 from coreboot tables to available in BSD
3350 memory map.
3351
ff99babd
VS
33522013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3355 non-BIOS platforms.
3356
30d6b1b2
VS
33572013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3360 platforms.
3361
6ccd0b31
VS
33622013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3365 handling of multi-device filesystems.
3366
23c9cc04
VS
33672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3370 platforms.
3371
ce50dbd7
VS
33722013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Add new 'proc' filesystem framework and put luks_script into it.
3375
d975e8d5
VS
33762013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3379 and qemu.
3380
e73ba5e8
VS
33812013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3384
92750e4c
VS
33852013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 Add ability to generate newc additions on runtime.
3388
0ec45a68
VS
33892013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3392 description.
3393
320abd43
VS
33942013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * po/POTFILES.in: Regenerate.
3397
d7a6506e
VS
33982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/commands/verify.c (hashes): Add several hashes
3401 from the spec.
3402
8fe05def
VS
34032013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 Slight improve in USB-related boot-time checkpoints.
3406
524e2766
VS
34072013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/commands/boottime.c: Fix copyright header.
3410
cc19857a
VS
34112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3414 coreboot tables content. Support for cbmemc.
3415
ef8810e9
VS
34162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Fix a conflict between ports structures with 2 controllers of
3419 same kind.
3420
e9dabdfa
VS
34212013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * include/grub/boottime.h: Add missing file.
3424
f6df57d2
VS
34252013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 Initialize USB ports in parallel to speed-up boot.
3428
d745dda7
VS
34292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 Fix USB devices not being detected when requested
3432 due to delayed attach.
3433
e5a2dd7b
VS
34342013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3435
e744219b
VS
3436 Implement boot time analysis framework.
3437
34382013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3441 descriptor to just receive it as argument rather than endpoint
3442 address.
3443
5dd6f587
VS
34442013-03-19 Aleš Nesrsta <starous@volny.cz>
3445
3446 Better estimate the maximum USB transfer size.
3447
2f1071d5
VS
34482013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Resend a packet if we got the wrong buffer in status.
3451
46ecfc49
VS
34522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3455 multiplication rather than division.
3456
ea811130
VS
34572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3460 than divisions.
3461
d2789cf0
VS
34622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3465 operations to have intended shifts and not divisions.
3466
a9c94590
VS
34672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3470 intended shifts rather than division.
3471
84cfe81b
VS
34722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3475 computation for some years before epoch. Avode confusing division
3476 while on it.
3477
21344ef6
VS
34782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/video/i386/pc/vbe.c
3481 (grub_video_vbe_print_adapter_specific_info): Replace division by
3482 shifts.
3483
3f2b4d1a
VS
34842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Adjust types in gdb module to have intended unsigned shifts rather than
3487 signed divisions.
3488
3dac5878
VS
34892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3492 maximum size is 4G - 1 on hfs
3493
5341c0fb
VS
34942013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3497
fc3ff2a2
VS
34982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3501 function.
3502
81455e8e
AB
35032013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3504
3505 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3506 causing gcc error with gcc 4.7.1.
3507
efd4f117
NZ
35082013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3509
3510 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3511 dereference null pointer. While the code is technically correct, gcc
3512 may eliminate a null check if pointer is already dereferenced.
3513
e11645f4
NZ
35142013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3515
3516 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3517 OOM check.
3518 * grub-core/normal/term.c (read_terminal_list): Likewise.
3519
77468368
VS
35202013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 Lift up core size limits on some platforms. Fix potential memory
3523 corruption with big core on small memory systems. Document remaining
3524 limits.
3525
f6b58fe5
VS
35262013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3529 gotoxy to 0,0.
3530
19ce697d
VS
35312013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Remove all trampoline support. Add -Wtrampolines when
3534 present. Remove symbols used for trampolines to make
3535 link fail if trampolines are present.
3536
73b5d90f
VS
35372013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3540 append out of its parent.
3541
cb758e96
VS
35422013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3545 parent.
3546
3188131f
VS
35472013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3550 all vars to a macro. All users updated.
3551
e42b2514
VS
35522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3555 i386-ieee1275.
3556
83e1a1a1
VS
35572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3560
1d5a880f
VS
35612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3564
6e4146c4
VS
35652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Move to more hookless approach in IEEE1275 devices handling.
3568
99fcda8a
VS
35692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/kern/term.c (grub_term_normal_color),
3572 (grub_term_highlight_color): Add back lost defaults.
3573
73bf57e2
VS
35742013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 Make elfload not use hooks. Opt for flags and iterators instead.
3577
7f8c105f
VS
35782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3581 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3582
396d4091
VS
35832013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3586
35872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3590 hook pass-through parameter. All users updated and unnested.
3591
74a27421
VS
35922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3595 out of its parent.
3596
b46d4213
VS
35972013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/fs/hfs.c: Remove nested functions.
3600
e114c3cc
VS
36012013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3604 the context through.
3605 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3606
f9b7d780
VS
36072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * util/grub-editenv.c (list_variables): Move print_var out of its
3610 parent.
3611
ca9c2608
VS
36122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3615 function.
3616
5d983f5f
VS
36172013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/gentrigtables.c: Make tables const.
3620
3056d3e7
VS
36212013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 Remove nested functions from videoinfo iterators.
3624
e2303774
VS
36252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3628 for 64-bit platforms.
3629
f42e3a2f
VS
36302013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3633 a FOR_CHILDREN macro.
3634
be174e5e
VS
36352013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3638 platform from firmware path.
3639
0789b672
VS
36402013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Enable linux16 on non-BIOS systems for i.a. memtest.
3643
3644 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3645 correctly.
3646 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3647
005a9c32
VS
36482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3651 Fix end of table condition.
3652
ff2b3cd9
VS
36532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3656 out of its parent.
3657
4fc40ff8
VS
36582013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/fs/jfs.c: Remove nested functions.
3661
be42d97a
VS
36622013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/fs/minix.c: Remove nested functions.
3665
99373ce4
VS
36662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/fs/iso9660.c: Remove nested functions.
3669
5aec2afe
VS
36702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3673 of parent function.
3674
6c69e691
VS
36752013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * util/grub-fstest.c: Remove nested functions.
3678
43c91882
VS
36792013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/loader/machoXX.c: Remove nested functions.
3682
4eb8b756
CW
36832013-02-27 Colin Watson <cjwatson@ubuntu.com>
3684
3685 Remove nested functions from disk and file read hooks.
3686
3687 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3688 (struct grub_disk): Add read_hook_data member.
3689 * include/grub/file.h (struct grub_file): Likewise.
3690 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3691 argument.
3692
3693 Update all callers.
3694
df6da5a5
AB
36952012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3696
3697 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3698 Fix off by one error in enumerating extended partitions.
3699
21aecde5
AB
37002013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3701
3702 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3703 memory leak if device name is not found.
3704
f1a19118
AB
37052013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3706
3707 * grub-core/normal/menu_entry.c (update_screen): remove
3708 unused variable `off' which caused scroll down arrow to be always shown.
3709
958bfd20
AB
37102013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3711
3712 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3713 access to unallocated memory.
3714
b7b78edb
AB
37152013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3716
3717 * Makefile.util.def: Add partmap/msdos.c to common library.
3718 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3719 * grub-core/disk/ldm.c: Check for existence of
3720 GRUB_PC_PARTITION_TYPE_LDM.
3721
28d468d6
VS
37222013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3725 sizes and display sector size.
3726
d55ffb02
VS
37272013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Implement new command cmosdump.
3730
b5ea6ce0
VS
37312013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3732
3733 Support Openfirmware disks with non-512B sectors.
3734
3735 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3736 size of the disk.
3737 * (grub_ofdisk_get_block_size): New function.
3738 * (grub_ofdisk_prepare): Use the correct block size.
3739 * (grub_ofdisk_read): Likewise.
3740 * (grub_ofdisk_write): Likewise.
3741 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3742 New proto.
3743
cc0e476f
VS
37442013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3747
c5dbdc33
VS
37482013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3751 on first error.
3752
3f078c0f
VS
37532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3756 freeing it.
3757
66a93674
VS
37582013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 Implement USBDebug (full USB stack variant).
3761
c9f0c134
VS
37622013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3765 unless they have unexpected values.
3766
cfe1288b
VS
37672013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3770 grub_print_error.
3771
e42b9969
VS
37722013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3775 zero-out of port structure.
3776
cf94fd62
VS
37772013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3780 of extended attributes.
3781
f81ef4b5
AB
37822013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3783
3784 * util/grub-install.in: change misleading comment about
3785 device.map creation
3786
af18fdb4
VS
37872013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3790 when menu highlight color isn't set.
3791
08bcec50
M
37922013-01-27 C. Masloch <pushbx@38.de>
3793
3794 Improve FreeDOS direct loading support compatibility.
3795
3796 * include/grub/i386/relocator.h (grub_relocator16_state):
3797 New member ebp.
3798 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3799 variable.
3800 (grub_relocator16_boot): Handle %ebp.
3801 * grub-core/lib/i386/relocator16.S: Likewise.
3802 * grub-core/loader/i386/pc/freedos.c:
3803 Load BPB to pass kernel which partition to load from.
3804 Check that kernel file is not too large.
3805 Set register dl to BIOS unit number as well.
3806
7782b8a6
CW
38072013-01-22 Colin Watson <cjwatson@ubuntu.com>
3808
3809 * util/grub-reboot.in (usage): Document the need for
3810 GRUB_DEFAULT=saved.
3811 * util/grub-set-default.in (usage): Likewise.
3812 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3813
e661c180
VS
38142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3817 than defining WORDS_BIGENDIAN manually.
3818
1c22ca9a
VS
38192013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3822 invariants.
3823
d44892fe
CW
38242013-01-21 Colin Watson <cjwatson@ubuntu.com>
3825
3826 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3827 nested.
3828 (blit_comb: add_device_width): Likewise.
3829
5fdbaed1
CW
38302013-01-21 Colin Watson <cjwatson@ubuntu.com>
3831
3832 Remove nested functions from USB iterators.
3833
3834 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3835 (grub_usb_controller_iterate_hook_t): Likewise.
3836 (grub_usb_iterate): Add hook_data argument.
3837 (grub_usb_controller_iterate): Likewise.
3838 (struct grub_usb_controller_dev.iterate): Likewise.
3839
3840 Update all implementations and callers.
3841
4250985a
VS
38422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3845 margin when not needed.
3846
7d8848f3
VS
38472013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3848
bc136973 3849 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3850
38512013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3852
bc136973
VS
3853 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3854 asterisk.
7d8848f3 3855
ed12a003
CW
38562013-01-21 Colin Watson <cjwatson@ubuntu.com>
3857
3858 Fix powerpc and sparc64 build failures caused by un-nesting memory
3859 map iterators.
3860
6a0db449
CW
38612013-01-21 Colin Watson <cjwatson@ubuntu.com>
3862
3863 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3864 parameter declarations.
3865
ccd86b21
VS
38662013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3869
822b726b
VS
38702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 Improve spkmomdem reliability by adding a separator between bytes.
3873
115c2cc1
CW
38742013-01-21 Colin Watson <cjwatson@ubuntu.com>
3875
3876 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3877 an Acer registration utility with several sightings in the wild.
3878 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3879
fc524edf
CW
38802013-01-21 Colin Watson <cjwatson@ubuntu.com>
3881
3882 Remove nested functions from filesystem directory iterators.
3883
3884 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3885 (struct grub_fs.dir): Add hook_data argument.
3886
3887 Update all implementations and callers.
3888
53d3e4e3
CW
38892013-01-21 Colin Watson <cjwatson@ubuntu.com>
3890
3891 * docs/grub.texi (Multi-boot manual config): Fix typo for
3892 "recommended".
3893
c821711f
LL
38942013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3895
3896 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3897 until after its use in generate_image.
3898
6a0debbd
CW
38992013-01-20 Colin Watson <cjwatson@ubuntu.com>
3900
3901 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3902 initrd size to addr_min, since the initrd will be allocated after
3903 this address.
3904
f41e08db
AB
39052013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3906
3907 * conf/Makefile.common: Fix autogen rules to pass definition
3908 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3909
77529e0f
LL
39102013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3911
3912 * include/grub/elf.h: Update ARM definitions based on binutils.
3913
b879aa7b
VS
39142013-01-20 Aleš Nesrsta <starous@volny.cz>
3915
3916 Split long USB transfers into short ones.
3917
8eb8284d
AB
39182013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3919
3920 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3921 is interrupted by ESC.
3922
08dad2dc
VS
39232013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * util/grub-script-check.c (main): Uniform the error message.
3926
6c724b85
CW
39272013-01-20 Colin Watson <cjwatson@ubuntu.com>
3928
3929 Remove nested functions from ELF iterators.
3930
25239370
CW
39312013-01-20 Colin Watson <cjwatson@ubuntu.com>
3932
3933 Remove nested functions from device iterators.
3934
3935 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3936 (grub_arc_iterate_devs): Add hook_data argument.
3937 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3938 (struct grub_ata_dev.iterate): Add hook_data argument.
3939 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3940 (grub_device_iterate): Add hook_data argument.
3941 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3942 (struct grub_disk_dev.iterate): Add hook_data argument.
3943 (grub_disk_dev_iterate): Likewise.
3944 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3945 Likewise.
3946 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3947 Likewise.
3948 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3949 type.
3950 (struct grub_partition_map.iterate): Add hook_data argument.
3951 (grub_partition_iterate): Likewise.
3952 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3953 (struct grub_scsi_dev.iterate): Add hook_data argument.
3954
3955 Update all callers.
3956
6c0314d6
CW
39572013-01-20 Colin Watson <cjwatson@ubuntu.com>
3958
3959 Fix typos for "developer" and "development".
3960
600dc5f1
VS
39612013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 Add license header to spkmodem-recv.c.
3964
17334a6b
VS
39652013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Rewrite spkmodem to use PIT for timing. Double the speed.
3968
7d462559
VS
39692013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Add new command pcidump.
3972
b78d6c32
VS
39732013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 New terminal outputs using serial: morse and spkmodem.
3976
34f71cb8
VS
39772013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 Improve bidi handling in entry editor.
3980
4542e71b
VS
39812013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3984 argument to prevent name collision.
3985
09fd6d82
CW
39862013-01-15 Colin Watson <cjwatson@ubuntu.com>
3987
3988 Remove nested functions from script reading and parsing.
3989
3990 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3991 getline_data argument, passed to getline.
3992 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3993 getline_data argument, passed to grub_parser_split_cmdline.
3994 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3995 lexerstate->getline_data to lexerstate->getline.
3996 (grub_script_lexer_init): Add getline_data argument, saved in
3997 lexerstate->getline_data.
3998 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3999 argument, passed to grub_script_parse.
4000 * grub-core/script/script.c (grub_script_parse): Add getline_data
4001 argument, passed to grub_script_lexer_init.
4002 * include/grub/parser.h (grub_parser_split_cmdline): Update
4003 prototype. Update all callers to pass appropriate getline data.
4004 (struct grub_parser.parse_line): Likewise.
4005 (grub_rescue_parse_line): Likewise.
4006 * include/grub/reader.h (grub_reader_getline_t): Add void *
4007 argument.
4008 * include/grub/script_sh.h (struct grub_lexer_param): Add
4009 getline_data member.
4010 (grub_script_parse): Update prototype. Update all callers to pass
4011 appropriate getline data.
4012 (grub_script_lexer_init): Likewise.
4013 (grub_normal_parse_line): Likewise.
4014
4015 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4016 data argument.
4017 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4018 static instead of nested. Rename to ...
4019 (grub_parser_execute_getline): ... this.
4020 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4021 data argument.
4022 * grub-core/normal/main.c (read_config_file: getline): Make static
4023 instead of nested. Rename to ...
4024 (read_config_file_getline): ... this.
4025 (grub_normal_read_line): Add unused data argument.
4026 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4027 getline): Make static instead of nested. Rename to ...
4028 (grub_script_execute_sourcecode_getline): ... this.
4029 * util/grub-script-check.c (main: get_config_line): Make static
4030 instead of nested.
4031
d0d4b8a0
CW
40322013-01-15 Colin Watson <cjwatson@ubuntu.com>
4033
4034 Remove nested functions from memory map iterators.
4035
4036 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4037 argument, passed to hook.
4038 * grub-core/kern/i386/coreboot/mmap.c
4039 (grub_linuxbios_table_iterate): Likewise.
4040 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4041 instead of nested.
4042 (grub_machine_mmap_iterate): Add hook_data argument.
4043 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4044 Add hook_data argument, passed to hook.
4045 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4046 Likewise.
4047 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4048 Likewise.
4049 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4050 Likewise.
4051 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4052 Likewise.
4053 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4054 Likewise.
4055 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4056 Likewise.
4057 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4058 (grub_machine_mmap_iterate): Likewise.
4059 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4060 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4061 prototype.
4062 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4063 Remove NESTED_FUNC_ATTR from here and from all users.
4064 (grub_mmap_iterate): Update prototype.
4065 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4066 pass appropriate hook data.
4067 (grub_machine_mmap_iterate): Likewise.
4068
4069 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4070 static instead of nested.
4071 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4072 Rename to ...
4073 (lsmmap_hook): ... this.
4074 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4075 Likewise.
4076 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4077 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4078 heap_init): Likewise.
4079 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4080 Rename to ...
4081 (mmap_iterate_hook): ... this.
4082 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4083 Likewise.
4084 * grub-core/lib/ieee1275/relocator.c
4085 (grub_relocator_firmware_get_max_events: count): Likewise.
4086 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4087 to ...
4088 (grub_relocator_firmware_fill_events_iter): ... this.
4089 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4090 hook): Likewise. Rename to ...
4091 (grub_relocator_alloc_chunk_align_iter): ... this.
4092 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4093 Rename to ...
4094 (generate_e820_mmap_iter): ... this.
4095 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4096 Rename to ...
4097 (count_hook): ... this.
4098 (grub_linux_boot: hook): Likewise. Rename to ...
4099 (grub_linux_boot_mmap_find): ... this.
4100 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4101 (grub_linux_boot_mmap_fill): ... this.
4102 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4103 hook): Likewise. Rename to ...
4104 (grub_fill_multiboot_mmap_iter): ... this.
4105 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4106 hook): Likewise. Rename to ...
4107 (count_hook): ... this.
4108 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4109 hook): Likewise. Rename to ...
4110 (grub_fill_multiboot_mmap_iter): ... this.
4111 * grub-core/loader/powerpc/ieee1275/linux.c
4112 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4113 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4114 Likewise. Rename to ...
4115 (alloc_phys_choose): ... this.
4116 (determine_phys_base: get_physbase): Likewise.
4117 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4118 find_hook): Likewise.
4119 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4120 (malloc_hook: count_hook): Likewise.
4121 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4122 Likewise. Rename to ...
4123 (lower_hook): ... this.
4124 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4125 (upper_hook): ... this.
4126 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4127 (post64_hook): ... this.
4128 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4129 Likewise. Rename to ...
4130 (lower_hook): ... this.
4131 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4132 (upper_hook): ... this.
4133 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4134 (grub_mmap_iterate: fill_hook): Likewise.
4135 (fill_mask): Pass addr and mask within a single struct.
4136 (grub_cmd_badram: hook): Make static instead of nested. Rename
4137 to ...
4138 (badram_iter): ... this.
4139 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4140 (cutmem_iter): ... this.
4141
22099030
VS
41422013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4145 delimit path in strings using quotes.
4146 * util/getroot.c (grub_guess_root_devices): Likewise.
4147 (grub_make_system_path_relative_to_its_root): Likewise.
4148 * util/grub-probe.c (probe): Likewise.
4149 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4150 (xrealpath): Likewise.
4151
4a9950ec
VS
41522013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 Fix compilation with older compilers.
4155
4156 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4157 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4158 declarations.
4159 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4160 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4161 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4162 identifier with b.
4163 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4164 * include/grub/crypto.h: Add type defines.
4165 * util/import_gcrypth.sed: Remove duplicate type defines.
4166
adcc6020
VS
41672013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 New command list_trusted.
4170
4171 * grub-core/commands/verify.c (grub_cmd_list): New function.
4172
a4528937
CW
41732013-01-13 Colin Watson <cjwatson@ubuntu.com>
4174
4175 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4176 info message.
4177
ca3a7446
CW
41782013-01-13 Colin Watson <cjwatson@ubuntu.com>
4179
4180 Remove nested functions from PCI iterators.
4181
4182 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4183 passed to hook. Update all callers to pass appropriate hook data.
4184 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4185 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4186 Remove NESTED_FUNC_ATTR from here and from all users.
4187 (grub_pci_iterate): Update prototype.
4188 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4189 instead of nested. Rename to ...
4190 (grub_cs5536_find_iter): ... this.
4191 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4192 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4193 Likewise.
4194 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4195 Likewise.
4196 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4197 Likewise.
4198 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4199 Likewise.
4200 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4201 * grub-core/video/radeon_fuloong2e.c
4202 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4203 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4204 find_card): Likewise.
4205 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4206 Likewise.
4207
f8e98fee
VS
42082013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/commands/verify.c: Mark messages for translating.
4211
055b36b6
VS
42122013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4215 fatal.
4216
f7ff879b
VS
42172013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4220 fatal.
4221
42222013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4223
4224 * autogen.sh: Do not try to delete nonexistant files.
4225 * util/import_gcrypth.sed: Add some missing header removals.
4226
01323d49
CW
42272013-01-12 Colin Watson <cjwatson@ubuntu.com>
4228
4229 Clean up dangling references to grub-setup.
4230 Fixes Ubuntu bug #1082045.
4231
4232 * docs/grub.texi (Images): Refer generally to grub-install rather
4233 than directly to grub-setup.
4234 (Installing GRUB using grub-install): Remove direct reference to
4235 grub-setup.
4236 (Device map) Likewise.
4237 (Invoking grub-install): Likewise.
4238 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4239 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4240 * util/grub-install.in (usage): Likewise.
4241
4242 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4243 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4244 grub-setup.
4245 * configure.ac: Remove grub_setup output variable.
4246
4247 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4248 to grub-bios-setup.
4249 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4250 grub-setup to grub-sparc64-setup.
4251
5e3b8dcb
VS
42522013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 Import gcrypt public-key cryptography and implement signature checking.
4255
535714bd
VS
42562013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/fs/ntfs.c: Ue more appropriate types.
4259 * grub-core/fs/ntfscomp.c: Likewise.
4260 * include/grub/ntfs.h: Likewise.
4261
3e4f3566
VS
42622013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 Support Apple FAT binaries on non-Apple platforms.
4265
4266 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4267 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4268 Likewise.
4269 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4270 Apple FAT binaries.
4271
4dedb13f
VS
42722013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4275 sector devices.
4276
f8861eaf
CW
42772013-01-07 Colin Watson <cjwatson@ubuntu.com>
4278
4279 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4280 explicitly zeroing elements.
4281 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4282 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4283 of elements in a structure already allocated using grub_zalloc.
4284 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4285
86065b0a
CW
42862013-01-07 Colin Watson <cjwatson@ubuntu.com>
4287
4288 * docs/grub.texi (grub_cpu): New subsection.
4289 (grub_platform): Likewise.
4290
c6f1e92f
VS
42912013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4294
f797ec85
VS
42952013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4298 divisions.
4299
033d0b4b
VS
43002013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4303 * grub-core/fs/ntfscomp.c: Likewise.
4304 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4305 (grub_ntfs_comp): Likewise.
4306
21d1b9a0
VS
43072013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4310 Rename to ...
4311 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4312 of groups_per_block. All users updated.
4313
10ca8645
VS
43142013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4317 grub_error properly.
4318 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4319 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4320
a4c3ed4c
VS
43212013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4324 always in /boot/zfs.
4325 Reported by: Yuta Satoh.
4326
0b716507
YS
43272013-01-03 Yuta Satoh <nigoro>
4328
4329 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4330 ${grub_probe}
4331
00c05e22
VS
43322013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * configure.ac: Extend -Wno-trampolines to host.
4335
dadddb76
VS
43362013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4339 entry->len = 0.
4340
54ce53ca
CW
43412013-01-03 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4344 (Invoking grub-script-check): Likewise.
4345
8912efca
CW
43462013-01-03 Colin Watson <cjwatson@ubuntu.com>
4347
4348 * docs/grub.texi (Invoking grub-mount): New section.
4349 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4350
c3fc8394
CW
43512013-01-02 Colin Watson <cjwatson@ubuntu.com>
4352
4353 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4354 test failures, so that a failing unit test correctly causes 'make
4355 check' to fail.
4356
45d26abb
CW
43572013-01-02 Colin Watson <cjwatson@ubuntu.com>
4358
4359 Fix failing printf test.
4360
4361 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4362 '$' in the correct order when collecting type information.
4363
971dd2c6
CW
43642013-01-02 Colin Watson <cjwatson@ubuntu.com>
4365
4366 * docs/grub.texi (configfile): Explain environment variable
4367 handling.
4368 (source): New section.
4369 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4370
5c67ea6c
CW
43712012-12-31 Colin Watson <cjwatson@ubuntu.com>
4372
4373 Remove several trivially-unnecessary uses of nested functions.
4374
4375 * grub-core/commands/i386/pc/sendkey.c
4376 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4377 instead of nested.
4378 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4379 Rename to ...
4380 (legacy_file_getline): ... this.
4381 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4382 Likewise.
4383 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4384 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4385 to ...
4386 (probe_dummy_iter): ... this.
4387 * grub-core/kern/i386/coreboot/mmap.c
4388 (grub_linuxbios_table_iterate: check_signature): Likewise.
4389 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4390 check_varstate): Likewise. Mark inline.
4391 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4392 an additional parameter.
4393 (find_long: fnd_long): Likewise. Pass two additional parameters.
4394 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4395 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4396 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4397 Likewise. Rename to ...
4398 (grub_cmos_find_port_iter): ... this.
4399 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4400 Rename to ...
4401 (find_rtc_iter): ... this.
4402
4403 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4404 function directly into the function body, since it is only called
4405 once.
4406
33a68ac6
CW
44072012-12-30 Colin Watson <cjwatson@ubuntu.com>
4408
4409 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4410 __attribute__ ((unused)).
4411 * grub-core/video/bochs.c (find_card): Likewise.
4412 * grub-core/video/cirrus.c (find_card): Likewise.
4413 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4414 * grub-core/video/sis315pro.c (find_card): Likewise.
4415 * grub-core/video/sm712.c (find_card): Likewise.
4416
608b647a
CW
44172012-12-28 Colin Watson <cjwatson@ubuntu.com>
4418
4419 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4420 Fixes Savannah bug #37821.
4421
fd49ceb3
CW
44222012-12-28 Colin Watson <cjwatson@ubuntu.com>
4423
4424 Apply program name transformations at build-time rather than at
4425 run-time. Fixes Debian bug #696465.
4426
4427 * acinclude.m4 (grub_TRANSFORM): New macro.
4428 * configure.ac: Create output variables with transformed names for
4429 most programs.
4430 * util/bash-completion.d/grub-completion.bash.in: Use
4431 pre-transformed variables for program names.
4432 * util/grub-install.in: Likewise.
4433 * util/grub-kbdcomp.in: Likewise.
4434 * util/grub-mkconfig.in: Likewise.
4435 * util/grub-mkconfig_lib.in: Likewise.
4436 * util/grub-mknetdir.in: Likewise.
4437 * util/grub-mkrescue.in: Likewise.
4438 * util/grub-mkstandalone.in: Likewise.
4439 * util/grub-reboot.in: Likewise.
4440 * util/grub-set-default.in: Likewise.
4441 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4442 * tests/util/grub-shell-tester.in: Remove unused assignment.
4443 * tests/util/grub-shell.in: Likewise.
4444 * util/grub.d/00_header.in: Likewise.
4445
7024b3c0
CW
44462012-12-28 Colin Watson <cjwatson@ubuntu.com>
4447
4448 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4449
4450 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4451 HAVE_RAW_DECL_GETS.
4452 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4453
e3501b13
VS
44542012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4457 Reported by: Eriks Latosheks <foresterlv>.
4458
b40c88a9
VS
44592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * docs/grub.texi (Network): Update instructions on generating netboot
4462 image.
4463
ce96d01c
VS
44642012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4467 around device name if necessarry.
4468
0f596201
PFS
44692012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4470
4471 * util/grub-install.in: Follow the symbolic link parameter added
4472 to the file command.
4473
600d5bdb
AB
44742012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4475
4476 * util/grub-install.in: Remove stale TODO.
4477
64ebd2f4
PFS
44782012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4479
4480 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4481 dynamic allocation for the bootpath buffer.
4482
74b2fe3e
DTB
44832012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4484
4485 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4486 window too small.
4487
969b804f
VS
44882012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4491 argument rather than font name. All users updated.
4492 (grub_gfxterm_set_window): Likewise.
4493
b9f5ebd6
VT
44942012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4495
4496 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4497 from working.
4498
258f43b7
VS
44992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * util/getroot.c (convert_system_partition_to_system_disk): Support
4502 nbd disks.
4503
cc1ce5f9
VS
45042012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4507 infinite loop on corrupted FS.
4508
e77a16ca
VS
45092012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Fix big-endian mtime.
4512
4513 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4514 together sec and usec.
4515 (grub_ufs_dir): Use correct byteswapping for UFS time.
4516
d9c48c7b
VS
45172012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 Support big-endian UFS1.
4520
4521 * Makefile.util.def (libgrubmods): Add ufs_be.c
4522 * grub-core/Makefile.core.def (ufs1_be): New module.
4523 * grub-core/fs/ufs_be.c: New file.
4524 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4525 the file.
4526
2f9f40ba
LL
45272012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4528
4529 * include/grub/types.h: Fix functionality unaffecting typo in
4530 GRUB_TARGET_WORDSIZE conditional macro.
4531
48ff0889
PFS
45322012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4533
4534 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4535
03711240
GS
45362012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4537
4538 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4539 that /netbsd appears first (when it exists).
4540
a31b11bd
CJ
45412012-10-12 Christoph Junghans <ottxor@gentoo.org>
4542
4543 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4544 Fixes Savannah bug #37558.
4545
e8a5d5d4
CW
45462012-10-12 Colin Watson <cjwatson@ubuntu.com>
4547
4548 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4549 description of extract_entries_configfile.
4550
45512012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4552
4553 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4554 preferred_address.
4555 (grub_cmd_linux): Likewise.
4556 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4557 preferred_lifetime. Update all users.
4558
288c757d
CW
45592012-09-26 Colin Watson <cjwatson@ubuntu.com>
4560
4561 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4562 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4563
0d35da3f
CW
45642012-09-26 Colin Watson <cjwatson@ubuntu.com>
4565
4566 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4567 errors from grub-probe to /dev/null, not stdout.
4568
b78c3127
VS
45692012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4572 sector 1.
4573
473959f0
CW
45742012-09-24 Colin Watson <cjwatson@ubuntu.com>
4575
4576 * util/grub-install.in: Make the error message if $source_dir
4577 doesn't exist more useful.
4578
794c8c33
CW
45792012-09-22 Colin Watson <cjwatson@ubuntu.com>
4580
4581 Fix grub-emu build on FreeBSD.
4582
4583 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4584 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4585 headers on Linux.
4586 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4587 implementation is currently Linux-specific.
4588 * util/getroot.c (exec_pipe): Define only on Linux or when either
4589 libzfs or libnvpair is unavailable.
4590 (find_root_devices_from_poolname): Remove unused path variable.
4591
86d08fdb
CW
45922012-09-19 Colin Watson <cjwatson@ubuntu.com>
4593
4594 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4595 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4596 should fit before end == 63.
4597
735abf54
CW
45982012-09-19 Colin Watson <cjwatson@ubuntu.com>
4599
4600 * util/grub-setup.c (write_rootdev): Remove unused core_img
4601 parameter. Update all callers.
4602 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4603 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4604 GRUB_SETUP_BIOS.
4605
140acd3c
VS
46062012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4609 (grub_add_tab): New function.
4610 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4611 * util/grub.d/10_illumos.in: Likewise.
4612 * util/grub.d/10_kfreebsd.in: Likewise.
4613 * util/grub.d/10_linux.in: Likewise.
4614 * util/grub.d/10_netbsd.in: Likewise.
4615 * util/grub.d/10_windows.in: Likewise.
4616 * util/grub.d/10_xnu.in: Likewise.
4617 * util/grub.d/20_linux_xen.in: Likewise.
4618 * util/grub.d/30_os-prober.in: Likewise.
4619
7ddffdad
VS
46202012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4623 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4624 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4625 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4626 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4627 ieee1275-nocursor.
4628 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4629 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4630
4e092454
VS
46312012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4634 le-conversion.
4635 Reported by: BURETTE, Bernard.
4636
735abf54 46372012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4638
4639 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4640 from comment.
4641
dfd39dbd
CW
46422012-09-14 Colin Watson <cjwatson@ubuntu.com>
4643
4644 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4645 IEEE1275 machines. Fixes powerpc-emu compilation.
4646 * include/grub/terminfo.h: Likewise.
4647
3bfa763c
VS
46482012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4651 a const pointer.
4652 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4653 const pointer.
4654 (efiemu_set_variable): Make vendor_guid a const pointer.
4655
250e475b
VS
46562012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Don't require grub-mkconfig_lib to generate manpages for programs.
4659
4660 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4661 dependencies, don't add grub-mkconfig_lib.
4662 (program): Pass empty adddeps.
4663 (script): Pass grub-mkconfig_lib as adddeps.
4664
592fd0e4
VS
46652012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4668 * util/getroot.c (grub_find_device): Likewise.
4669 (get_mdadm_uuid): Likewise.
4670 (grub_util_is_imsm): Likewise.
4671 (grub_util_pull_device): Likewise.
4672 * util/grub-probe.c (probe): Likewise.
4673
801a3027
BG
46742012-09-10 Benoit Gschwind <gschwind>
4675
4676 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4677 (devs): Add devpath_8.
4678
c5052c81
PJ
46792012-09-08 Peter Jones <pjones@redhat.com>
4680
4681 * grub-core/Makefile.core.def (efifwsetup): New module.
4682 * grub-core/commands/efi/efifwsetup.c: New file.
4683 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4684 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4685 New define.
4686 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4687
8e832f71
JS
46882012-09-05 Jiri Slaby <jslaby@suse.cz>
4689
4690 * configure.ac: Add SuSe path.
4691
f0f55752
CW
46922012-09-05 Colin Watson <cjwatson@ubuntu.com>
4693
4694 * NEWS: Fix typo.
4695
ecadc4c2
CW
46962012-09-05 Colin Watson <cjwatson@ubuntu.com>
4697
4698 * util/import_gcry.py: Sort cipher_files, to make build system
4699 generation more deterministic.
4700
64498f25
VS
47012012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4704 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4705 (grub_set_datetime): Likewise.
4706
9cc836a2
VS
47072012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4710 warnings.
4711
bcfcea01
VS
47122012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4715
a4099485
VS
47162012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4719
265c162a
CW
47202012-09-04 Colin Watson <cjwatson@ubuntu.com>
4721
4722 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4723 required for checkouts from bzr, but it may be useful for users or
4724 distributors wishing to update translations against a tarball
4725 distribution, and it can be helpful for the tarball to be a superset
4726 of what's in bzr.
4727
3d171e95
CW
47282012-09-04 Colin Watson <cjwatson@ubuntu.com>
4729
4730 * Makefile.am (EXTRA_DIST): Add
4731 grub-core/tests/boot/linux.init-mips.S,
4732 grub-core/tests/boot/linux.init-ppc.S, and
4733 grub-core/tests/boot/linux-ppc.cfg.
4734
f2c2503e
CW
47352012-09-04 Colin Watson <cjwatson@ubuntu.com>
4736
4737 * grub-core/mmap/mips/loongson: Remove empty directory.
4738
47392012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4740
4741 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4742 gone.
4743
ab2163d5
CW
47442012-09-04 Colin Watson <cjwatson@ubuntu.com>
4745
4746 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4747 grub-sparc64-setup.
4748
ce938140
GS
47492012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4750
4751 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4752
529f58a5
GS
47532012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4754
4755 * po/POTFILES.in: Regenerated.
4756
16cf79e9
GS
47572012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4758
4759 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4760 (NetBSD): New subsection.
4761
39b27f1e 47622012-07-22 Ales Nesrsta <starous@volny.cz>
4763
4764 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4765 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4766
a885261b
VS
47672012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4770 * util/grub.d/10_hurd.in: Add missing quoting.
4771 * util/grub.d/10_illumos.in: Likewise.
4772 * util/grub.d/10_kfreebsd.in: Likewise.
4773 * util/grub.d/10_linux.in: Likewise.
4774 * util/grub.d/20_linux_xen.in: Likewise.
4775
7bd29c01
VS
47762012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 New command `lsefi'.
4779
4780 * grub-core/Makefile.core.def (lsefi): New module.
4781 * grub-core/commands/efi/lsefi.c: New file.
4782 * include/grub/efi/api.h: Add more GUIDs.
4783
ac625d8f
VS
47842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4787 (grub_bsd_elf32_hook): Likewise.
4788 (grub_bsd_elf64_size_hook): Likewise.
4789 (grub_bsd_elf64_hook): Likewise.
4790 (grub_bsd_load_elf): Likewise.
4791
e73bb801
VS
47922012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4795 if hash function is unavailable.
4796 (dec_stream_header): Likewise.
4797
e81db8b5
VS
47982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4801 filter state.
4802
d187a1c3
VS
48032012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Fix coreboot compilation.
4806
4807 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4808 (grub_vga_text_init_real): ... this.
4809 (grub_vga_text_fini): Rename to ...
4810 (grub_vga_text_fini_real): ... this.
4811
91a05f64
VS
48122012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4815
6af96df7
VS
48162012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/lib/legacy_parse.c: Support clear and testload.
4819
4d569e12
VS
48202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4823
073b57bb
VS
48242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4827
a706f4cc
VS
48282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/net/tftp.c (ack): Fix endianness problem.
4831 (tftp_receive): Likewise.
4832 Reported by: Michael Davidsaver.
4833
e7850aa9
VS
48342012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4837
48382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4841 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4842 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4843
35692881
VS
48442012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4847 efi_mmap_size.
4848 Reported by: Stuart Hayes.
4849
c35fc5bd
VS
48502012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4853
4854 * grub-core/Makefile.core.def (mda_text): New module.
4855 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4856 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4857 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4858 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4859 here.
4860 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4861 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4862 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4863 here.
4864 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4865 to ..
4866 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4867 ... here
4868 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4869 here.
4870 * grub-core/term/i386/vga_common.c: Removed.
4871 * include/grub/i386/vga_common.h: Likewise.
4872 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4873 (grub_vga_cr_bw_read): Likewise.
4874 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4875 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4876 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4877 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4878 grub_vga_cr_read/grub_vga_cr_write.
4879 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4880
5f91f701
VS
48812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * configure.ac: Bump version to 2.00.
4884 * grub-core/normal/main.c (features): Add feature_200_final.
4885
0c4f85f6
VS
48862012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
48872012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4888
4889 * NEWS: Fix unclarity and language mistakes.
4890
f923ad22
VS
48912012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4894 additional size to 3 pages.
4895 Reported by: Stuart Hayes.
4896
d22029ba
VS
48972012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * NEWS: Add 2.00 entry.
4900
58eee08f
VS
49012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4904 put explicit "/" for empty path.
4905 (wildcard_expand): Improve dprintf.
4906
c59bdff7
VS
49072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4910 it's equal to currnode. This can happen with "" symlink.
4911
5e6a440a
YB
49122012-06-27 Yves Blusseau <blusseau@zetam.org>
4913
4914 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4915 echo shell command by printf command.
4916
73a68bcb
VS
49172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4920 the value returned by firmware is the maximal position, not diumension.
4921 (grub_terminfo_output_state): Use a more sane fallback.
4922
392a603b
VS
49232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4926
42d0867f
VS
49272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4930 frequency to 150 MHz.
4931
489509f4
VS
49322012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 Apple fixes.
4935
4936 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4937 __APPLE_
4938 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4939 definition.
4940 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4941
9f3fc883
VS
49422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 Handle slash in HFS label.
4945
4946 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4947 (grub_hfs_dir): Tanslate slash.
4948 (grub_hfs_label): Don't translate slash.
4949
54853fd7
VS
49502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4953 network protocol listing since it introduces problematic dependency on
4954 net module.
4955
4dc02ddf
VS
49562012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4959
c50c867d
VS
49602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 Init video early on yeeloong to avoid being rebooted by watchdog.
4963
4964 * grub-core/Makefile.am (gensm712): New target.
4965 (sm712_start.S): Likewise.
4966 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4967 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4968 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4969 description.
4970 * include/grub/vga.h: Move registry definitions to...
4971 * include/grub/vgaregs.h: ... here.
4972
5f92c8a1
VS
49732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4976 signedness.
4977
e9e6f111
VS
49782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4981 platforms with firmware disk drivers in the core.
4982
754ad9eb
VS
49832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4986 informative verbose message.
4987 (read_lv): Handle 64-bit segment size.
4988
315654c2
VS
49892012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4992
fb022c79
VS
49932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4996 character but still remove trainling spaces.
4997 (grub_fat_label): Ignore archive flag.
4998
8645f72c
VS
49992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5002 cast between linux_kernel_header and linux_kernel_params.
5003
36498496
VS
50042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5007 type for size.
5008 (grub_raid6_recover_func_t): Likewise.
5009 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5010 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5011
0b5ea6b8
VS
50122012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5015
650cfcfe
GS
50162012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5017
5018 Fix overflow.
5019
5020 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5021 [__NetBSD__]: Add explicit cast before bitshift.
5022
8a4d6a44
VS
50232012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * configure.ac: Bump to 2.00~rc1.
5026
2fb97ed3
VS
50272012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5030 half of $a0.
5031
1fa097dc
VS
50322012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
50332012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5034
5035 * docs/grub.texi: Fix search syntax.
5036 (Multi-boot manual config): Put msdos rather than GPT example.
5037 Grammar corrections.
5038
c890ba78
VS
50392012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5042
0f92dca7
VS
50432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5046
3988c4a0
VS
50472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5050 message on double free. Put the value of magic in case of mismatch.
5051
9e86d4c5
VS
50522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Speed-up video on yeeloong.
5055
5056 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5057 add cached_ptr.
5058 (grub_video_sm712_video_fini): Unmap cached_ptr.
5059 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5060 (grub_video_sm712_set_active_render_target): Removed.
5061 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5062 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5063 sync caches.
5064
ed24c312
VS
50652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 Avoid flushing the same line multiple times on loongson.
5068
5069 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5070 Step in 32 bytes and not 1 byte.
5071 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5072 Likewise.
5073
d1718e7d
VS
50742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5077 subvolumes.
5078
982f1909
VS
50792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Implement flow control for http.
5082
5083 * grub-core/net/http.c (parse_line): Handle response 206.
5084 (http_receive): Stall if too many packets are in the queue.
5085 (http_establish): Fix range header.
5086 (http_seek): Fix double free.
5087 (http_close): Likewise.
5088 (http_packets_pulled): New function.
5089 (grub_http_protocol): Set http_seek
5090 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5091 (ack_real): Set window depending on i_stall.
5092 (grub_net_send_tcp_packet): Likewise.
5093 (grub_net_tcp_stall): New function.
5094 (grub_net_tcp_unstall): Likewise.
5095 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5096 (grub_net_tcp_unstall): Likewise.
5097
bd407d6e
VS
50982012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5101
c7564b8e
VS
51022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5105
a3706162
VS
51062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * tests/util/grub-shell.in: Fix a typo.
5109
b27069e0
VS
51102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Implement flow control for tftp.
5113
5114 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5115 packets but stop only if stop condition is satisfied.
5116 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5117 `stall' instead of `eof' as stop condition.
5118 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5119 (http_err): Likewise.
5120 * grub-core/net/tftp.c (ack): Replace the first argument with data
5121 instead of socket.
5122 (tftp_receive): Stall if too many packets are in wait queue.
5123 (tftp_packets_pulled): New function.
5124 (grub_tftp_protocol): Set packets_pulled.
5125 * include/grub/net.h (grub_net_packets): New field count.
5126 (grub_net_put_packet): Increment count.
5127 (grub_net_remove_packet): Likewise.
5128 (grub_net_app_protocol): New field `packets_pulled'.
5129 (grub_net): New field `stall'.
5130
6b9cfac6
VS
51312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5134 sync part to handle them.
5135
f35abd81
VS
51362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5139 * grub-core/net/drivers/ieee1275/ofnet.c
5140 (grub_ieee1275_net_config_real): Likewise.
5141
0e7ec820
VS
51422012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5145 the direct route for server/gateway.
5146
9d611a31
VS
51472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5150 IP address to server name since we may not hame the DNS.
5151
418f45ab
VS
51522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5155 freeing random buffer on failure.
5156 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5157
44a0efc1
VS
51582012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5161
531e2241
VS
51622012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5165 reserved bytes.
5166 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5167 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5168 Handle malloc error correctly.
5169
cde393c9
VS
51702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5173 blocks.
5174
538478d0
VS
51752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5178 increment.
5179
9b55efe0
VS
51802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5183 none is explicitly specified.
5184
9eb832c3
VS
51852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5188 while reallocating.
5189
d6b7c7c9
VS
51902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 Respect netmask from bootp/dhcp.
5193
5194 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5195 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5196 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5197 into ...
5198 (grub_net_add_ipv4_local): ... this.
5199 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5200 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5201 (grub_net_add_ipv4_local): New proto.
5202
67caf9eb
VS
52032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5206 determining EFI memory map size.
5207
43657558
VS
52082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5211
eb6d0dd3
VS
52122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5215 when looking for partition separator.
5216
31230544
VS
52172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5220 Escape commas.
5221
918a2517
VS
52222012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Restructure FAT driver to avoid hook in label reading as it hits a
5225 GCC bug.
5226
5227 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5228 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5229 (grub_fat_iterate_dir): Split into ...
5230 (grub_fat_iterate_init): ... this, ...
5231 (grub_fat_iterate_fini): ... this, ...
5232 (grub_fat_iterate_dir_next): ... and this. All users updated.
5233
9f1d654e
VS
52342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5237 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5238 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5239 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5240 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5241 New fields last_key and last_key_time.
5242 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5243 extended key-esc into extended key-extended key.
5244
52f0f643
VS
52452012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Avoid unnecessary memcpy of whole video buffer.
5248
5249 * grub-core/video/fb/video_fb.c (dirty): New struct.
5250 (framebuffer): Add members current_dirty and previous_dirty.
5251 (dirty): New function.
5252 (grub_video_fb_fill_rect): Update dirty.
5253 (common_blitter): Likewise.
5254 (grub_video_fb_scroll): Likewise.
5255 (doublebuf_blit_update_screen): Copy only dirty part.
5256 (doublebuf_pageflipping_update_screen): Likewise.
5257 (grub_video_fb_doublebuf_blit_init): Init dirty.
5258 (doublebuf_pageflipping_init): Likewise.
5259 (grub_video_fb_setup): Likewise.
5260
e169a180
VS
52612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5264 poll rate.
5265
48556879
VS
52662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Fix wildcard regexp dot and other special characters handling.
5269 Reported by: Robert Mabee.
5270
5271 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5272 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5273 (split_path): Trigger expansion on '?'.
5274 (unescape): New function.
5275 (wildcard_expand): Unescape parts copied without globbing.
5276 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5277 (grub_script_arglist_to_argv): Don't unescape expansions.
5278
0494408e
VS
52792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * include/grub/net.h (grub_net_card): New member txbufsize.
5282 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5283 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5284 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5285 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5286 txbufsize.
5287 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5288 compatible property to check for macs. Set
5289 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5290 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5291 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5292 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5293 (send_card_buffer): Use txbuf.
5294 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5295 nested function out of the parent while on it.
5296
cc35fe8f
VS
52972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5300 presence check.
5301 (grub_ieee1275_net_config_real): Fix config pointer.
5302
970a0a09
VS
53032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5306 filename parsing to non-block devices.
5307
3e19bf87
VS
53082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5311
c62d1a0c
VS
53122012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5315 All users updated.
5316
ef76bec3
VS
53172012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5320 UUID search command even if hints probing failed.
5321
53222012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5323
5324 * po/POTFILES.in: Regenerated.
5325
70aaf305
VS
53262012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 Speed-up video on fuloong.
5329
5330 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5331 New function.
5332 (grub_pci_device_unmap_range): Handle non-cached address.
5333 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5334 add direct_ptr.
5335 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5336 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5337 (grub_video_sis315pro_set_active_render_target): Removed.
5338 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5339 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5340 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5341 sync caches.
5342 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5343 New proto.
5344
10400f0b
VS
53452012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * docs/grub.texi (Multi-boot manual config): New section.
5348
ba67e2c6
VS
53492012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 Avoid slow read-back from VRAM.
5352
5353 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5354 Move from here ...
5355 * grub-core/video/fb/video_fb.c
5356 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5357 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5358 (front_target): Remove front_target. Add pages.
5359 (grub_video_fb_init): Skip setting front_pages.
5360 (grub_video_fb_fini): Likewise.
5361 (doublebuf_blit_update_screen): Use pages.
5362 (grub_video_fb_doublebuf_blit_init): Likewise.
5363 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5364 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5365 (grub_video_fb_setup): Prefer doublebuffing.
5366
377c98cb
VS
53672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5370 gzio.
5371
eac49cff
VS
53722012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 Add loongson tests.
5375
5376 * tests/util/grub-shell.in: Handle loongson.
5377 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5378 drivers.
5379 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5380 Reboot instead of shutdown if REBOOT is defined.
5381
0321415e
VS
53822012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5385 sized ports since unlike on real hardware qemu supports only 32-bit
5386 regs.
5387
3f2bdd8f
VS
53882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5391 * util/grub-mkrescue.in: Handle loongson.
5392
29a049c9
VS
53932012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5396 Set is_part appropriately.
5397 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5398 names. Canonicalize partition without full disk.
5399
4abde346
VS
54002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Revert usb-quiesce since it's wrong.
5403
5404 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5405 (grub_ofdisk_init): Don't do quiesce.
5406
61f1d93b
VS
54072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5410 PowerMac workaround to Xserves as well.
5411 Information supplied by: Benjamin Herrenschmidt.
5412
a09eb541
VS
54132012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Don't assume that beginning address is also the entry point on ppc.
5416
5417 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5418 (grub_linux_boot): Use linux_entry.
5419 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5420 (grub_linux_load64): Likewise.
5421
505b3c9b
VS
54222012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5425
cbe0b4ef
VS
54262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5429 needlessly lose the console.
5430
3006e981
VS
54312012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5434 space.
5435
4e5a96b0
VS
54362012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5437
7da036bb
VS
5438 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5439 than current grub_get_rtc() not implemented when booted with
5440 coreboot without TSC.
5441
5442 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5443 Add machine/time.h to kernel headers on loongson.
5444 * grub-core/Makefile.core.def (kernel): Remove
5445 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5446 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5447 (grub_get_rtc): Likewise.
5448 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5449 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5450 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5451 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5452 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5453 rather than installing known non-working time source.
5454 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5455 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5456 * include/grub/time.h: Don't include machine/time.h.
5457 * include/grub/efi/time.h: Removed.
5458 * include/grub/i386/efi/time.h: Likewise.
5459 * include/grub/i386/ieee1275/time.h: Likewise.
5460 * include/grub/powerpc/ieee1275/time.h: Likewise.
5461 * include/grub/sparc64/ieee1275/time.h: Likewise.
5462 * include/grub/x86_64/efi/time.h: Likewise.
5463
54642012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5467
5468 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5469 value.
5470 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5471 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5472 with dotless variants when any combining above is present.
5473
5561c22d
VS
54742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5477 text and not binary.
5478
96f7e60e
VS
54792012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 Stop polling as soon as we have the packet we were waiting for.
5482
5483 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5484 All users updated.
5485 * grub-core/net/arp.c (have_pending): New var.
5486 (pending_req): Likewise.
5487 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5488 stop indicator.
5489 (grub_net_arp_receive): Set have_pending.
5490 * grub-core/net/dns.c (recv_data): New field stop.
5491 (recv_hook): Set stop.
5492 (grub_net_dns_lookup): Init stop and use as stop condition.
5493 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5494 condition.
5495 * grub-core/net/net.c (grub_net_poll_cards): New argument
5496 stop_condition. Stop when it goes true.
5497 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5498 indicator.
5499 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5500
3e747239
VS
55012012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 Keep TX and RX buffers on EFI rather than always allocate new ones.
5504
5505 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5506 card. All users updated.
5507 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5508 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5509 (get_card_packet): Likewise.
5510 (grub_efinet_findcards): Init new fields.
5511
f695e99a
VS
55122012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5515 compilation error on sparc64.
5516
9e5e66d1
VS
55172012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 Use ITC on IA64 rather than broken routine based on daytime.
5520
5521 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5522 ia64.
5523 (grub_get_rtc) [__ia64__]: Likewise.
5524 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5525 (get_itc): New function.
5526 (grub_rtc_get_time_ms): Likewise.
5527 (grub_machine_init): Calibrate ITC.
5528 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5529 Keep only on non-ia64. Don't export since it's broken and used only
5530 if TSC is unavailable.
5531
a1767404
VS
55322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5535 even if it's used.
5536 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5537 Skip if parent is unused.
5538
34b2bced
VS
55392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5542
5e619f40
VS
55432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 Fix wildcard escaping.
5546
5547 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5548 * grub-core/script/execute.c (wildcard_escape): .. to here.
5549 Don't escape dot.
5550 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5551 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5552 Don't escape dot.
5553 * grub-core/script/execute.c (gettext_append): Always escape.
5554 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5555 * grub-core/script/yylex.l: Don't cut away the escaping.
5556 * tests/grub_script_echo1.in: Add tests with wildcard.
5557
c8ca5855
VS
55582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5561 (ftdi_hw_configure): Likewise.
5562 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5563 define.
5564 (real_config): Handle 1.5 stop bits.
5565 (pl2303_hw_configure): Likewise.
5566
7183452c
VS
55672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * Makefile.am: Add ppc linux bootcheck.
5570 * grub-core/tests/boot/linux-ppc.cfg: New file.
5571 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5572
f57c84cd
VS
55732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * tests/grub_script_expansion.in: Skip network protocols.
5576
ecfc6207
VS
55772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5580
8d03d284
VS
55812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5584 --rom-directory.
5585 Add -graft-points.
5586
61c42af0
VS
55872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 ESCC serial driver for conducting sautomated tests in qemu.
5590 Not tested on real hardware.
5591
5592 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5593 * grub-core/term/ieee1275/escc.c: New file.
5594 * grub-core/Makefile.core.def (escc): New module.
5595
08fd1291
VS
55962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5599 invalid on error.
5600 (serial_hw_fetch): Don't read invalid handle.
5601 (serial_hw_put): Don't write into invalid handle.
5602
08dafeea
VS
56032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 Add a 1.5 stop bits value.
5606
5607 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5608 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5609 GRUB_SERIAL_STOP_BITS_1_5.
5610
9068fdcf
VS
56112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5614 value rather than let it uninited.
5615
f4d5820f
VS
56162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/commands/wildcard.c (+check_file): New function.
5619 (wildcard_expand): Don't expand to non-existing files, expand with
5620 suffix and not attempt to expand if not needed.
5621
3d2de9a7
VS
56222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5625 out of partitions containing other partitions.
5626
c5c81ff9
VS
56272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5630 on some qemu versions with GRUB.
5631
5632 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5633 define.
5634 (grub_openbsd_bootarg_pcibios): New struct.
5635 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5636 Add PCIINFO.
5637
08a14e0b
VS
56382012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * tests/util/grub-shell.in: Trim firmware output on EFI.
5641
cede3ca3
VS
56422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5645 and coreboot since it's already in kernel.
5646
558d3a60
VS
56472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5650 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5651 to here. New return value start. All users updated.
5652 Recursively scan linear mappings.
5653 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5654 proto.
5655 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5656 Use grub_util_get_dm_node_linear_info.
5657 * util/getroot.c (convert_system_partition_to_system_disk): Use
5658 grub_util_info rather than grub_dprintf.
5659 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5660
60fde14d
VS
56612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5664
5665 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5666 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5667
24bd8838
VS
56682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * include/grub/types.h (grub_set_unaligned64): New function.
5671 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5672 (setup): Likewise.
5673
7bc06a49
VS
56742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5677 (grub_ofdisk_fini): Quiesce USB devices.
5678
49cea015
VS
56792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5682 caches.
5683
8dcbe03b
VS
56842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5687
5b258735
VS
56882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/disk/pata.c (grub_pata_pio_read)
5691 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5692 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5693
37ba07eb
VS
56942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Extend automated tests to qemu-mips.
5697
5698 * Makefile.am: reorganise tests and enable qemu-mips.
5699 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5700 * grub-core/tests/boot/linux.init-mips.S: New file.
5701 * tests/partmap_test.in: Handle ata0 disks.
5702 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5703 non-pc i386.
5704
070038f8
VS
57052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5708 ia64.
5709 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5710 quotes while on it.
5711
004be2cd
VS
57122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5715 (grub_halt): Likewise.
5716 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5717
b1622487
VS
57182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/term/serial.c (grub_serial_register)
5721 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5722 the behaviour in line with x86 platforms.
5723
b7b4ab33
VS
57242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5727 (grub_ata_strncpy): Likewise.
5728 (grub_ata_identify): Add missing byteswaps.
5729
5e3535ae
VS
57302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5733 byte-swap.
5734 (screen_read_char): Likewise.
5735 (grub_vga_text_cls): Likewise.
5736
c21b17e6
VS
57372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5740 filenames.
5741 (make_file_path): Likewise.
5742
bf293dec
VS
57432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5746 machines.
5747 Tested by: Paulo Flabiano Smorigo.
5748 Crucial information about API supplied by: Coleen <Last name unknown>.
5749 Reviewed by: Coleen <Last name unknown>.
5750
81f6ef0e
VS
57512012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * util/grub-mkimage.c: Disable -Wcast-align.
5754
7284143a
VS
57552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5758 as they are fatal.
5759
b99f3e00
VS
57602012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5763
944f752d
VS
57642012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-probe.c (escape_of_path): Fix double free.
5767
6cce6f38
VS
57682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/commands/videoinfo.c (hook): Show pitch.
5771
1e1eb50e
VS
57722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5775
1c715b5a
VS
57762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5779 (probe): Add ieee1275 to OFW devices.
5780
007ae52d
VS
57812012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5784
4557a36d
VS
57852012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Handle IBM OFW path.
5788
5789 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5790 available.
5791 (of_path_of_scsi): Handle vdevice.
5792
efbeefe9
VS
57932012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5796 Allocate in multiples of 16 to avoid adding a few bytes free region the
5797 windows bugs upon.
5798
15a940bb
VS
57992012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5802 Allocate in multiples of 16 to avoid adding a few bytes free region the
5803 windows bugs upon.
5804 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5805
6e5efd60
VS
58062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5809 resolutions.
5810 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5811 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5812
0d3d137e
IS
58132012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5814
5815 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5816
45dbe300
VS
58172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5820 resulted in \\ at the end of the line.
5821
6d8db947
VS
58222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5825 (grub_parser_cmdline_state): Likewise.
5826 (grub_parser_split_cmdline): Likewise.
5827
de89d338
VS
58282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5831 /dev/root and /dev/dm-*.
5832
00d41dee
VS
58332012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5836 fix partially stale display.
5837
f95d1f11
VS
58382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5841 substraction.
5842
6297e197
VS
58432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5846 Fix MBR remapping workaround.
5847 (grub_util_biosdisk_read) [__linux__]: Likewise.
5848
8a7ecad3
VS
58492012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5852
2b34f944
VS
58532012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * configure.ac: Bump to beta6.
5856
684aef11
CW
58572012-05-31 Christer Weinigel <christer@weinigel.se>
5858
5859 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5860
05b0bb91
VS
58612012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5864 (grub_cmd_linux): Likewise.
5865
bda36bfa
CW
58662012-05-31 Christer Weinigel <christer@weinigel.se>
5867
5868 Fix EHCI low-speed.
5869
5870 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5871 (GRUB_EHCI_MULT_TWO): Likewise.
5872 (GRUB_EHCI_MULT_THREE): Likewise.
5873 (GRUB_EHCI_CMASK_MASK): New enum value.
5874 (GRUB_EHCI_SMASK_MASK): Likewise.
5875 (GRUB_EHCI_CMASK_OFF): Likewise.
5876 (GRUB_EHCI_SMASK_OFF): Likewise.
5877 (grub_ehci_pci_iter): Enable periodic schedule.
5878 (grub_ehci_parse_notrun): Likewise.
5879 (grub_ehci_restore_hw): Likewise.
5880 (grub_ehci_setup_qh): Set flags for low speed transfers.
5881 (grub_ehci_find_qh): Use periodic list for low speed.
5882 (grub_ehci_setup_transfer): Check periodic queue as well.
5883 (grub_ehci_check_transfer): Likewise.
5884 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5885
e12bcb1c
PFS
58862012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5887
5888 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5889 parameter is used.
5890
bcc75fb3
PJ
58912012-05-31 Peter Jones <pjones@redhat.com>
5892
5893 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5894 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5895 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5896
f19cb95e
VS
58972012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5900 uninited variable. Allocate at least setup_sects.
5901
a4e5ca80
VS
59022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Fix handling of EFI with big memory maps.
5905
5906 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5907 (real_mode_mem): Likewise.
5908 (real_mode_target): Likewise.
5909 (real_mode_pages): Likewise.
5910 (prot_mode_pages): Likewise.
5911 (linux_params): New var.
5912 (linux_cmdline): Likewise.
5913 (free_pages): Don't set real mode variables.
5914 (allocate_pages): Don't allocate real mode memory.
5915 (grub_e820_add_region): Remove the limit.
5916 (grub_linux_boot): Allocate and copy real mode memory.
5917 (grub_linux_unload): Free linux_cmdline.
5918 (grub_cmd_linux): Use temporary storage for parameters.
5919 (grub_cmd_initrd): Likewise.
5920 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5921 (linux_kernel_params): Make it 1K big.
5922
ddb73558
VS
59232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * Makefile.util.def: Remove -Wno-format.
5926 * grub-core/Makefile.core.def: Likewise.
5927
1c4afb60
VS
59282012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * tests/cmp_unit_test.c: Add missing failure message.
5931 * tests/example_unit_test.c: Likewise.
5932 * tests/printf_unit_test.c: Likewise.
5933
941e3a6d
VS
59342012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5937 relaxation of protective MBR requirements.
5938
b105df76
VS
59392012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * configure.ac: Add condition for COND_HOST_XNU.
5942 * Makefile.util.def (10_xnu): New script.
5943 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5944
84e1569e
VS
59452012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5948 objconv bug.
5949
130c0f77
VS
59502012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5953 Binary on other platforms stays identical.
5954
6fd0b143
VS
59552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5958 Apple.
5959
0af1751d
VS
59602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5963
176d5f7d
VS
59642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5967 rather than defining size_t ourselves to avoid conflict.
5968
7de5e20a
VS
59692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5972 initialisation to avoid __bzero reference.
5973
f7143efe
VS
59742012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5977 version.
5978 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5979 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5980 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5981 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5982 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5983
e6ad0555
VS
59842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5987 * grub-core/kern/misc.c: Likewise.
5988 * grub-core/loader/i386/xnu.c: Likewise.
5989 * include/grub/i386/tsc.h: Likewise.
5990 * include/grub/symbol.h: Likewise.
5991
4a5a3c4a
VS
59922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5995 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5996 on older compiler.
5997
037f6d90
VS
59982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6001 Implement Apple flavour.
6002 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6003
f7194551
VS
60042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6007 (memmove) [__APPLE__]: Likewise.
6008 (memcpy) [__APPLE__]: Likewise.
6009 (memset) [__APPLE__]: Likewise.
6010 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6011 (memmove) [__APPLE__]: Likewise.
6012 (memcpy) [__APPLE__]: Likewise.
6013 (memset) [__APPLE__]: Likewise.
6014
85a730ca
VS
60152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6018 dependency discard.
6019
40e80b94
VS
60202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/normal/main.c (read_config_file): Provide config_file and
6023 config_directory.
6024 * util/grub.d/41_custom.in: Use config_directoy when available.
6025
9da59c32
VS
60262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6029 (grub_bfs_dir): Likewise.
6030
2787ae53
PJ
60312012-05-27 Peter Jones <pjones@redhat.com>
6032
6033 The old code gives arguments to a printf function which can't work
6034 correctly, and the compiler complains.
6035
6036 * grub-core/tests/example_functional_test.c (example_test): Add
6037 missing text.
6038 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6039 * include/grub/test.h (grub_test_assert_helper): New declaration.
6040 (grub_test_assert): Use grub_test_assert_helper.
6041
526ef13d
VS
60422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6045 (exfctest): ... this to avoid overlong filenames.
6046 All users updated.
6047
20dd511c
VS
60482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Handle "." and ".." on squashfs.
6051
6052 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6053 Make inode numbers into stack.
6054 (grub_squash_read_symlink): Use stack.
6055 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6056 (make_root_node): Fill stack.
6057 (grub_squash_open): Use stack.
6058
1d80c62a
VS
60592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6062 freeing.
6063
d336f652
VS
60642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6067 stderr on test calls.
6068
8b43f587
VS
60692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6072
80a3dc3f
VS
60732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6076
47e297d4
VS
60772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6080 "..".
6081
df042ccb
VS
60822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6085 (grub_hfsplus_iterate_dir): Add "." and "..".
6086
fc977f48
VS
60872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6090 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6091
f3250e5f
VS
60922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6095 (find_path): Handle "." and "..".
6096
fd8ed4c5
VS
60972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6100 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6101 (grub_affs_iterate_dir): Handle hardlinks.
6102
4ce776d2
MG
61032012-05-26 Matthew Garrett <mjg@redhat.com>
6104
6105 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6106 (grub_efi_console_fini): Likewise.
6107 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6108 (grub_video_gop_fill_mode_info): Rename to ...
6109 (grub_video_gop_fill_real_mode_info): ... this.
6110 (grub_video_gop_fill_mode_info): New function.
6111 (grub_video_gop_setup): Setup double framebuffer.
6112 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6113 Free offscreen.
6114 (grub_video_gop_swap_buffers): Copy framebuffer.
6115 (grub_video_gop_fini): Free offscreen buffer.
6116 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6117 New enum.
6118 (grub_efi_gop_blt_pixel): New struct.
6119
683031ba
VS
61202012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * gentpl.py: Remove error disabling for objconv.
6123
c2deb798
VS
61242012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * configure.ac: Remove -Wunitialized as it's not available on older
6127 compilers.
6128
61292012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6130
6131 Fix extent overflow comparator.
6132
6133 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6134 (grub_hfsplus_read_block): Set type.
6135 (grub_hfsplus_cmp_extkey): Compare type.
6136
d6b1fd36
VS
61372012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6140
0a9aa0f6
VS
61412012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6144 than 0.
6145
8360e159
VS
61462012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6149 (dejavu_bold_14.pf2): New target.
6150
501b9e4b
VS
61512012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * configure.ac: Fix djvu font detection.
6154
7026b0e2
VS
61552012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6158 ext* instead of ext2.
6159
c2a51ade
VS
61602012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6163 name with \0.
6164
8f803a5d
JU
61652012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6166
6167 * docs/grub-dev.texi: Remove dot from .png.
6168
13c6353f
VS
61692012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6172 protective entry in any slot.
6173 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6174 if protective entry is found in any slot.
6175
6176 Protective entry in non-first slot make no sense but is a widespread
6177 brain damage.
6178
4cf6be1b
VS
61792012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6182
937d1c44
VS
61832012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6186 with old reiserfs.
6187 (grub_reiserfs_open): Don't free root.
6188
021d90ec
VS
61892012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6192 after freeing for safety.
6193
967b2b64
VS
61942012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6197 Reported by: Jordan Uggla.
6198
34274d02
JU
61992012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6200
967b2b64
VS
6201 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6202 actual implementation. Specifically, clarify that the grub menu will
6203 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6204 passed.
34274d02 6205
dcaaae9d
BH
62062012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6207
6208 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6209 of r0.
6210
7086ad52
VS
62112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Remove unjustified hard dependency of normal.mod on gfxterm.
6214
6215 * include/grub/term.h (grub_term_output): New member fullscreen.
6216 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6217 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6218 (grub_gfxterm): Set .fullscreen.
6219 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6220 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6221
37ed2c9b
VS
62222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6225 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6226 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6227
a4469c88
VS
62282012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6231
4e461486
VS
62322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6235 a bad FS.
6236
aa78f5c4
VS
62372012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6240 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6241
197626b5
VS
62422012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6245 (grub_jfs_mount): Fill caseins.
6246 (grub_jfs_find_file): Respect caseins.
6247
8ad3f28c
VS
62482012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6251 through UTF-16.
6252
0c6c324e
VS
62532012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6256 New argument origpath. All users updated.
6257
c6666ba6
VS
62582012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6261 (read_attr): Ensure that we read start of possibly compressed block.
6262
e28e5fe5
VS
62632012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6266 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6267 All users updated.
6268
5fc23ab2
VS
62692012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6272 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6273 (dejavu.pf2): Replace with ...
6274 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6275 this.
6276
79dbc21c
VS
62772012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * util/grub.d/20_linux_xen.in: Add missing line.
6280
d2fcfb0c
VS
62812012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6284 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6285 (grub_utf16_to_utf8): Likewise.
6286
5560e9d6
VS
62872012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6290 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6291 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6292 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6293 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6294 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6295
62962012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6297
6298 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6299 a bad FS.
6300
5560e9d6 63012012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6302
6303 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6304 (grub_udf_read_symlink): Handle read_string failure.
6305
5eae3175
VS
63062012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6309 comment.
6310
c1ad82db
VS
63112012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Fix handling of UDF symlinks.
6314
6315 * grub-core/fs/udf.c (read_string): New argument outbuf.
6316 All users updated.
6317 (grub_ufs_read_symlink): Rename to ...
6318 (grub_udf_read_symlink): ... this. All users updated.
6319 Handle symlinks with more than one component.
6320
33eca6e0
VS
63212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6324 symlinks. Replace leading colon with a slash.
6325
57f4a70b
VS
63262012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6329 filename.
6330
38c8ee20
VS
63312012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6334 match in inner node.
6335
2e57f28f
VS
63362012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6339 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6340 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6341 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6342 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6343 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6344 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6345 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6346 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6347
fe8c2f11
VS
63482012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 Use grub-probe and not cmp to check that disk is empty.
6351
6352 * util/grub-install.in: Use grub-probe for zero-check.
6353 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6354 (probe): Handle PRINT_ZERO_CHECK.
6355 (argp_parser): Handle -t zero_check.
6356
63572012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6358
6359 Flush block cache on adding disk to device map.
6360
6361 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6362 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6363 adding.
6364 (read_device_map): Likewise.
6365 (open_device): Flush on opening.
6366
690434e8
VS
63672012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6370 (handle_symlink): Fix off-by-one error.
6371 Canonicalize the target.
6372 (grub_cpio_dir): Canonicalize the name.
6373 Fix memory leak.
6374 Set directory.
6375 (grub_cpio_open): Canonicalize the name.
6376
742d2be6
VS
63772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6380 handling.
6381
3244fe96
VS
63822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6385 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6386
8aeb1837
VS
63872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6390 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6391 All users updated.
8aeb1837 6392
9133fd05
VS
63932012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6396 counterpart.
6397
6d521c5b
VS
63982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 Fix UFS1 big file support.
6401
6402 * grub-core/fs/ufs.c (INODE): Removed.
6403 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6404 64-bit.
6405 (INODE_MODE): Simplify.
6406 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6407 (grub_ufs_lookup_symlink): Don't use INODE.
6408
21b82e17
VS
64092012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6412
6413 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6414 (grub_minix_data): Replace log_block_size with block_size.
6415 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6416 (grub_minix_mount): Fill block_size.
6417
64182012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6419
6420 * configure.ac: Bump to beta5.
6421
f417ed04
VS
64222012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Fix wrapped HFS+ handling.
6425
6426 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6427 blocks_start. All users updated.
6428 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6429 wrapping offset.
6430 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6431
607d282b
VS
64322012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Fix long symlinks on reiserfs.
6435
6436 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6437 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6438 (grub_reiserfs_iterate_dir): Save size for non-directories.
6439 (grub_reiserfs_open): Don't reread stat block as we already know the
6440 size.
6441 (grub_reiserfs_read): Split into...
6442 (grub_reiserfs_read_real): ... and ...
6443 (grub_reiserfs_read): ...this.
6444
ae16024d
VS
64452012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 Fix non-indexed JFS.
6448
6449 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6450 (grub_jfs_data): New field namecomponentlen.
6451 (grub_jfs_mount): Fill namecomponentlen.
6452 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6453
eea1e26e
VS
64542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6457 * tests/grub_script_echo1.in: Add tests.
6458
df760f77
VS
64592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * util/grub-install.in: Ignore empty devicetree directory.
6462
5efb817d
B
64632012-05-08 Bean <bean123ch@gmail.com>
6464
6465 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6466 All users updated.
6467 (free_rsm): Free header as well.
6468 (free_old_fragments): Fix memory leak.
6469 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6470 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6471 (destroy_pq): Likewise.
6472 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6473
668ea6d2
VS
64742012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6477 resulting hash as a precaution.
6478
1739b1fe
VS
64792012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6482 '_' in variable names.
6483 * grub-core/net/net.c (grub_net_network_level_interface_register):
6484 Likewise.
6485
6ae485aa
VS
64862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 Fix AFFS with non-512B blocks.
6489
6490 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6491 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6492 (grub_affs_data): Replace blocksize with log_blocksize.
6493 (grub_affs_read_block): Fix non-512B blocks.
6494 (grub_affs_read_symlink): Likewise.
6495 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6496 (grub_affs_read): Fix non-512B blocks.
6497 (grub_affs_label): Likewise.
6498 (grub_affs_mtime): Likewise.
6499 (grub_affs_mount): Fix block detection routine.
6500
d20fab84
VS
65012012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Add filesystem mtime to AFFS.
6504
6505 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6506 (aftime2ctime): New function.
6507 (grub_affs_dir): Use aftime2ctime.
6508 (grub_affs_label): Fix return value.
6509 (grub_affs_mtime): New function.
6510 (grub_affs_fs): Add mtime.
6511
e87b10f5
VS
65122012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6515 UTF-8.
6516
7dceec9b
VS
65172012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6520 UTF-8.
6521
2f48221f
VS
65222012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6525
dacd85cf
VS
65262012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6529 flags.
6530 (FLAGS_CASE_SENSITIVE): New enum value.
6531 (cache_entry): New struct.
6532 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6533 cache_size and cache.
6534 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6535 Add log_blocksize and fshelp_flags.
6536 (grub_sfs_read_extent): Handle non-512 blocks.
6537 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6538 (grub_sfs_read_file): Handle non-512 blocks.
6539 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6540 fshelp_flags.
6541 (grub_sfs_read_symlink): Handle non-512 blocks.
6542 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6543 (grub_sfs_dir): Free cache.
6544 (grub_sfs_close): Likewise.
6545
24e9a854
VS
65462012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6549 filesystems.
6550
62ace64d
VS
65512012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6554
83b2e89c
VS
65552012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6558
75ccaea3
VS
65592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6562 (grub_sfs_read_extent): Likewise.
6563 (grub_sfs_read_block): Likewise.
6564 (grub_sfs_mount): Likewise.
6565 (grub_sfs_iterate_dir): Likewise.
6566 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6567 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6568
1b8463f2
VS
65692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 Fix errors on compressed NTFS with 512B clusters.
6572
6573 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6574 types.
6575 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6576 not 0.
6577 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6578 Relax check for inline extents.
6579 (ntfscomp): Return correct -1 on error and not 0.
6580
4f8e368f
VS
65812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * util/grub-install.in: Fix handling of prefix containing spaces.
6584
6f5d5ee8
VS
65852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6588 (grub_squash_read_data): Fix offset byte-swapping.
6589
ce41ab7a
VS
65902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6593 per common usage and preffered in several parts of code.
6594 (grub_memcmp): Likewise.
6595 (grub_strncmp): Likewise.
6596 * include/grub/misc.h (grub_strcasecmp): Likewise.
6597 (grub_strncasecmp): Likewise.
6598 * Makefile.util.def (cmp_test): New test.
6599 (grub_script_strcmp): Likewise.
6600 * tests/cmp_unit_test.c: New file.
6601 * tests/grub_script_strcmp.in: Likewise.
6602 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6603
49717bf4
VS
66042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * include/grub/pci.h: Move enums into no-asm part.
6607
0a308f64
VS
66082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6611
1796965f
ST
66122012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6613
6614 * util/getroot.c (find_hurd_root_device): Try to make error message
6615 and comments to translators clearer.
6616
4e9b2819
VS
66172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6620
076aeb50
VS
66212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6624 btrfs.
6625
19424d94
VS
66262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * docs/grub.cfg: Update.
6629
ebb73076
VS
66302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * docs/grub.texi (PXE): Remove not present variables.
6633
9a1b669c
VS
66342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/net/net.c (defserver_set_env): New function.
6637 (defserver_get_env): Likewise.
6638 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6639
d38bf7d3
VS
66402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6643 entries.
6644
66452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6646
6647 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6648 * grub-core/kern/emu/hostdisk.c: Likewise.
6649
e5e4ca48
ST
66502012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6651
6652 Handle hurd userspace partitions.
6653
6654 * util/getroot.c (find_hurd_root_device): New function.
6655 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6656
56bb5dd5
VS
66572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6660 names.
6661 Reported by: Bastian Blank.
6662
9e8bc27a
VS
66632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6666 crossing page boundary.
6667
aa01499d
VS
66682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 Fix B-tree search in BFS, especially in presence of non-ASCII
6671 characters.
6672
6673 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6674 (find_in_b_tree): Use standard bsearch + btree algorithm.
6675
57006035
VS
66762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6679 and so on.
6680
9d34bb85
MG
66812012-05-03 Matthew Garrett <mjg@redhat.com>
66822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 Suspend broadcom cards in order to stop their DMA.
6685
6686 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6687 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6688 (pci): Don't build on x86 EFI.
6689 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6690 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6691 New function.
6692 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6693 stop_broadcom if running on EFI.
6694 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6695 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6696 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6697 (grub_pci_find_capability): New proto.
6698
01aab997
VS
66992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * docs/grub.texi: Remove dot from the extension as it apparently
6702 doesn't work with some makeinfo versions.
6703
fbd8dca6
VS
67042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6707 with GRUB expectance.
6708
dab797f4
VS
67092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6712
1516bfb4
VS
67132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6716 zero after directory block since last entry may be not 0-terminated if
6717 it ends on block boundary. Use continue instead of if spanning whole
6718 loop.
6719
a3a0eace
VS
67202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 Support 4K sectors UDF inline files.
6723
6724 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6725 (grub_udf_extended_file_entry): Likewise.
6726 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6727 All users updated.
6728 (get_fshelp_size): New function.
6729 (grub_udf_read_icb): Read whole block.
6730 (grub_udf_iterate_dir): Likewise.
6731 (grub_udf_dir): Likewise.
6732 (grub_udf_open): Likewise.
6733
c82f16c1
VS
67342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6737
59fd2aac
VS
67382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6741 inline symlinks in addition to workaround.
6742
3b4afb4d
VS
67432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6746
f45c794a
VS
67472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6750
f25cecbd
VS
67512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6754
bb9a34e8
VS
67552012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 Fix reiserfs big seek times.
6758
6759 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6760 exact. All users updated.
6761 (grub_reiserfs_read): Use nearest btree search for seeking.
6762 Fix return value on error.
6763
dc478aea
VS
67642012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6767 entries.
6768 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6769 * docs/grub.texi: Update menuentry description.
6770
8db10f47
VS
67712012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6774 crash when embedding onto filesystem.
6775
bcb288ed
VS
67762012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6779 name.
6780
a626fdd7
VS
67812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6784
b2f68477
VS
67852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6788 commit.
6789
ba15b2af
B
67902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
67912012-05-01 Bean <bean123ch@gmail.com>
6792
6793 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6794
a188012e
VS
67952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6798 Special behaviour for len = 0 to read whole file isn't used anywhere and
6799 can cause buffer ovewrflows in several places.
6800
f0a53ed2
VS
68012012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6804
5ed554f0
VS
68052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Handle RAIDZ on non-512B sectors.
6808
6809 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6810 max_children_ashift.
6811 (fill_vdev_info_real): Fill max_children_ashift.
6812 (read_device): Use max_children_ashift.
6813
ddc58357
VS
68142012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6817
e3282399
VS
68182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6821 disk names.
6822 * docs/grub.texi: Update device.map parts.
6823
ee618bd4
VS
68242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Don't scan into non-diskfilter devices having diskfilter names.
6827
6828 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6829 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6830 handling.
6831 (scan_disk_hook): New function.
6832
bdf88864
B
68332012-04-29 Bean <bean123ch@gmail.com>
6834
6835 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6836 allocation.
6837
32745f51
MK
68382012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6839
6840 * configure.ac: Detect starfield theme font path
6841 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6842
bc95c8c0
VS
68432012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6846 geometry on serial consoles.
6847
147fbcab
VS
68482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6851 because of network consoles.
6852
0f42c889
VS
68532012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6856 handling.
6857
4a3594c9
VS
68582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6861 falls on Q syndrom.
6862
5cb53879
VS
68632012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6866 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6867
b282dfe5
VS
68682012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6871 Allocate at lest 8192 for temporary buffer as required for lzo.
6872
daa59f47
VS
68732012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6876 to cluster_bits, since it's already added in.
6877 (grub_fat_read_data): Likewise.
6878
986748ce
VS
68792012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6882 as long as cluster size is multiple of 512 bytes.
6883
a20f6ad0
VS
68842012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * util/grub-mkrescue.in: Fix locale directory.
6887
385f9abb
VS
68882012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/kern/emu/hostdisk.c (map): Make static.
6891
1c557d30
B
68922012-04-23 Bean <bean123ch@gmail.com>
6893
6894 * util/grub-fstest.c (fstest): Add missing break.
6895
524b5d3a
ST
68962012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6897
6898 Fix hurd build.
6899
6900 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6901 not define nr variable.
fe4824e9 6902 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6903 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6904 grub_find_device): Do not define.
524b5d3a 6905
9a06490c
VS
69062012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Fix kfreebsd compile and behaviour.
6909
6910 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6911 format-security.
6912 * util/getroot.c: Fix wait.h include.
6913 (grub_guess_root_devices): Error if grub_find_device fails.
6914 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6915 (grub_util_get_dev_abstraction): Likewise.
6916 (grub_util_pull_device): Likewise.
6917 (grub_util_get_grub_dev): Likewise.
6918 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6919
48143d96
VS
69202012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 Fix and unify wholedisk detection.
6923
6924 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6925 is_part. All users updated.
6926 (device_is_wholedisk): Removed.
6927 (grub_util_biosdisk_get_grub_dev): Use is_part.
6928
ebbd24f3
VS
69292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6932 mode.
6933
56f7aa1e
VS
69342012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * configure.ac: Bump to beta4.
6937
9c815e01
VS
69382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6941 --fs-uuid --set UUID syntax.
6942
59e2651a
VS
69432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6946 disunification.
6947
54e03cfc
VS
69482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6951
81092a75
MK
69522012-04-18 Mads Kiilerich <mads@kiilerich.com>
6953
6954 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6955
f8315e14
MG
69562012-04-18 Mike Gilbert <floppym@gentoo.org>
6957
6958 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6959
1501ac21
B
69602012-04-18 Bean <bean123ch@gmail.com>
6961
6962 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6963 place.
6964
cb7f944e
VS
69652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6968 users updated.
6969 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6970 corresponding to GRUB partitions.
6971 (grub_util_biosdisk_write): Likewise.
6972
b72d44a1
VS
69732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 Scan mdraid before LVM.
6976
6977 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6978 (grub_diskfilter_register_front): ... this.
6979 (grub_diskfilter_register_back): New function.
6980 All users of grub_diskfilter_register updated.
6981
33d918b8
VS
69822012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub-install.in: Fix an automatic target detection bug.
6985
c6ca973d
VS
69862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/grub-install.in: New option --efi-directory.
6989
b41be562
VS
69902012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6993 boot services if we have no other choice.
6994
69952012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6998 document it.
6999 * tests/util/grub-shell.in: Update to --directory.
7000
e0595a73
VS
70012012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7004
4ed80652
VS
70052012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7008 (grub_minix_read_file): Likewise.
7009 (grub_minix_read_inode): Likewise.
7010 (grub_minix_find_file): Likewise.
7011 (grub_minix_dir): Likewise.
7012
56008077
VS
70132012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/grub-setup.c (setup): Fix partition handling and blocklist
7016 check.
7017
ee520775
VS
70182012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7021 redundant buggy overlap check.
7022
16fc9293
VS
70232012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7026 and grub-mknetdir.
7027
9bab65c4
VS
70282012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7031 kh.loadflags on pre-2.00 kernels.
7032
3c491b47
VS
70332012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 Terminate UNDI and PXE before launching the payload to avoid problems
7036 with DMA.
7037
7038 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7039 (grub_loader_flags): ... this. All users updated.
7040 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7041 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7042 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7043 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7044 function.
7045 (grub_pxe_restore): Likewise.
7046 (fini_hnd): New var.
7047 (GRUB_MOD_INIT): Register shutdown hook.
7048 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7049 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7050 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7051 (grub_loader_set): Rename second argument to flags.
7052
851ffada
VS
70532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7056 written bytes.
7057 (grub_get_num_of_utf8_bytes): New function.
7058 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7059 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7060 executing it.
7061 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7062 (grub_ucs4_to_utf8): Change return type.
7063
491c57a8
VS
70642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7067 warning.
851ffada
VS
7068 * grub-core/fs/bfs.c (hop_level): Likewise.
7069 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7070
756773df
VS
70712012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/lib/adler32.c: Recode due to license unclearness.
7074
fd556a96
VS
70752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7078 (test_header): Likewise.
7079
9f9d3f69
VS
70802012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Fix --help formatting.
7083
7084 * util/grub-mkconfig_lib.in (print_option_help): New function.
7085 (grub_fmt): Likewise.
7086 * util/grub-install.in: Use print_option_help and grub_fmt.
7087 * util/grub-kbdcomp.in: Likewise.
7088 * util/grub-mkconfig.in: Likewise.
7089 * util/grub-mknetdir.in: Likewise.
7090 * util/grub-mkrescue.in: Likewise.
7091 * util/grub-mkstandalone.in: Likewise.
7092 * util/grub-reboot.in: Likewise.
7093 * util/grub-set-default.in: Likewise.
7094 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7095
561ec77e
VS
70962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * linguas.sh: Remove autogenerated *.po.
7099
7ec2b021
VS
71002012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * po/README: Move language fetcing to ...
7103 * linguas.sh: ... here.
7104 * po/README: Point to linguas.sh.
7105
a88f3270
VS
71062012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * po/README: Exclude ko.po due to disclaimer problems.
7109
d61357ce
VS
71102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7113 len = 0.
7114 (grub_gettext_translate_real): Handle 0th string.
7115 (grub_gettext_translate): Ensure that "" isn't translated.
7116
505e41dc
VS
71172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7120 TRANSLATORS comment.
7121 (grub_diskfilter_print_partmap): Propagate changing of error into
7122 warning.
7123
e44092db
VS
71242012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7127 to uint64_t to prevent overflow.
7128 (grub_diskfilter_lv): Increase start_extent and extent_count
7129 to uint64_t to prevent overflow.
7130
9b83956a
VS
71312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * configure.ac: Increase version.
7134
da0d5b3f
VS
71352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7138
7139 * po/Rules-translit: New file.
7140 * po/arabic.sed: Likewise.
7141 * po/cyrillic.sed: Likewise.
7142 * po/greek.sed: Likewise.
7143 * po/hebrew.sed: Likewise.
7144 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7145 * po/Makefile.in.in: Add extra_dist4.
7146
ac66b453
VS
71472012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7150
7151 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7152 modify names. Introduce MODE_BIGENDIAN.
7153 * grub-core/fs/minix_be.c: New file.
7154 * grub-core/fs/minix2_be.c: Likewise
7155 * grub-core/fs/minix3_be.c: Likewise.
7156 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7157 minix3_be.
7158 * grub-core/Makefile.core.def (minix_be): New module.
7159 (minix2_be): Likewise.
7160 (minix3_be): Likewise.
7161
71622012-04-01 Felix <email@hamburg.de>
7163
7164 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7165 (devs): Add MBP 2011.
7166
0a2d5a82
VS
71672012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7170
d1625889
VS
71712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/normal/cmdline.c (print_completion): New field
7174 prompt_len.
7175 (grub_cmdline_get): Handle width properly.
7176
6d36a236
VS
71772012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7180
9576977e
VS
71812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7184 after 29th of February.
9576977e 7185
d73ff15d
VS
71862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Fix exfat endianness handling.
7189
7190 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7191 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7192 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7193 Byte-swap utf16 when necessary.
7194 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7195
bbb39a45
AB
71962012-03-31 Anton Blanchard <anton@samba.org>
71972012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 Fix btrfs endianness handling.
7200
7201 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7202 (lower_bound): Make root uint64_t. Use root in le.
7203 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7204 (find_path): Fix template key init.
7205 (grub_btrfs_dir): Fix mtime byteswap.
7206 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7207
354e0af7
VS
72082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7211 recursion_depth. Break infinite resursions. All users updated.
7212
4e75f21c
VS
72132012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7216 after free.
7217 Reported by: Peter Jones.
7218
25581802
AB
72192012-03-31 Anton Blanchard <anton@samba.org>
7220
7221 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7222 8 bit values.
7223
08fbf92e
VS
72242012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * util/grub-install.in: Fix nvram call for PreP.
7227
5d1182a6
VS
72282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7231 the error when some elements are missing into a warning.
7232
3f8cdd90
VS
72332012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7236
51006716
CW
72372012-03-28 Colin Watson <cjwatson@ubuntu.com>
7238
7239 * docs/grub.texi (Invoking grub-probe): New section.
7240 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7241
e1bd676b
VS
72422012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 Fix tab and wide character handling in editor and menu.
7245
7246 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7247 agglomerate control characters with combining marks.
7248 (bidi_line_wrap): Allow break on tab.
7249 (grub_unicode_get_comb_start): New function.
7250 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7251 and tab correctly.
7252 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7253 with a space.
7254 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7255 fixed_tab_size. All users updated.
7256 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7257 (grub_term_getcharwidth): Handle \t.
7258 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7259 and copy.
7260
22e6a774
VS
72612012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 Handle big-endian mdraid.
7264
7265 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7266 * grub-core/Makefile.core.def (mdraid09_be): New module.
7267 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7268 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7269 * grub-core/disk/mdraid_linux_be.c: New file.
7270
3c0eae66
VS
72712012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7274
b6cf74c9
VS
72752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7278 missing quotes which caused confusion among translators.
7279
83c93b9c
VS
72802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * util/grub-mkconfig_lib.in: Fix typo.
7283
ac6fd218
VS
72842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7287 spaces.
7288 * tests/grub_script_leading_whitespace.in: New file.
7289 * Makefile.util.def (grub_script_leading_whitespace): New test.
7290
ba287dd8
VS
72912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7294 to work.
7295
d2d58d0a
VS
72962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7299 starts with control character.
7300
0382d9bb
VS
73012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7304 overflow.
7305 (grub_gdb_outbuf): Likewise.
7306
d83ff9f9
VS
73072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7310 zero terminator. Fixes a crash.
7311
2282da4a
VS
73122012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7315 beyond 4 GiB.
7316 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7317 images independently of preffered adderss field.
7318
0ae4f0bd
VS
73192012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7322 * grub-core/commands/regexp.c: Likewise.
7323 * grub-core/loader/i386/linux.c: Likewise.
7324 * grub-core/partmap/msdos.c: Likewise.
7325 * grub-core/script/execute.c: Likewise.
7326 * grub-core/term/gfxterm.c: Likewise.
7327
546fbe9b
VS
73282012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Add variable parsing in $"..." and fix several mismatches with bash.
7331
7332 * Makefile.util.def (grub_script_gettext): New test.
7333 * grub-core/script/execute.c (parse_string): New function.
7334 (gettext_append): Likewise.
7335 (grub_script_arglist_to_argv): Use gettext_append.
7336 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7337 * tests/grub_script_gettext.in: New file.
7338
9fdb2d7b
VS
73392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 Fix handling of leading spaces in scripts.
7342
7343 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7344 spaces.
7345 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7346 other than skipping \r. All users updated.
7347 * tests/grub_script_echo1.in: Add space-related tests.
7348 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7349
1a1ac4f6
VS
73502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7353
b63d89b6
VS
73542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * configure.ac: Bump up the version to beta2.
7357
17f38c0f
VS
73582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 Fix gettext reload bugs (e.g. inability to disable gettext
7361 once enabled).
7362
7363 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7364 main_context and secondary_context. All functions updated.
7365 (grub_gettext_translate): Rename to ...
7366 (grub_gettext_translate_real): ... this. Return NULL on failed
7367 translate.
7368 (grub_gettext_translate): Handle secondary context.
7369 (grub_gettext_delete_list): Close file and zero-out the context.
7370 (grub_mofile_open): Don't call grub_gettext_delete_list.
7371 Don't close file.
7372 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7373 if locale="" to avoid pointless error message.
7374 (grub_gettext_env_write_lang): Update lang even if load fails.
7375 Handle secondary context.
7376 (grub_gettext_reread_prefix): New function.
7377 (read_main): Likewise.
7378 (read_secondary): Likewise.
7379 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7380 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7381 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7382 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7383
8e56f870
VS
73842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * configure.ac: Decrease warning level to avoid spurious warnings and
7387 to be able to compile with GCC 4.2.
7388 * Makefile.util.def: Remove -Wno-error=logical-op.
7389
82f6d455
WB
73902012-03-10 William Bittner <william.bittner@gmail.com>
7391
7392 * util/import_unicode.py: Add missing brackets around string for
7393 python 3 support.
7394
1ecd61a4
VS
73952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Fix efi chainloader on network root.
7398
7399 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7400 network devices.
7401 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7402 New function.
7403
14361ee8
VS
74042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7407 unused show_text member.
7408 * docs/grub.texi: Document "text" property.
7409
922aabf3
VS
74102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7413 in dprintf.
7414
ec316771
VS
74152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 Fix IMSM handling on Fedora.
7418
7419 * util/getroot.c (grub_util_is_imsm): New function.
7420 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7421
0f021838
VS
74222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * Makefile.am: Strip gold section.
7425 * conf/Makefile.common: Likewise.
7426 * gentpl.py: Likewise.
7427 * grub-core/Makefile.core.def: Likewise.
7428 * grub-core/genmod.sh.in: Likewise.
7429
1039c8eb
VS
74302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7433 * util/grub.d/20_linux_xen.in: Likewise.
7434 Based on Debian patch.
7435
6dd412cd
VS
74362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * util/grub.d/10_linux.in: Fix syntax error resulting in
7439 Richard Laager's patch.
7440 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7441
3fd8bae5
VS
74422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7445 dependencies.
7446
7eea1671
RL
74472012-03-10 Richard Laager <rlaager@wiktel.com>
7448
7449 * util/grub.d/10_linux.in: Fix ZFS root passing.
7450
e8e0566b
VS
74512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7454 * grub-core/commands/xnu_uuid.c: Likewise.
7455 * grub-core/loader/efi/appleloader.c: Likewise.
7456 * grub-core/script/execute.c: Likewise.
7457 * grub-core/script/main.c: Likewise.
7458 * util/grub-mkfont.c: Likewise.
7459
1acc5b1f
VS
74602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * util/grub-mkfont.c (options): Use more appropriate "select" that
7463 "set" for face index.
7464
35d70620
VS
74652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * util/grub-editenv.c (options): Gettextize command summaries.
7468
c9eb96b5
VS
74692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7472 "out of memory" error messagge.
7473
1f493136
VS
74742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7477 of diskfilter for diskfilter on diskfilter support.
7478
6d790129
VS
74792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7482
005f46c9
VS
74832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7486 themes/starfield.
7487
c8f778a0
VS
74882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7491
de1e64eb
VS
74922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7495
c6d54211
VS
74962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7499 of error message.
7500
dd390777
VS
75012012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7504
5fd1c522
VS
75052012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7508 message.
c6d54211 7509 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7510
fae01f6c
VS
75112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7514 Gettextize.
7515 * util/grub-mount.c (options): Likewise.
7516
292fdaff
VS
75172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7520 gettextize.
7521 * grub-core/commands/search_wrap.c (options): Likewise.
7522
ecdbae77
VS
75232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7526
52bfedfa
VS
75272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7530 size calculation.
7531 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7532 none is known.
7533
55b20e58
VS
75342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7537 "temporary" since it's used in identifier and is limited in space.
7538
fda9d101
VS
75392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * po/POTFILES.in: Regenerate. Include *.h since they contain
7542 translatable strings as well.
7543
6a0295e2
VS
75442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7547 byte-swap on big-endian.
7548 Reported by: Lennart Sorensen
7549
807fb77c
VS
75502012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7553 (allocate_pages): Improve dprintf.
7554 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7555 code32_start. Fill code32_start and kernel_alignment in params.
7556 (grub_cmd_initrd): Use prot_init_space.
7557
61ac50ba
VS
75582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7561
abdd26dd
VS
75622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * util/grub-install.in: Add missing dot at the end of sentence.
7565
6e69da9c
VS
75662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7569 * grub-core/commands/videotest.c: Likewise.
7570 * grub-core/loader/i386/linux.c: Likewise.
7571
4a929343
VS
75722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7575 sentence.
7576 Reported by: Milo Casagrande.
7577
bb51c6c6
VS
75782012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7581 * grub-core/commands/gptsync.c: Likewise.
7582 * grub-core/commands/hashsum.c: Likewise.
7583 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7584 * grub-core/commands/legacycfg.c: Likewise.
7585 * grub-core/io/gzio.c: Likewise.
7586 * grub-core/net/net.c: Likewise.
7587 * grub-core/term/gfxterm.c: Likewise.
7588 * grub-core/term/terminfo.c: Likewise.
7589 * grub-core/tests/test_blockarg.c: Likewise.
7590 * grub-core/video/video.c: Likewise.
7591 * util/grub-install.in: Likewise.
7592 * util/grub-mkfont.c: Likewise.
7593
b2b149cb
VS
75942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7597
c7c080ad
VS
75982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7601 Reported by: David Prévot.
c7c080ad 7602
f2e243c0
VS
76032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7606 description.
7607
09963c76
VS
76082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * util/grub-script-check.c (main): Fix a syntax error message which was
7611 unclear.
7612
a50514a8
VS
76132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7616
4650daec
VS
76172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7620 messages.
7621
76222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7623
7624 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7625 without argument.
7626 * util/grub-mount.c (options): Likewise.
7627
bbc5a342
VS
76282012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7631
ef292a87
VS
76322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/net/http.c: Add TRANSLATORS comments.
7635 * grub-core/normal/cmdline.c: Likewise.
7636 * grub-core/normal/misc.c: Likewise.
7637 * grub-core/partmap/msdos.c: Likewise.
7638 * grub-core/parttool/msdospart.c: Likewise.
7639 * grub-core/script/execute.c: Likewise.
7640 * grub-core/script/main.c: Likewise.
7641 * grub-core/term/terminfo.c: Likewise.
7642 * grub-core/video/bitmap.c: Likewise.
7643 * util/grub-install.in: Likewise.
7644 * util/grub-mkimage.c: Likewise.
7645 * util/grub-mklayout.c: Likewise.
7646 * util/grub-setup.c: Likewise.
7647
0fc19bd0
VS
76482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7651 with similar messages in grub-fstest.
7652
d95862ef
VS
76532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * util/grub-install.in: Unify "option requires an argument" message
7656 with similar messages in other files.
7657 * util/grub-mkconfig.in: Likewise.
7658
b7308f90
VS
76592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * util/grub-set-default.in: Replace printf with gettext_printf (the
7662 string in in question is already translated from grub-reboot)
7663
559dc587
VS
76642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * configure.ac: Bump up the version to beta1.
7667
1a11761f
VS
76682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7671 case when min_align = 0.
7672
24539abd
VS
76732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7676 and fix a case when line_start overflows.
7677
32bd735b
VS
76782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * util/grub-reboot.in (usage): Mention id posibility.
7681 * util/grub-set-default.in (usage): Likewise.
7682
1a2fd1e6
VS
76832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7686 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7687 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7688 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7689 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7690 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7691 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7692
90eeab76
VS
76932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/commands/menuentry.c (options): Remove
7696 GRUB_ARG_OPTION_REPEATABLE.
7697 Reported by: Andreas Vogel
7698
5ad1be82
AV
76992012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7700
7701 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7702
cb055286
HE
77032012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7704
7705 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7706 error.
7707
93b1cd79
VS
77082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 Use sort -V by the idea of Georgi Georgiev.
7711
7712 * util/grub-mkconfig_lib.in (version_sort): New function.
7713 (version_test_numeric): Use version_sort.
7714
0cdc126c
VS
77152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 Use submenus in grub-mkconfig.
7718
7719 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7720 * util/grub-mkconfig_lib.in (grub_quote): New function.
7721 (gettext_printf): Use gettext and not gettext_quoted to fix several
7722 messages.
7723 * util/grub.d/10_hurd.in: Use submenus.
7724 * util/grub.d/10_kfreebsd.in: Likewise.
7725 * util/grub.d/10_linux.in: Likewise.
7726 * util/grub.d/10_netbsd.in: Likewise.
7727 * util/grub.d/20_linux_xen.in: Likewise.
7728 * util/grub.d/30_os-prober.in: Likewise.
7729 * util/grub.d/10_illumos.in: Add missing quoting.
7730 * util/grub.d/10_windows.in: Likewise.
7731
d9bef9bc
VS
77322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 Fix menu title instability bug.
7735
7736 * grub-core/commands/menuentry.c (options): New option --id.
7737 (grub_normal_add_menu_entry): New argument id. All users updated.
7738 (grub_cmd_menuentry): Handle --id.
7739 (grub_menu_init): Accept unknown arguments.
7740 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7741 feature_menuentry_options.
7742 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7743 saved_entry.
7744 (get_entry_number): Match with id as well.
7745 * include/grub/menu.h (grub_menu_entry): New member id.
7746 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7747 * util/grub.d/00_header.in: Define menuentry_id_option.
7748 * util/grub.d/10_hurd.in: Define id.
7749 * util/grub.d/10_illumos.in: Likewise.
7750 * util/grub.d/10_kfreebsd.in: Likewise.
7751 * util/grub.d/10_linux.in: Likewise.
7752 * util/grub.d/10_netbsd.in: Likewise.
7753 * util/grub.d/10_windows.in: Likewise.
7754 * util/grub.d/20_linux_xen.in: Likewise.
7755 * util/grub.d/30_os-prober.in: Likewise.
7756
77572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7758
7759 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7760 "scope" with "body".
7761
7c8d0ce7
VS
77622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7765 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7766 prot_size and prot_file_size.
7767
49de079b
VS
77682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7771 All users updated. If easily=1 require raid-5/-6 to be full.
7772 (is_node_readable): Likewise.
7773 (scan_devices): Scan incomplete but readable LVs at the end.
7774 (grub_diskfilter_memberlist): Pull missing devices.
7775 (insert_array): Skip scanning until device is complete or scan is
7776 done otherwise.
7777 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7778 check.
7779 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7780 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7781
aff05d45
MG
77822012-03-03 Matthew Garrett <mjg@redhat.com>
77832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 Avoid EFI boot services when loading Linux.
7786
7787 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7788 avoid_efi_bootservices. All users updated.
7789 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7790 argument avoid_efi_bootservices. All users updated.
7791 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7792 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7793 align, min_align, relocatable, prefered_address. All users updated.
7794 Allocate avoiding boot services if kernel is relocatable.
7795 (grub_cmd_linux): Check if kernel is relocatable.
7796 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7797 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7798 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7799 avoid_efi_boot_services.
7800 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7801 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7802 (linux_kernel_params): Likewise.
7803
3935dde2
MG
78042012-03-03 Matthew Garrett <mjg@redhat.com>
78052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Use EDID on EFI.
7808
7809 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7810 datasize_out.
7811 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7812 modes. Set gop_handle.
7813 (grub_video_gop_get_edid): New function.
7814 (grub_gop_get_preferred_mode): Likewise.
7815 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7816 (grub_video_efi_gop_adapter): Set .get_edid.
7817 * include/grub/efi/edid.h: New file.
7818 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7819
32107ec0
VS
78202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub-install.in: Load efivars unconditionally.
7823
e70a2c50
VS
78242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * po/Rules-piglatin: Change suffix from .po-update-en to
7827 .po-update-en-piglatin.
7828
8f9cace1
VS
78292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Add a pig farm.
7832
7833 * po/piglatin.sed: New file.
7834 * po/en@piglatin.header: Likewise.
7835 * po/Rules-piglatin: Likewise.
7836 * po/README: Add en@piglatin to autogenerated languages.
7837
8f95d002
VS
78382012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7841 "Command for ...".
7842 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7843 "Check" since we don't check anything.
7844 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7845 is 64-bit one.
7846 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7847 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7848 (grub_md_sha512_real): Likewise.
7849
805a8dcc
VS
78502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/commands/gptsync.c: Fix typographic quoting.
7853 * grub-core/commands/ieee1275/suspend.c: Likewise.
7854 * grub-core/commands/parttool.c: Likewise.
7855 * grub-core/commands/search_wrap.c: Likewise.
7856 * grub-core/commands/videoinfo.c: Likewise.
7857 * grub-core/gfxmenu/gui_label.c: Likewise.
7858 * grub-core/hello/hello.c: Likewise.
7859 * grub-core/kern/emu/main.c: Likewise.
7860 * grub-core/net/net.c: Likewise.
7861 * grub-core/normal/menu.c: Likewise.
7862 * grub-core/normal/menu_text.c: Likewise.
7863 * grub-core/normal/misc.c: Likewise.
7864 * util/grub-editenv.c: Likewise.
7865 * util/grub-install.in: Likewise.
7866 * util/grub-kbdcomp.in: Likewise.
7867 * util/grub-mkconfig.in: Likewise.
7868 * util/grub-mknetdir.in: Likewise.
7869 * util/grub-mkrescue.in: Likewise.
7870 * util/grub-mkstandalone.in: Likewise.
7871 * util/grub-reboot.in: Likewise.
7872 * util/grub-set-default.in: Likewise.
7873 * util/grub-setup.c: Likewise.
7874 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7875
40211ab8
VS
78762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7879 * grub-core/commands/keystatus.c: Likewise.
7880 * grub-core/commands/loadenv.c: Likewise.
7881 * grub-core/commands/probe.c: Likewise.
7882 * grub-core/commands/regexp.c: Likewise.
7883 * grub-core/commands/true.c: Likewise.
7884 * grub-core/commands/videoinfo.c: Likewise.
7885 * grub-core/disk/cryptodisk.c: Likewise.
7886 * grub-core/disk/ldm.c: Likewise.
7887 * grub-core/disk/loopback.c: Likewise.
7888 * grub-core/disk/luks.c: Likewise.
7889 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7890 * grub-core/kern/disk.c: Likewise.
7891 * grub-core/kern/emu/hostdisk.c: Likewise.
7892
0c7d99c7
VS
78932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7896 * util/grub-install.in: Add missing quote in the comment.
7897
e7d2559b
VS
78982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7901 * grub-core/commands/lsmmap.c: Likewise.
7902 * grub-core/commands/minicmd.c: Likewise.
7903 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7904 * grub-core/commands/regexp.c: Likewise.
7905 * grub-core/gdb/gdb.c: Likewise.
7906 * grub-core/term/gfxterm.c: Likewise.
7907 * util/grub-mkconfig.in: Likewise.
7908 * util/grub-mkfont.c: Likewise.
7909 * util/grub-mklayout.c: Likewise.
7910 * util/grub-mknetdir.in: Likewise.
7911 * util/grub-mkrescue.in: Likewise.
7912 * util/grub.d/30_os-prober.in: Likewise.
7913
49ce9e50
VS
79142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7917 with "Direct color" and "Packed" with "Packed pixel".
7918 (grub_cmd_videoinfo): Simplify legend.
7919
e4b791fa
VS
79202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7923 absolutely unclear error message.
7924
fd1265cb
VS
79252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * util/grub-mkstandalone.in: Remove confusing leftover print.
7928
8822a8a0
VS
79292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7932 comments.
7933 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7934 (GRUB_MOD_INIT): Likewise.
7935 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7936 VGA mode.
7937 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7938 comments.
7939 * util/grub-install.in (usage): Likewise.
7940 Spell ID in whole letters.
7941 Add missing ending dot.
7942 Quote variables.
7943 * util/grub-reboot.in: Fix capitalisation.
7944 * util/grub-set-default.in: Likewise.
7945
937fd0cc
VS
79462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7949 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7950 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7951 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7952 Disable -Werror for -Wdeprecated-declarations.
7953 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7954 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7955 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7956 (grub_util_get_grub_dev): Make luks handling dependent on
7957 HAVE_DEVICE_MAPPER and not __linux__.
7958 (get_win32_path): Fix format security.
7959 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7960 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7961 Don't try grub_find_zpool_from_dir.
7962 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7963 #ifdef-out paresdir.
7964
1bab1ae3
VS
79652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * util/grub-pe2elf.c (usage): Add missing noreturn.
7968 (write_section_data): Rename name to shname to avoid shadowing.
7969 (write_symbol_table): Rename name to symname to avoid shadowing.
7970 Fix write_reloc_section call.
7971
ef023e42
VS
79722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7975 to ensure that it's after the last byte of .text.
7976
48afcb75
VS
79772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * util/ieee1275/ofpath.c (my_isdigit): New function.
7980 (trailing_digits): Use my_isdigit.
7981 (strip_trailing_digits): Likewise.
7982
88d51eff
VS
79832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7986 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7987
17edc2ba
VS
79882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/kern/i386/pc/startup.S: Define __start.
7991
ad5518d7
VS
79922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7995 strip already transforms he format.
7996
9e95e1bf
VS
79972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8000
9cc3ee5c
VS
80012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * util/grub-install.in: Add missing gettext init.
8004 * util/grub-kbdcomp.in: Likewise.
8005 * util/grub-mkconfig.in: Likewise.
8006 * util/grub-mknetdir.in: Likewise.
8007 * util/grub-mkrescue.in: Likewise.
8008 * util/grub-mkstandalone.in: Likewise.
8009 * util/grub-reboot.in: Likewise.
8010 * util/grub-set-default.in: Likewise.
8011 * util/grub.d/00_header.in: Likewise.
8012 * util/grub.d/10_hurd.in: Likewise.
8013 * util/grub.d/10_windows.in: Likewise.
8014 * util/grub.d/30_os-prober.in: Likewise.
8015 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8016
49e08a06
VS
80172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * po/Rules-swiss: Fix header comment.
8020
3809cb41
AV
80212012-02-29 Andreas Vogel <anvoit>
8022
8023 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8024 resulted in leak of arguments.
8025
fa6ec573
VS
80262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8029 reed_solomon_size const definition instead of computing it since
8030 Apple assembler doesn't support the later.
8031
22899b9c
VS
80322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * gentpl.py (kernel): Rewrite Apple part.
8035
a132afc3
VS
80362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8039
9d742bd4
VS
80402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8043 ELF section gap.
8044 (load_image): Likewise.
8045
f04a9a21
VS
80462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * configure.ac: Fix a typo in previous commit.
8049
46cf439c
VS
80502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 Don't add -Wl,-N on Apple platform.
8053
8054 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8055 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8056
c4c48c54
VS
80572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * grub-core/Makefile.core.def (lzma_decompress): Use
8060 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8061
31a12124
VS
80622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * grub-core/genmod.sh.in: Rewrite the Apple part.
8065
4f3aa1af
VS
80662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8069 comparison.
8070
7bd8b0c7
VS
80712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * acinclude.m4 (grub_CHECK_PIC): New test.
8074 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8075
97304d7c
VS
80762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8079 to avoid the warning.
8080
fb883812
VS
80812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8084 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8085 after. All users updated.
8086
a121c964
VS
80872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Use the common size routine in hostfs so we can read disks as well.
8090
8091 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8092 (grub_util_get_fd_size): ... this. Return size in bytes.
8093 All users updated.
8094 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8095 grub_util_get_fd_size.
8096
c66d6410
VS
80972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8100 Add blocksize retrieval.
8101
dfc8aeb0
VS
81022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * configure.ac: Restore CFLAGS after efiemu check.
8105
403e25a5
VS
81062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8109 Apple bug.
8110
382775d1
VS
81112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8114
6fd4e6e4
VS
81152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8118 (grub_cmd_halt): Likewise.
8119
bea359d6
VS
81202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8123 for local arithmetics.
8124 Break %sp init into 2 instructions.
8125 Add 0 byte at the end.
8126
32eb6ee1
VS
81272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8130 before loops.
8131
e8377389
VS
81322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8135 for context.
8136
8cb17de7
VS
81372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/disk/ldm.c (make_vg): Init part.name.
8140 (grub_ldm_detect): Silence spurious warning.
8141 (grub_util_is_ldm): Likewise.
8142
595717e6
VS
81432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8146 sane value to avoid a spurious warning.
8147
c4b7e588
VS
81482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8151 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8152
59824957
VS
81532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8156 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8157
70115b99
VS
81582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8161 hardcoding the relevant info.
8162
56733740
VS
81632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8166 missing const qualifiers.
8167 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8168
43481481
VS
81692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * util/getroot.c [__APPLE__]: Add missing includes.
8172 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8173
3cb38f01
VS
81742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8177
d9dbf11e
VS
81782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8181 avoid conflicts.
8182
0c42a45d
VS
81832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8186
46c34eb0
VS
81872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8190 and grub_file_close call.
8191
99ce1597
VS
81922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 Add LZSS Mach-O support (needed for new xnu kernelcache).
8195
8196 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8197 * grub-core/loader/lzss.c: New file.
8198 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8199 on Mach-O open failure.
8200 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8201 Don't free cmdsXX in uncompressedXX is set.
8202 (grub_macho_file): Init new fields.
8203 New argument is_64bit. All users updated.
8204 Handle compressed. Error out if no suitable architecture is found.
8205 Don't close file.
8206 (grub_macho_open): New argument is_64bit. All users updated.
8207 * grub-core/loader/macho32.c: Add defines for new fields.
8208 * grub-core/loader/macho64.c: Likewise.
8209 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8210 (grub_macho_parse): Handle compressed.
8211 Defer actual processing if compressed.
8212 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8213 "filename". All users updated.
8214 (grub_macho_size): New argument "filename". All users updated.
8215 (grub_macho_get_entry_point): Likewise.
8216 (grub_macho_load): Handle compressed.
8217 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8218 (GRUB_MACHO_LZSS_OFFSET): New define.
8219 (grub_decompress_lzss): New proto.
8220 * include/grub/machoload.h (grub_macho_file): New fields to handle
8221 compressed.
8222 (grub_macho_contains_macho64): Remove proto.
8223 (grub_macho_contains_macho32): Likewise.
8224 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8225
ebd17d6f
VS
82262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8229
2702b4e4
VS
82302012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 Fix make dist.
8233
8234 * Makefile.am (starfield_theme_files): New var.
8235 (starfield_DATA): Use starfield_theme_files.
8236 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8237 Add bootcheck-related files.
8238 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8239 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8240 and font_char_metrics.txt.
8241 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8242 (setjmp): Add lib/ia64/longjmp.S.
8243 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8244 * po/POTFILES.in: Regenerate.
8245 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8246 DISTFILES.common.extra1.
8247 * util/devicemap.c: Removed.
8248 * grub-core/lib/i386/relocator_backward.S: Likewise.
8249 * util/import_gcry.py: Remove unused files. Add extra_dist for
8250 ChangeLog.
8251
cf1adfdf
VS
82522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8255 grub_gettext_delete_list before changing grub_gettext_max to avoid
8256 running out of array bounds.
8257
82582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8259
8260 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8261 grub_vga_text_init/grub_vga_text_fini.
8262
cf1adfdf 82632012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8264
8265 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8266
541d92e9
VS
82672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * configure.ac: Bump to 2.00~beta0.
8270
7931dddf
VS
82712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8274 missing initialisation.
8275
f1b16fa3
VS
82762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8279
83ddae23
VS
82802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Support v2 xnu boot arguments.
8283
8284 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8285 New argument fsbfreq_out.
8286 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8287 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8288 be used.
8289 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8290 darwin_version.
8291 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8292 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8293 (grub_xnu_boot_params): Rename to ...
8294 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8295 (grub_xnu_boot_params_v2): New struct.
8296
dc693fe6
VS
82972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8300 zeroing of CRC field before computing CRC.
8301
5a6e39c2
VS
83022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8305 Change order of allocations to decrease fragmentation.
8306
6c21f5d7
VS
83072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8310
cfe456dc
CW
83112012-02-27 Colin Watson <cjwatson@ubuntu.com>
8312
8313 Use write-combining MTRR to speed up video with buggy BIOSes.
8314
8315 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8316 (cpuid): New define.
8317 (rdmsr): Likewise.
8318 (wrmsr): Likewise.
8319 (mtrr_base): Likewise.
8320 (mtrr_mask): Likewise.
8321 (grub_vbe_enable_mtrr_entry): New function.
8322 (grub_vbe_enable_mtrr): Likewise.
8323 (grub_vbe_disable_mtrr): Likewise.
8324 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8325 control off to BIOS.
8326 (grub_video_vbe_init): Fill mtrr.
8327 (grub_video_vbe_fini): Disable mtrr.
8328 (grub_video_vbe_get_info_and_fini): Likewise.
8329 (grub_video_vbe_setup): Enable mtrr.
8330
e3c78337
CW
83312012-02-27 Colin Watson <cjwatson@ubuntu.com>
8332
8333 * include/grub/partition.h (grub_partition_map): Change prototype of
8334 embed to take a maximum value for nsectors.
8335 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8336 * include/grub/fs.h (grub_fs): Likewise.
8337 * grub-core/partmap/msdos.c (embed_signatures): New array.
8338 (pc_partition_map_embed): Check for and avoid sectors matching any
8339 of the signatures in embed_signatures, up to max_nsectors.
8340 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8341 returned sector map to max_nsectors.
8342 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8343 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8344 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8345 * util/grub-setup.c (setup): Allow for the embedding area being
8346 split into multiple blocklists. Tell dest_partmap->embed the
8347 maximum number of sectors we care about.
8348
83492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8352 Specify blocklist_install and reserver_first_sector for all fs.
8353 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8354 blocklists.
8355
984b973f
VS
83562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * util/grub-install.in: Clarify strings.
8359 Fix source dir check.
8360
f122e0d6
RL
83612012-02-27 Richard Laager <rlaager@wiktel.com>
8362
8363 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8364 "zfs" and "fuse.zfs" as synonyms.
8365
071114bb
VS
83662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * configure.ac: Put platform and target_cpu substitutions back since
8369 they are used for directories.
8370
817e6abc
RL
83712012-02-27 Richard Laager <rlaager@wiktel.com>
83722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8375 * util/grub.d/20_linux_xen.in: Likewise.
8376
897b7419
RL
83772012-02-27 Richard Laager <rlaager@wiktel.com>
8378
8379 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8380 with full paths.
8381
a414bd15
RL
83822012-02-27 Richard Laager <rlaager@wiktel.com>
8383
8384 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8385 unescape.
8386
30ac48c4
VS
83872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Don't use insecure popen in getroot.
8390
8391 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8392 (exec_pipe): ... here.
8393 (find_root_devices_from_poolname): Use exec_pipe.
8394
53f13848
VS
83952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Remove platform and target_cpu replacement.
8398
8399 * configure.ac: Remove platform and target_cpu substitutions.
8400 * tests/util/grub-shell.in: Use modinfo.
8401 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8402 explicitly.
8403
90cb2803
VS
84042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Autodetect platform in grub-install but allow override.
8407
8408 * util/grub-install.in: Autodetect platform. Support --target and
8409 --directory. Read platform from modinfo.sh.
8410
b9136427
VS
84112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Support btrfs multi-volume probe.
8414
8415 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8416 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8417 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8418 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8419 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8420 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8421 grub_find_root_devices_from_btrfs if on btrfs.
8422
c36e5cd1
VS
84232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Remove any awareness of *.c util files about target.
8426
8427 * Makefile.util.def (grub-setup): Split to ...
8428 (grub-bios-setup): ... and this.
8429 (grub-sparc64-setup): ... and this.
8430 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8431 * docs/man/grub-setup.h2m: Split into ...
8432 * docs/man/grub-sparc64-setup.h2m: ... this.
8433 * docs/man/grub-bios-setup.h2m: ... and this.
8434 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8435 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8436 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8437 (grub_target_addr_t): Remove.
8438 (grub_target_size_t): Remove.
8439 (grub_target_ssize_t): Remove.
8440 * util/grub-install.in: Use new grub-*-setup.
8441 * util/grub-mkimagexx.c (Elf_Word): New define.
8442 (Elf_Half): Likewise.
8443 (Elf_Section): Likewise.
8444 (ELF_ST_TYPE): Likewise.
8445 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8446 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8447
584b2f8a
VS
84482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 Replace grub_target_addr with more appropriate types.
8451
8452 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8453 grub_target_addr with grub_addr.
8454 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8455 grub_target_addr with grub_port.
8456 (grub_cmd_write): Likewise.
8457 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8458 grub_target_addr with grub_addr.
8459 (grub_cmd_write): Likewise.
8460 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8461
5a0dc6fb
VS
84622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8465 const qualifier for vendor_guid.
8466
786aff6e
VS
84672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8470 const qualifier.
8471 (efiemu_memequal): Likewise.
8472 (find_variable): Likewise.
8473
49017b17
VS
84742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 Fix missing console prototype on qemu-mips.
8477
8478 * include/grub/mips/qemu_mips/console.h: New file.
8479
c5988629
MG
84802012-02-27 Matthew Garrett <mjg@redhat.com>
84812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8484 * include/grub/efi/efi.h: Likewise.
8485 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8486 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8487 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8488 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8489 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8490 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8491
e33f8d69
MG
84922012-02-27 Matthew Garrett <mjg@redhat.com>
8493
8494 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8495
fb312cd9
VS
84962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8499 error.
8500
7134247c
VS
85012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * configure.ac: Remove inappropriate use of program_transform_name
8504 on grubdir and bootdir but allow explicit specification of those
8505 variables.
8506
6a313124
VS
85072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * util/grub-mknetdir.in (grub_prefix): Removed.
8510 (subdir): Use @bootdirname@ and @grubdirname@.
8511
2311c5ca
VS
85122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8515
7d5d60f7
VS
85162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * po/POTFILES.in: Regenerated.
8519
8151bc82
VS
85202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 Remove improper use of program_transform_name on pkglibrootdir.
8523
8524 * configure.ac (pkglibrootdir): Removed.
8525 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8526 * util/grub-mkimage.c: Likewise.
8527
b4a6a533
VS
85282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8531 warning.
8532
668f304f
VS
85332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * util/grub-install.in: Use file identifier if no UUID is available
8536 or user explicitly prompted for it.
8537
665f2341
NP
85382012-02-27 Navdeep Parhar <nparhar@gmail.com>
8539
8540 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8541 (freebsd_get_zfs): New function.
8542 (grub_freebsd_boot): Pass zfs UUID.
8543 (grub_cmd_freebsd): Set zfs UUID.
8544
8151bc82 85452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8546
8547 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8548 pkglibrootdir.
8549
e4c498a1
MG
85502012-02-27 Mike Gilbert <floppym@gentoo.org>
8551
8552 Add configure flag to control libzfs integration.
8553
8554 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8555
1e9a9a3f
VS
85562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8559 device.
8560 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8561 small devices.
8562
036985b8
VS
85632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8566 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8567 be used on non-modules.
8568
8569 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8570 Rename to grub_boot_init.
8571 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8572 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8573 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8574 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8575 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8576 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8577 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8578 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8579 includes.
8580 (grub_machine_init): Remove empty inits.
8581 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8582 includes.
8583 (grub_machine_init): Remove empty inits.
8584 * grub-core/term/arc/console.c: Remove explicit proto.
8585 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8586 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8587 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8588 grub_at_keyboard_fini.
8589 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8590 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8591 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8592 grub_gfxterm_fini.
8593 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8594 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8595 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8596 grub_vgatext_fini.
8597 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8598 * grub-core/term/serial.c (GRUB_MOD_INIT)
8599 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8600 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8601 grub_serial_fini.
8602 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8603 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8604 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8605 grub_terminfo_fini.
8606 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8607 (GRUB_MOD_FINI): Likewise.
8608 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8609 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8610 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8611 grub_video_radeon_fuloong2e_fini.
8612 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8613 [LOONGSON]: Rename to grub_video_sis315pro_init.
8614 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8615 grub_video_sis315pro_fini.
8616 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8617 [LOONGSON]: Rename to grub_video_sm712_init.
8618 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8619 grub_video_sm712_fini.
8620 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8621 (grub_at_keyboard_fini): Likewise.
8622 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8623 Don't declare grub_{modname}_init.
8624 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8625 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8626 New proto.
8627 (grub_keylayouts_fini) [!EMU]: Likewise.
8628 * include/grub/serial.h (grub_serial_init) [!EMU]:
8629 New proto.
8630 (grub_serial_fini) [!EMU]: Likewise.
8631 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8632 New proto.
8633 (grub_terminfo_fini) [!EMU]: Likewise.
8634 * include/grub/video.h (grub_font_init) [!EMU]:
8635 New proto.
8636 (grub_font_fini) [!EMU]: Likewise.
8637 (grub_gfxterm_init) [!EMU]: Likewise.
8638 (grub_gfxterm_fini) [!EMU]: Likewise.
8639 (grub_video_sm712_init) [!EMU]: Likewise.
8640 (grub_video_sm712_fini) [!EMU]: Likewise.
8641 (grub_video_sis315pro_init) [!EMU]: Likewise.
8642 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8643 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8644 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8645
d5534665
VS
86462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Make nand a prefix for nand devices.
8649
8650 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8651
10133b5f
VS
86522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8655 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8656
8e307a62
VS
86572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * include/grub/env.h (grub_env_find): Remove prototype.
8660 * grub-core/kern/env.c (grub_env_find): Make static.
8661 (grub_env_set): Remove useless set.
8662
a4c65f34
VS
86632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/kern/i386/realmode.S: Remove useless align.
8666
d87893d5
VS
86672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * include/grub/dl.h (grub_dl_load_file): Don't export.
8670
50159add
VS
86712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8674 grub_dprintf.
8675
b2582b84
VS
86762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8679 grub_errors.
8680 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8681 not reloading whole superblock but only the part which is really needed.
8682 Remove useless grub_errors.
8683 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8684 grub_errors.
8685
e2a83395
VS
86862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 Don't export grub_get_rtc.
8689
8690 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8691 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8692
e7d2a906
VS
86932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8696
6cf1363b
VS
86972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8700 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8701
eece3349
VS
87022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 Remove prio_list.
8705
8706 * include/grub/list.h (grub_prio_list): Removed.
8707 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8708 GRUB_COMMAND_PRIO_MASK.
8709 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8710 GRUB_COMMAND_FLAG_ACTIVE.
8711 (grub_prio_list_insert): Removed.
8712 (grub_prio_list_remove): Likewise.
8713 (GRUB_AS_PRIO_LIST): Likewise.
8714 (GRUB_AS_PRIO_LIST_P): Likewise.
8715 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8716 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8717 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8718 * grub-core/kern/command.c (grub_register_command_prio): Inline
8719 the prio_list code.
8720 (grub_unregister_command): Likewise.
8721
94f064b4
VS
87222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 Fix interrupt mixup from previous commit.
8725
8726 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8727 (grub_realidt): New var.
8728 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8729 Load idt.
8730 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8731 New declaration.
8732 (grub_relocator16_boot): Set grub_relocator16_idt.
8733 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8734 (LOCAL(realidt)): ... this.
8735 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8736 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8737 (grub_realidt): New variable.
8738
27317084
VS
87392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8742 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8743 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8744 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8745 Gettextize.
8746 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8747 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8748 * po/POTFILES.in: Regenerate.
8749
47b40053
VS
87502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8753 errors.
8754
2b343101
VS
87552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8758 \0.
8759 (add_length): Likewise.
8760
ff27c3dd
LK
87612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
87622012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8763
8764 GDB serial and backtrace support.
8765
8766 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8767 (prot_to_real): Likewise.
8768 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8769 * grub-core/Makefile.core.def (backtrace): New module.
8770 (gdb): Likewise.
8771 * grub-core/gdb/cstub.c: New file.
8772 * grub-core/gdb/gdb.c: Likewise.
8773 * grub-core/gdb/i386/idt.c: Likewise.
8774 * grub-core/gdb/i386/machdep.S: Likewise.
8775 * grub-core/gdb/i386/signal.c: Likewise.
8776 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8777 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8778 * include/grub/backtrace.h: Likewise.
8779 * include/grub/gdb.h: Likewise.
8780 * include/grub/i386/gdb.h: Likewise.
8781
87822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8783
8784 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8785 New function.
8786 (add_length): Likewise.
8787 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8788 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8789 proto.
8790 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8791 __argp_get_display_len.
8792
ff27c3dd 87932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8794
8795 $"..." support in scripts.
8796
8797 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8798 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8799 * grub-core/script/yylex.l: Likewise.
8800 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8801 value.
8802
ff27c3dd 88032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8804
8805 * gentpl.py: Remove obsolete pkglib_DATA handling.
8806
ff27c3dd 88072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8808
8809 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8810 mailing list.
8811
8812 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8813 * util/grub-kbdcomp.in: Likewise.
8814 * util/grub-mkconfig.in: Likewise.
8815 * util/grub-mkconfig_lib.in: Likewise.
8816 * util/grub-mknetdir.in: Likewise.
8817 * util/grub-mkrescue.in: Likewise.
8818 * util/grub-mkstandalone.in: Likewise.
8819 * util/grub-reboot.in: Likewise.
8820 * util/grub-set-default.in: Likewise.
8821 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8822
ff27c3dd 88232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8824
8825 Remove GRUB_PREFIX.
8826
8827 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8828 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8829 used for backward compatibility.
8830
ff27c3dd 88312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8832
8833 Add new all_video module.
8834
8835 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8836 * grub-core/Makefile.core.def (all_video): New module.
8837 * grub-core/genmoddep.awk: Generate dependency of all_video from
8838 video.lst.
8839 * grub-core/lib/fake_module.c: New file.
8840 * grub-core/normal/main.c (features): Add feature_all_video_module.
8841 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8842 don't do explicit search again.
47454da5 8843 insmod all_video in load_video if available.
22c7ce85 8844
ff27c3dd 88452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8846
8847 Another round of string clarification and adding TRANSLATORS comments.
8848
ff27c3dd 88492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8850
8851 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8852
ff27c3dd 88532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8854
8855 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8856 to grub_ssize_t.
8857 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8858 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8859
ff27c3dd 88602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8861
8862 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8863 trailing newline implicitly. All users updated.
8864
ff27c3dd 88652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8866
8867 Implement serial on IEEE1275 and EFI.
8868
8869 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8870 on emu. Mention arc and emu as the only platforms without serial
8871 support.
8872 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8873 ieee1275 platforms.
8874 * grub-core/term/efi/serial.c: New file.
8875 * grub-core/term/ieee1275/serial.c: Likewise.
8876 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8877 specification if no ns8250 driver is available.
8878 (grub_cmd_serial): Likewise.
8879 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8880 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8881 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8882 (grub_efi_parity_type_t): New type.
8883 (grub_efi_stop_bits_t): Likewise.
8884 (grub_efi_serial_io_interface): New struct.
8885 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8886 available for all interfaces.
8887 Add EFI and IEEE1275 fields.
8888 (grub_ofserial_init): New proto.
8889 (grub_efiserial_init): Likeiwse.
8890 * util/grub.d/00_header.in: Don't check for the presence of serial
8891 module.
8892
ff27c3dd 88932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8894
8895 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8896 name as if it was an alias.
8897
114076ef
VS
88982012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/commands/lsacpi.c (options): Fix typo.
8901
6a656b0e
VS
89022012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 Convert grub-emu to argp.
8905
8906 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8907 emu.
8908 * util/argp_common.c: Rename to ...
8909 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8910 Add missing includes.
8911 * grub-core/kern/emu/main.c: Convert to argp.
8912 * po/POTFILES.in: Regenerate.
8913 * util/grub-install.in (usage): Make first letter lowcase in messages
8914 for uniformity.
8915 * util/grub-setup.c (options): Likewise.
8916
1e3f8ae8
VS
89172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8920 Put back accidently commented-out code.
8921
ed167a80
VS
89222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8925 loop check using Brent algorithm.
8926 (grub_hfsplus_btree_search): Likewise.
8927
6753c0ec
VS
89282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * util/grub-install.in: Fix usage of wrong device for PreP install.
8931
4e27343f
VS
89322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * conf/Makefile.common (CFLAGS_GNULIB): Add
8935 -Wno-unsafe-loop-optimizations.
8936 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8937 on tools.
8938 * grub-core/commands/legacycfg.c: Add pragma to skip
8939 -Wunsafe-loop-optimizations.
8940 (check_password_md5_real): Fix loop counter type.
8941 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8942 reading.
8943 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8944 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8945 loop condition.
8946 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8947 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8948 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8949 condition.
8950 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8951 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8952 avoid possible infinite loops.
8953 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8954 and -Wunsafe-loop-optimizations.
8955 * grub-core/script/yylex.l: Likewise.
8956 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8957 (print_glyphs): Avoid infinite loops.
8958 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8959
697f18b0
GS
89602012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8961
8962 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8963 to avoid infinite loop.
8964 (disp_acpi_rsdt_table): Likewise.
8965
274416e8
VS
89662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/font/font.c (grub_font_load): Add support for default
8969 path for fonts ($prefix/fonts).
8970 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8971 for checking if string is a path.
8972 * grub-core/normal/main.c (features): Add feature_default_font_path.
8973 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8974 * util/grub.d/00_header.in: Use default directory if possible.
8975 * util/grub-install.in: Install unicode.pf2.
8976
b3e08622
VS
89772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8980 * po/Rules-swiss: New file.
8981 * po/swiss.sed: Likewise.
8982
fe42ce09
VS
89832012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/fs/btrfs.c (find_device): Fix typos.
8986 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8987 * util/grub-mkrelpath.c (argp_parser): Likewise.
8988 Reported by: Yuri Chornoivan.
8989
72f1d065
DO
89902012-02-23 Dalet Omega <daletomega@gmail.com>
8991
8992 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8993 for usual informative messages.
8994
c5884973
DO
89952012-02-23 Dalet Omega <daletomega@gmail.com>
8996
8997 Starfield theme.
8998
8999 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9000 * conf/Makefile.common: Define starfielddir.
9001 * configure.ac: Configure starfield.
9002 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9003 * themes/starfield/README: Likewise.
9004 * themes/starfield/blob_w.png: Likewise.
9005 * themes/starfield/boot_menu_c.png: Likewise.
9006 * themes/starfield/boot_menu_e.png: Likewise.
9007 * themes/starfield/boot_menu_n.png: Likewise.
9008 * themes/starfield/boot_menu_ne.png: Likewise.
9009 * themes/starfield/boot_menu_nw.png: Likewise.
9010 * themes/starfield/boot_menu_s.png: Likewise.
9011 * themes/starfield/boot_menu_se.png: Likewise.
9012 * themes/starfield/boot_menu_sw.png: Likewise.
9013 * themes/starfield/boot_menu_w.png: Likewise.
9014 * themes/starfield/slider_c.png: Likewise.
9015 * themes/starfield/slider_n.png: Likewise.
9016 * themes/starfield/slider_s.png: Likewise.
9017 * themes/starfield/src/blob_nw.xcf: Likewise.
9018 * themes/starfield/src/bootmenu/: Likewise.
9019 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9020 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9021 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9022 * themes/starfield/src/slider_c.xcf: Likewise.
9023 * themes/starfield/src/slider_n.xcf: Likewise.
9024 * themes/starfield/src/slider_s.xcf: Likewise.
9025 * themes/starfield/src/terminalbox/: Likewise.
9026 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9027 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9028 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9029 * themes/starfield/starfield.png: Likewise.
9030 * themes/starfield/terminal_box_c.png: Likewise.
9031 * themes/starfield/terminal_box_e.png: Likewise.
9032 * themes/starfield/terminal_box_n.png: Likewise.
9033 * themes/starfield/terminal_box_ne.png: Likewise.
9034 * themes/starfield/terminal_box_nw.png: Likewise.
9035 * themes/starfield/terminal_box_s.png: Likewise.
9036 * themes/starfield/terminal_box_se.png: Likewise.
9037 * themes/starfield/terminal_box_sw.png: Likewise.
9038 * themes/starfield/terminal_box_w.png: Likewise.
9039 * themes/starfield/theme.txt: Likewise.
9040
17d73325
VS
90412012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * util/grub.d/00_header.in: Add missing export theme.
9044
dbebaf92
VS
90452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9048 already included.
9049 Reported by: Eren D.
9050
3d68bffb
VS
90512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * conf/Makefile.common (grubdatadir): Removed.
9054 (Makefile.am): Move eveything grubdata to pkgdata.
9055
4b59234d
VS
90562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/commands/acpihalt.c (get_sleep_type):
9059 Remove unused variable.
9060
463dcadc
VS
90612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9064 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9065 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9066 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9067 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9068 i18n with gettext no-op.
9069 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9070 GRUB_ACPI_OPCODE_STRING_CONST.
9071 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9072 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9073
e5b90c82
VS
90742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * po/POTFILES.in: Regenerate.
9077
2a704ca9
VS
90782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9081 -Wno-error=missing-noreturn.
9082
84f9d341
VS
90832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9086 condition to avoid possibly infinite loops.
9087 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9088 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9089
d46683f9
VS
90902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9093 condition to avoid possibly infinite loops.
9094
c44866b2
VS
90952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9098 on show_error.
9099
96790539
VS
91002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9103
1ba7e295
VS
91042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9107
21ffe8f1
VS
91082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * util/bin2h.c (usage): Add missing attribute noreturn.
9111
0ccb6b3c
VS
91122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9115 if the size isn't divisible by 512.
9116
b00d7fb6
VS
91172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 Make list_push and list_remove functions rather than inline functions
9120 to decrease size and avoid aliasing violations.
9121
9122 * include/grub/list.h (grub_list_push): Move to ...
9123 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9124 * include/grub/list.h (grub_list_remove): Move to ...
9125 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9126
9d369087
VS
91272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9130 and -Wunused-result.
9131
af0250d9
VS
91322012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9135 Reported by: Seth Goldberg
9136
aad32b14
VS
91372012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9140
ac96441c
ST
91412012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9142
9143 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9144 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9145 command line.
9146 * docs/grub.texi (Simple configuration): Document
9147 GRUB_CMDLINE_GNUMACH.
9148
91492012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9150
9151 * conf/Makefile.common (platform_SCRIPTS): New variable.
9152 (platform_PROGRAMS): Likewise.
9153 * gentpl.py: Mark *,module and *.image for install.
9154 * grub-core/gdb_grub.in: Add a notice of expected environment.
9155 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9156 (gmodule.pl): Likewise.
9157
ac96441c 91582012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9159
9160 Replace grub_checkkey with grub_getkey_noblock.
9161
9162 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9163 (grub_getkey_noblock): ... this. All users updated.
9164
ac96441c 91652012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9166
9167 * grub-core/kern/emu/console.c: Move to ...
9168 * grub-core/term/emu/console.c: ...here.
9169 (grub_ncurses_getkey): Fix return value if no key is detected.
9170
e51b5666
VS
91712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9174 (grub_unit_test_fini): Likewise.
9175 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9176
91772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * include/grub/test.h (GRUB_UNIT_TEST)
9180
d9a62292
VS
91812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9184 Better error handling.
9185 (grub_script_return): Likewise.
9186 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9187
77c9182f
VS
91882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9191 rimplicit redifinition.
9192
edb13cf9
VS
91932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9196 GRUB.
9197
a9e9dc7c
VS
91982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9201 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9202 prompt here.
9203
b4ba8e02
VS
92042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9207 as GRUB_ERR_BUG. Don't malloc if no device is available.
9208
dded5540
VS
92092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9212 Mark calling with invalid term as GRUB_ERR_BUG.
9213
0cf69874
VS
92142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9217 packets rather than raising an error.
9218
59bfe502
VS
92192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9222 in if.
9223
db5fc596
VS
92242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9227 diagnostic to dprintf.
9228 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9229
e4b7f404
VS
92302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9233 device name.
9234
e7b02f9e
VS
92352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9238 (grub_ntfs_iterate_dir): Likewise.
9239
0331e102
VS
92402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 Efiemu stylistic fixes and gettext.
9243
9244 * grub-core/efiemu/i386/loadcore32.c
9245 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9246 * grub-core/efiemu/i386/loadcore64.c
9247 (grub_arch_efiemu_relocate_symbols64): Likewise.
9248 * grub-core/efiemu/i386/pc/cfgtables.c
9249 (grub_machine_efiemu_init_tables): Likewise.
9250 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9251 (grub_efiemu_loadcore_initXX): Add a filename argument.
9252 All users updated.
9253 Improved error message.
9254 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9255 Add a filename argument.
9256 All users updated.
9257 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9258 Reclassify double relocation as GRUB_ERR_BUG.
9259
306fc074
VS
92602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9263 handling.
9264
794d8ef2
VS
92652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9268 on partition.
9269
92702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9271
9272 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9273
794d8ef2 92742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9275
9276 Improve string. Gettextize.
9277
78dde88e
VS
92782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9281 utils.
9282 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9283
4786a90f
VS
92842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9287 [GRUB_UTIL]: New function.
9288 (insert_array) [GRUB_UTIL]: Store partmaps.
9289 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9290 partmaps.
9291 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9292 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9293 (probe_abstraction): Print diskfilter and not raid.
9294 Reported by: Lennart Sorensen
9295
0b6225bd
VS
92962012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9299 * util/grub-mkimagexx.c (MASK3): New define.
9300 (add_value_to_slot_20b): Use MASK3.
9301 (add_value_to_slot_21): Likewise.
9302 (relocate_addresses): Fix format specification.
9303 (load_image): Explicitly init symtab_section.
9304
b055f8f6
VS
93052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9308 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9309
b77c2fb7
VS
93102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9313 on powerpc.
9314 Reported by: Lennart Sorensen
9315
e3ec28ab
VS
93162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * gentpl.py: Add missing license header.
9319 * docs/grub.texi: Update copyright year.
9320
c8d9ead6
GS
93212012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9322
9323 Source grub-mkconfig_lib from the build directory at build time.
9324 Suggested by: Vladimir Serbinenko.
9325
9326 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9327 * util/grub-install.in: Define pkgdatadir if not already set, and source
9328 grub-mkconfig_lib from there.
9329 * util/grub-kbdcomp.in: Likewise.
9330 * util/grub-mkconfig.in: Likewise.
9331 * util/grub-mknetdir.in: Likewise.
9332 * util/grub-mkrescue.in: Likewise.
9333 * util/grub-mkstandalone.in: Likewise.
9334 * util/grub-reboot.in: Likewise.
9335 * util/grub-set-default.in: Likewise.
9336 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9337
ebcecdf1
VS
93382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Increase warning level.
9341
9342 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9343 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9344 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9345 (TARGET_CFLAGS): Likewise.
9346 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9347 * grub-core/Makefile.core.def (decompressor_xz): Add
9348 -Wno-unreachable-code.
9349 (normal): Add -Wno-redundant-decls.
9350 (xzio): Add -Wno-unreachable-code.
9351 (lzopio): Add -Wno-redundant-decls -Wno-error.
9352 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9353 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9354 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9355 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9356 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9357 * grub-core/kern/i386/coreboot/init.c: Add exception to
9358 -Wsuggest-attribute=noreturn.
9359 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9360 * grub-core/kern/ia64/dl_helper.c: Likewise.
9361 * grub-core/kern/mips/dl.c: Likewise.
9362 * grub-core/kern/sparc64/dl.c: Likewise.
9363 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9364 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9365 (memcmp): Likewise.
9366 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9367 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9368 * grub-core/loader/mips/linux.c: Likewise.
9369 * grub-core/loader/multiboot_elfxx.c: Likewise.
9370 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9371 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9372 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9373 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9374 fixme.
9375 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9376 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9377 Fix prototype.
9378
37bb97fe
VS
93792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9382 address.
9383
29a3550b
VS
93842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9387 Avoid improper use of strings.
9388 (grub_cmd_legacy_initrdnounzip): Likewise.
9389
dfdffd0d
VS
93902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9393 attribute.
9394 (grub_util_info): Likewise.
9395 (grub_util_error): Likewise.
9396
102fae4a
VS
93972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9400 * util/grub-fstest.c (fstest): Likewise.
9401
7e94d044
VS
94022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9405 (grub_md_sha512_real): Likewise.
9406 (grub_util_get_geli_uuid): Likewise.
9407 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9408 (grub_util_biosdisk_open): Fix format specification.
9409 Respect format security.
9410 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9411 (xrealloc): Likewise.
9412 (xasprintf): Likewise.
9413
5ebd9769
VS
94142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * util/import_gcry.py: Include grub/crypto.h in init.c.
9417
495fc8c1
VS
94182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9421 (generate_image): Make prefix a const char *.
9422 Fix format specifications. Respect format security.
9423 Avoid void * arithmetics.
9424 Avoid shadowing.
9425 (argp_parser): Remove unused variable. Respect format security.
9426 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9427 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9428 (count_funcs): Remove unused variable.
9429 (relocate_addresses): Fix format specification.
9430 Disable x86-64 with elf32. Remove unused variables.
9431 (add_fixup_entry): Avoid shadowing.
9432 (make_reloc_section): Fix format specification.
9433 Use assert.
9434 (locate_sections): Fix format specifications.
9435 (load_image): Avoid shadowing.
9436
043c2ea3
VS
94372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9440 Fix format specifications. Respect format security.
9441 Don't translate already translated grub_errmsg.
9442 (argp_parser): Remove unused variable
9443
3ec65a81
VS
94442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9447
a4d9fe4a
VS
94482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9451 (main): Likewise. Use xmalloc. Respect format security.
9452
15b81d49
VS
94532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9456 a const char *.
9457 (argp_parser): Remove unused variable.
9458
31731fc0
VS
94592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9462 (add_pixel): Make static.
9463 (add_font): Likewise.
9464 (write_string_section): Make name and str a const char *.
9465 (write_be16_section): Make name a const char *.
9466 (print_glyphs): Make static.
9467 (write_font_ascii_bitmap): Likewise.
9468 (write_font_width_spec): Likewise.
9469 (write_font_pf2): Likewise.
9470 (argp_parser): Remove unused variable.
9471 Respect format security.
9472 (main): Avoid shadowing. Respect format security.
9473
0809527b
VS
94742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * util/grub-editenv.c (argp_parser): Make static.
9477 (create_envblk_file): Use xmalloc.
9478 (open_envblk_file): Likewise.
9479 Resepect format security.
9480 (set_variables): Respect format security.
9481
45b0c8b7
VS
94822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * util/getroot.c (grub_find_device): Respect format security.
9485 (get_mdadm_uuid): Remove unused variable.
9486 (grub_util_pull_device): Dont call gettext on already translated
9487 grub_errmsg.
9488 (find_system_device): Remove unused variable.
9489 (grub_util_get_grub_dev): Likewise.
9490 (grub_make_system_path_relative_to_its_root): Respect format security.
9491
1b024b4e
VS
94922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * util/grub-fstest.c (execute_command): Make first argument
9495 a const char *.
9496 (read_file): Avoid shadowing.
9497 Reuse underlying error message if device open fails.
9498 (cmd_cmp): Respect format security.
9499 (root): Make const char *.
9500 (fstest): Remove args argument and use global copy.
9501 Respect format security.
9502 (argp_parser): Make static.
9503 (main): Make default_root const char *.
9504
5d1d4e28
VS
95052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 * util/grub-mount.c (root): Make const char *.
9508 (execute_command): Make first argument a const char *.
9509 (fuse_init): Respect format security.
9510 (argp_parser): Make static. Remove unused variable.
9511 (main): Make default_root a const char *.
9512 Respect format security.
9513
36eb7379
VS
95142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * util/grub-probe.c (probe): Don't call gettext on already translated
9517 grub_errmsg.
9518 Remove unused variables.
9519 (argp_parser): Remove unused variable.
9520
76fb2ea9
VS
95212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * util/grub-script-check.c (argp_parser): Remove unused variable.
9524 (main): Rename read to curread to avoid shadowing.
9525
56c98584
VS
95262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * util/misc.c (grub_util_write_image_at): Fix format specification.
9529 (grub_util_write_image): Likewise.
9530 (grub_script_execute_argument_to_string): Removed (unused).
9531 (grub_script_execute_menuentry): Likewise.
9532 (grub_putchar): Likewise.
9533
164ebb48
VS
95342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9537 (FUNCTION) [GRUB_UTIL]: Likewise.
9538 (VARIABLE) [GRUB_UTIL]: Likewise.
9539
44318d61
VS
95402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9543 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9544
31a26002
VS
95452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9548 buffer.
9549
95502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9553 (LzmaEnc_SaveState): Removed (unused).
9554 (LzmaEnc_RestoreState): Likewise.
9555 (LzmaEnc_InitPriceTables): Made static.
9556 (LzmaEnc_Construct): Likewise.
9557 (LzmaEnc_FreeLits): Likewise.
9558 (LzmaEnc_Destruct): Likewise.
9559 (LzmaEnc_Init): Likewise.
9560 (LzmaEnc_InitPrices): Likewise.
9561 (LzmaEnc_Finish): Likewise.
9562 (LzmaEnc_PrepareForLzma2): Removed (unused).
9563 (LzmaEnc_MemPrepare): Likewise.
9564 (LzmaEnc_GetNumAvailableBytes): Likewise.
9565 (LzmaEnc_GetCurBuf): Likewise.
9566 (LzmaEnc_CodeOneMemBlock): Likewise.
9567
6fa67967
VS
95682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9571 (grub_util_ldm_embed): Likewise.
9572
9a7428e6
VS
95732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * util/grub-editenv.c (print_var): Rename name to varname to
9576 avoid shadowing.
9577 (main): Rename index to curindex to avoid shadowing.
31a26002 9578 Make filename a const char *.
9a7428e6 9579
4f96abd1
VS
95802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9583 to arg_getline to avoid shadowing.
9584
44d10dad
VS
95852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9588 disk_ to avoid shadowing.
9589
340ba63e
VS
95902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9593 curindex to avoid shadowing.
9594 Make static.
9595 (MatchFinder_GetNumAvailableBytes): Make static.
9596
22965bce
VS
95972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9600 avoid shadowing.
9601
7b5784d4
VS
96022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9605 argument from encrypt to do_encrypt to avoid shadowing.
9606
6f48ca01
VS
96072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9610 incorrect nesting of #if's.
9611
a4ea2dff
VS
96122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9615 checks which are always false on some platforms.
9616 (grub_cmd_lsacpi): Likewise.
9617 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9618 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9619 Likewise.
9620
def9fc1b
VS
96212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9624 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9625
a67b2a04
VS
96262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9629 re_dfa_t to avoid breaking alignment invariants.
9630 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9631 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9632
44c6828d
VS
96332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9636 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9637
bebe0dd0
VS
96382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9641 Fix declaration.
9642
a9cdb3cf
VS
96432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9646 conserve alignment invariants.
9647 (grub_ehci_ehcc_read16): Likewise.
9648 (grub_ehci_oper_read32): Likewise.
9649 (grub_ehci_oper_write32): Likewise.
9650 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9651 Conserve alignment invariants.
9652
ccc3b1b8
VS
96532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9656 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9657 declarations.
9658
987fbd95
VS
96592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9662 Remove unused variable.
9663
0df363f3
VS
96642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9667 Remove set in if.
9668
b2c0c4a6
VS
96692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * include/grub/net.h: Remove double declarations.
9672
690c531f
VS
96732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 Remove "payload" command in ia64 Linux loader since I couldn't
9676 find any evidence of it being used for anything.
9677 Replace "relocate" command with an environment variable
9678
9679 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9680 fields.
9681 (ia64_boot_payload): Removed.
9682 (last_payload): Likewise.
9683 (RELOCATE_OFF): Likewise.
9684 (RELOCATE_ON): Likewise.
9685 (RELOCATE_FORCE): Likewise.
9686 (relocate): Likewise.
9687 (free_pages): Don't free payloads.
9688 (grub_load_elf64): Use common error messages.
9689 Use "linux_relocate" variable.
9690 Increase the space after boot_params.
9691 (grub_cmd_payload): Removed.
9692 (grub_cmd_relocate): Likewise.
9693 (grub_cmd_fpswa): Improve messages.
9694 (cmd_payload): Removed.
9695 (cmd_relocate): Likewise.
9696 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9697 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9698
01783768
VS
96992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 Convert UHCI to DMA framework.
9702
9703 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9704 (grub_uhci_pci_iter): Fill new members
9705 (grub_alloc_td): Use P2V and V2P functions.
9706 (grub_free_queue): Likewise.
9707 (grub_alloc_qh): Likewise.
9708 (grub_uhci_setup_transfer): Likewise.
9709 (grub_uhci_check_transfer): Likewise.
9710
43206939
VS
97112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9714 Remove assignment in if while on it.
9715
571e140e
VS
97162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * util/grub-mkstandalone.in: Fix modules directory.
9719
a9d96eeb
VS
97202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9723 on i386-pc target.
9724 (argp_parser): Accept "auto" as compression specification.
9725
e4e37e8d
VS
97262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 Fix `help' with unloaded modules.
9729
9730 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9731 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9732 (grub_dyncmd_dispatcher): Small stylistic fix.
9733 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9734 explicit help is requested.
9735
e1ea3ade
VS
97362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9739 Explicitly init restart while on it.
9740
27556881
VS
97412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9744 uninited variable.
9745
d65f6b36
VS
97462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * util/grub-mknetdir.in: Use . rather than source for POSIX
9749 compatibility.
9750
0a1e473c
VS
97512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9754
ce6647c8
VS
97552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9758 variable.
9759
66747894
VS
97602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9763 without quotes.
9764
71645f6e
VS
97652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9768
0e1c1f61
VS
97692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9772 iteration of partitions.
9773
9c4b5c13
VS
97742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 Improve gettext support. Stylistic fixes and error handling fixes while
9777 on it.
9778
215c90cb
VS
97792012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9782 part. Instead setup the correct stack in RM.
9783 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9784 for stack.
9785 * include/grub/i386/relocator_private.h: New file.
9786
b5c1f9bf
VS
97872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9790 argument.
9791 * util/grub-fstest.c (options): Add missing DEVICE part.
9792
b525fd83
VS
97932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 Clarify and unify messages.
9796
9797 * grub-core/commands/hashsum.c (options): Unify messages.
9798 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9799 literal-only message as translatable.
9800 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9801 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9802 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9803 commands.
9804 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9805 key, not the key used to unlock. Clarify what it's used for.
9806 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9807 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9808 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9809 * util/grub-editenv.c (options): Unify "verbose" message.
9810 * util/grub-fstest.c (read_file): Unify error message.
9811 (fstest): Add quotes around commands.
9812 (options): Unify "verbose" message.
9813 * util/grub-install.in: Add quotes around variable name.
9814 * util/grub-kbdcomp.in: Unify error message.
9815 * util/grub-mkfont.c (main): Likewise.
9816 * util/grub-mkrescue.in: Likewise.
9817 * util/grub-mklayout.c (options): Unify "verbose" message.
9818 * util/grub-mkstandalone.in: Unify help and verbose messages.
9819 * util/grub-mount.c (options): Unify "verbose" message.
9820 * util/grub-probe.c (options): Likewise.
9821 * util/grub-script-check.c (options): Likewise.
9822 * util/grub-setup.c (setup): Unify no-terminator message.
9823 (options): Use DEVICE and not DEV.
9824 Unify "verbose" message.
9825 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9826
0ae70393
VS
98272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 Improve and unify messages.
9830
9831 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9832 name. All users updated.
9833 Print filename in error.
9834 (read_device_map): Print filename in error.
9835 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9836 (grub_util_get_os_disk): Likewise.
9837 (grub_util_biosdisk_get_grub_dev): Likewise.
9838 (grub_util_check_block_device): Likewise.
9839 (grub_util_check_char_device): Likewise.
9840 (grub_make_system_path_relative_to_its_root): Likewise.
9841 * util/grub-editenv.c (create_envblk_file): Likewise.
9842 (open_envblk_file): Likewise.
9843 (write_envblk): Likewise.
9844 * util/grub-fstest.c (cmd_cp): Likewise.
9845 (cmd_cat): Likewise.
9846 (cmd_cmp): Likewise.
9847 * util/grub-menulst2cfg.c (main): Likewise.
9848 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9849 (write_font_width_spec): Likewise.
9850 (write_font_pf2): Likewise.
9851 * util/grub-mkimage.c (generate_image): New argument outname.
9852 All users updated.
9853 Remove unreacheable message.
9854 (options): Unify messages.
9855 (help_filter): Likewise.
9856 * util/grub-mklayout.c (usage): Removed (unused).
9857 (main): Print filename in error.
9858 * util/grub-mkrescue.in: Fix wrong quoting.
9859 * util/grub-setup.c (setup): Print filename in error.
9860 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9861 (check_sas): Likewise.
9862 * util/misc.c (grub_util_get_fp_size): Removed.
9863 (grub_util_get_image_size): Print filename in error.
9864 (grub_util_read_at): Removed.
9865 (grub_util_read_image): Print filename in error.
9866 (grub_util_load_image): Likewise.
9867 (grub_util_write_image_at): New argument filename. All users updated.
9868 Print filename in error.
9869 (grub_util_write_image): New argument filename. All users updated.
9870 Print filename in error.
9871 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9872 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9873
0a96117d
VS
98742012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/Makefile.core.def (pxechain): New module.
9877 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9878 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9879 function.
9880 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9881 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9882
aca002f7
VS
98832012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9886 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9887 * include/grub/err.h (grub_error_saved): New struct.
9888 (grub_errmsg): Make array size explicit.
9889 * include/grub/misc.h (grub_error_save): New function.
9890 (grub_error_load): Likewise.
9891 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9892 (grub_error_push): Update `errno' member name.
9893 (grub_error_pop): Likewise
9894 * grub-core/net/tftp.c (tftp_data): New member save_err.
9895 (tftp_receive): Save error.
9896 (tftp_open): Restore error.
9897
a51dab13
VS
98982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9901 to real mode down to execute A20-related code in protected mode as
9902 intended.
9903
eb6e6649
GS
99042012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9905
9906 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9907 NULL when the argument `level' has an unexpected value.
9908
92cd0f6e
VS
99092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Move platform-dependent files from $prefix to $prefix/$platform.
9912
9913 * config.h.in (GRUB_TARGET_CPU): New definition.
9914 (GRUB_PLATFORM): Likewise.
9915 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9916 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9917 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9918 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9919 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9920 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9921 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9922 * grub-core/normal/term.c (read_terminal_list): Likewise.
9923 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9924 $prefix/locale.
9925 (grub_gettext_init_ext): Likewise.
9926 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9927 grub_platform.
9928 * util/grub-install.in: Update directories.
9929 * util/grub-mknetdir.in: Likewise.
9930 * util/grub-mkrescue.in: Likewise.
9931
db606889
VS
99322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9935 grub_error framework. All users updated.
9936
c39992a4
VS
99372012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9940 lists (by always binsearching), improve caching (cache strings
9941 used for binsearch, not only results), improve
9942 maintainability (by using more structured binary search) and correct
9943 error handling.
9944
1e5ec32f
VS
99452012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * grub-core/script/execute.c (grub_script_return): Fix warning.
9948
ac576cde
VS
99492012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/script/execute.c (grub_script_return): Fix potential
9952 NULL-dereference.
9953 Reported by: Jim Meyering.
9954
498453f6
VS
99552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * po/POTFILES.in: Regenerate.
9958 * util/grub-install.in: Gettextize the strings missed in first pass.
9959
8be63f2e
VS
99602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * Makefile.util.def (grub-mkdevicemap): Removed.
9963 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9964 * include/grub/util/deviceiter.h: Removed.
9965 * util/deviceiter.c: Likewise.
9966 * util/getroot.c (grub_util_get_os_disk): New function.
9967 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9968 replacement for EFI.
9969 * util/grub-mkdevicemap.c: Removed.
9970 * util/grub-probe.c (probe): Handle PRINT_DISK.
9971 (argp_parser): Handle -t disk.
9972
8e1e4e39
VS
99732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * util/grub-mkfont.c: Migrate to argp.
9976 * util/grub-mklayout.c: Likewise.
9977 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9978 * util/grub-mkrelpath.c: Likewise.
9979 * util/grub-probe.c: Likewise.
9980 * util/grub-script-check.c: Likewise.
9981
4459819a
VS
99822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * util/grub-reboot.in: Add missing datarootdir.
9985 Add missing newline.
9986 * util/grub-set-default.in: Add missing datarootdir.
9987 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9988 * util/grub-mkrescue.in: Likewise.
9989
f65741c7
VS
99902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9993
c1a33466
VS
99942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * util/grub-kbdcomp.in: Add decent help and gettextize.
9997 * docs/man/grub-kbdcomp.h2m: New file.
9998
c76899a0
VS
99992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 Migrate grub-mkimage.c to argp.
10002
10003 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10004 (grub-setup): Likewise.
10005 * util/grub-setup.c (print_version): Move to ...
10006 * util/argp_common.c (print_version): ... here.
10007 * util/grub-setup.c (argp_program_version_hook): Move to ...
10008 * util/argp_common.c (argp_program_version_hook): ... here.
10009 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10010 safety.
10011 * util/grub-mkimage.c (main): Migrate to argp.
10012
57db0757
VS
100132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * util/grub-mkrescue.in: Use same message as
10016 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10017 for better translations.
10018
18534ad9
VS
100192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10022 options with generic grub-mkrescue.in with the goal of future
10023 merge.
10024
c84ba308
VS
100252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * grub-core/kern/mm.c: Add missing include of i18n.h
10028 * grub-core/lib/relocator.c: Likewise.
10029
347998c2
VS
100302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10033 error.
10034 (allocate_pages): Check return value.
10035 Replace fatal with error.
10036 (grub_linux_boot): Replace printf with dprintf.
10037 Check find_mmap_size return value.
10038 Replace fatal with error.
10039 Don't call grub_machine_fini.
10040 (grub_load_elf64): Replace printf with dprintf.
10041 (grub_cmd_linux): Likewise.
10042 (grub_cmd_initrd): Likewise.
10043 (grub_cmd_payload): Likewise.
10044
c779226e
VS
100452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10048 message.
10049 * grub-core/video/radeon_fuloong2e.c
10050 (grub_video_radeon_fuloong2e_setup): Likewise.
10051 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10052 * grub-core/video/video.c (grub_video_set_mode): Don't override
10053 standard out of memory message.
10054
dc87d45a
GS
100552012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10056
10057 NetBSD disk wedge support.
10058
10059 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10060 [__NetBSD__]: Handle NetBSD disk wedges.
10061 * util/getroot.c (convert_system_partition_to_system_disk)
10062 [__NetBSD__]: Likewise.
10063
055f856f
MW
100642012-02-03 Mark Wooding <mdw@distorted.org.uk>
10065
10066 * util/grub-mkconfig.in: Use umask rather than chmod to create
10067 grub.cfg.new to avoid insecure grub.cfg.
10068
4a9f8346
VS
100692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/commands/ls.c: Gettextize.
10072 * grub-core/commands/setpci.c: Likewise.
10073 * grub-core/commands/videotest.c: Likewise.
10074 * grub-core/disk/geli.c: Likewise.
10075 * grub-core/kern/mm.c: Likewise.
10076 * grub-core/lib/relocator.c: Likewise.
10077 * grub-core/loader/efi/appleloader.c: Likewise.
10078 * grub-core/loader/i386/xnu.c: Likewise.
10079 * grub-core/loader/ia64/efi/linux.c: Likewise.
10080 * grub-core/loader/xnu.c: Likewise.
10081 * grub-core/net/dns.c: Likewise.
10082 * grub-core/net/net.c: Likewise.
10083 * grub-core/script/lexer.c: Likewise.
10084 * grub-core/script/parser.y: Likewise.
10085 * grub-core/script/yylex.l: Likewise.
10086 * util/getroot.c: Likewise.
10087 * util/grub-setup.c: Likewise.
10088
a646a366
VS
100892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10092 number.
10093
54e2be26
VS
100942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10097
f7c71e68
VS
100982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10101 macro.
10102 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10103 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10104
a32d5c71
VS
101052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10108 * util/grub-install.in: Gettextize.
10109 * util/grub-mkconfig.in: Likewise.
10110 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10111 if not available.
10112 (grub_warn): Gettextize.
10113 * util/grub-mknetdir.in: Gettextize.
10114 * util/grub-mkrescue.in: Likewise.
10115 * util/grub-mkstandalone.in: Likewise.
10116 * util/grub-reboot.in: Likewise.
10117 * util/grub-set-default.in: Likewise.
10118 * util/grub.d/00_header.in: Likewise.
10119 * util/grub.d/10_hurd.in: Likewise.
10120 * util/grub.d/10_kfreebsd.in: Likewise.
10121 * util/grub.d/10_linux.in: Likewise.
10122 * util/grub.d/10_netbsd.in: Likewise.
10123 * util/grub.d/10_windows.in: Likewise.
10124 * util/grub.d/20_linux_xen.in: Likewise.
10125 * util/grub.d/30_os-prober.in: Likewise.
10126 * po/POTFILES-shell.in: Regenerate.
10127
69edd81a
RL
101282012-02-03 Richard Laager <rlaager@wiktel.com>
10129
10130 * util/grub-mkimage.c (main): Fix format-security warning.
10131 * util/grub-mkrelpath.c (main): Likewise.
10132 * util/grub-probe.c (main): Likewise.
10133
65f08dbf
RL
101342012-02-03 Richard Laager <rlaager@wiktel.com>
10135
10136 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10137 failure.
10138 Put back lost PRINT_DRIVE.
10139
e9084abe
RL
101402012-02-03 Richard Laager <rlaager@wiktel.com>
10141
10142 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10143 (grub_guess_root_devices): Replace strlen with sizeof.
10144 Avoid crash.
10145 (find_root_devices_from_poolname): Remove unused variable.
10146 Handle raidzN.
10147
cf5f7ee7
VS
101482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 Support install on multi-device filesystems.
10151
10152 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10153 (grub_guess_root_devices): ...this. Return char **. All users updated.
10154 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10155 Removed.
10156 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10157 (find_root_devices_from_poolname): ... here.
10158 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10159 Support zfs-fuse.
10160 (grub_guess_root_device): Rename to ...
10161 (grub_guess_root_devices): ... this. Return char **. All users updated.
10162 * util/grub-install.in: Handle multi-device filesystems.
10163 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10164 argument. All users updated.
10165 Handle multi-device filesystems.
10166 Use 'delim' as separator.
10167 Remove device check to allow filesystems on file.
10168 (main): Support -0 argument. Handle multi-device.
10169 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10170 Fix a cross-device check while on it.
10171 (arguments): Remove root_dev.
10172 (argp_parser): Remove -r.
10173 (main): Remove root_dev.
10174
2f53a9ed
VS
101752012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10178
17e1d934
VS
101792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10182 symbol.
10183 Reported by: NODA, Kai <nodakai>.
10184
d3e3fab5
VS
101852012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Fix ehci on amd64.
10188
10189 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10190 pointers.
10191 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10192 (grub_ehci_setup_qh): Likewise.
10193 (grub_ehci_find_qh): Likewise.
10194 (grub_ehci_transaction): Likewise.
10195 (grub_ehci_setup_transfer): Likewise.
10196 (grub_ehci_check_transfer): Likewise.
10197 (grub_ehci_portstatus): Likewise.
10198 (grub_ehci_detect_dev): Likewise.
10199 (grub_ehci_transfer_controller_data): New field td_last_phys.
10200 (grub_ehci_setup_transfer): Fill td_last_phys.
10201 (grub_ehci_check_transfer): Use td_last_phys.
10202
3008675b
SG
102032012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10204
10205 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10206 if no submenu is present.
10207
fc9b5652
AN
102082012-02-01 Aleš Nesrsta <starous@volny.cz>
10209
10210 CBI support.
10211
10212 * include/grub/usb.h (grub_usbms_protocol_t): New values
10213 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10214 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10215 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10216 (grub_usbms_dev): Add subclass, protocol and intrpt.
10217 Remove in_maxsz and out_maxsz.
10218 (grub_usbms_reset): Rename to ...
10219 (grub_usbms_bo_reset): .. this.
10220 (grub_usbms_cbi_cmd): New function.
10221 (grub_usbms_cbi_reset): Likewise.
10222 (grub_usbms_reset): Likewise.
10223 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10224 (grub_usbms_transfer): Rename to ...
10225 (grub_usbms_transfer_bo): ... this.
10226 (grub_usbms_transfer_cbi): Likewise.
10227 (grub_usbms_transfer): Likewise.
10228
a2b81d53
AN
102292012-02-01 Aleš Nesrsta <starous@volny.cz>
102302012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10233 the support for the CS5536 modification thereos and few bugfixes.
10234
10235 * grub-core/Makefile.core.def (ehci): New module.
10236 * grub-core/bus/usb/ehci.c: New file.
10237 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10238 port and hubaddr. All users updated.
10239 Save port and hubaddr into dev structure.
10240 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10241 define.
10242 * include/grub/pci.h (grub_dma_phys2virt): New function.
10243 (grub_dma_virt2phys): Likewise.
10244 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10245
b1d51f02
VS
102462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10249 check as some mkfs implementations omit it.
10250
fc694106
VS
102512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10254
6c0920e3
VS
102552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10258 Add new member volname2.
10259 (grub_jfs_label): Use volname2 if available.
10260
d1a46f9a
VS
102612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10264 over last_mounted as seen in image generated by mkfs.nilfs2.
10265 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10266
dec8ed14
VS
102672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10270 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10271 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10272
7397c69b
VS
102732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10276 over the sector.
10277
b3fe42ad
VS
102782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10281 subvolume name (by removing a bogus and useless check).
10282
10476bb0
VS
102832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10286 sizeof while on it.
10287
9c08ad87
VS
102882012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10291 (grub_scsi_read_capacity10): ... this.
10292 (grub_scsi_read_capacity16): New function.
10293 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10294 0xffffffff.
10295 Fix off-by-one error.
10296 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10297 64-bit unsigned.
10298 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10299 (grub_scsi_read_capacity10): ... this.
10300 (grub_scsi_read_capacity_data): Rename to ...
10301 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10302 (grub_scsi_read_capacity16): New struct.
10303 (grub_scsi_read_capacity16_data): Likewise.
10304 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10305 grub_scsi_cmd_read_capacity10.
10306 New command grub_scsi_cmd_read_capacity16.
10307
bc8d0f45
VS
103082012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 SCSI >2TiB support.
10311
10312 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10313 (grub_scsi_write16): Likewise.
10314 (grub_scsi_read): Use read16 when necessary.
10315 (grub_scsi_write): Likewise.
10316 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10317 (grub_scsi_write16): Likewise.
10318 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10319
cc774926
VS
103202012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 SCSI write support (for usbms mainly).
10323
10324 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10325 a const pointer.
10326 (grub_scsi_write): Implement.
10327 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10328
67639fd7
VS
103292012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10332 variable.
10333
9079d3ed
VS
103342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10337
c6a6f204
VS
103382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * po/POTFILES.in: Regenerate.
10341
ecbf8cd1
VS
103422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10345 with grub_printf to avoid unnecessary fatal failure.
10346
0b3b3b38
VS
103472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10350 (INT_MAX): Likewise.
10351 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10352 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10353 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10354 (strcpy): Likewise.
10355 (strstr): Likewise.
10356 (strchr): Likewise.
10357 (strncpy): Likewise.
10358 (strcat): Likewise.
10359 (strncat): Likewise.
10360 (strcoll): Likewise.
10361 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10362 (GRUB_INT_MAX): Likewise.
10363
db7337a3
VS
103642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10367 unexpected error.
10368 (optimize_utf8): Likewise.
10369 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10370
f37c87e1
VS
103712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/boot/i386/pc/lnxboot.S: Use
10374 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10375 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10376 location.
10377 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10378 definition.
10379 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10380
63fe43f3
VS
103812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10384 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10385 now to avoid double free.
10386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10387 hostdisk.
10388 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10389 * util/grub-probe.c (escape_of_path): Always return a new copy.
10390 (print_full_name): Escape path.
10391 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10392 Fix hints on abstractions.
10393
ebe2c961
VS
103942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10397 Don't add "root" line if no compatibility hont is available.
10398 Suggested by: Seth Goldberg.
10399
2b5336a2
VS
104002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10403 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10404 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10405 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10406
74310bd8
VS
104072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10410
c30582ba
VS
104112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * util/grub-pe2elf.c (ehdr): Make static.
10414 (shdr): Likewise.
10415 (num_sections): Likewise.
10416 (offset): Likewise.
10417
5f47782c
VS
104182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Eliminate ofpath limits and possible overflows.
10421
10422 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10423 (OF_PATH_MAX): Removed.
10424 (MAX_DISK_CAT): New const.
10425 (find_obppath): Use allocated rather than preallocated buffer.
10426 Return result. Argument of_path removed. All users updated.
10427 Add missing fdstat.
10428 (xrealpath): New function.
10429 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10430 Allocate rather than use preallocated buffer. All users updated.
10431 (__of_path_common): Use allocated rather than preallocatecd buffer.
10432 Return result. Argument of_path removed. All users updated.
10433 (vendor_is_ATA): Read only needed part form the file.
10434 (check_sas): Allocate depending on contents rather than fixed.
10435 (main) [STANDALONE]: Handle NULL result.
10436
f990cbf9
VS
104372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10440
9c6e84b8
VS
104412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 Cryptodisk write support.
10444
10445 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10446 (grub_cryptodisk_decrypt): Moved logic to ...
10447 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10448 (grub_cryptodisk_write): Implement.
10449 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10450 (grub_util_fd_write): ... this. Make global.
10451 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10452
87cf9744
VS
104532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * include/grub/list.h (grub_list_remove): Don't crash if element is
10456 removed twice.
10457
ca8c0baf
VS
104582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 Rename ofconsole to console.
10461
10462 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10463 as sysnonym to console.
10464 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10465 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10466 Rename grub_ofconsole_ to grub_console_. All users updated
10467 (grub_console_term_output): Rename "ofconsole" to "console".
10468 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10469 as "console".
10470
64c8b8f6
VS
104712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10474 handling.
10475 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10476 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10477 GRUB_DISK_DEVICE_FILE_ID.
10478
f6c434d5
VS
104792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10482 and improve performance.
10483
5858b42d
VS
104842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10487 missing ieee1275/ prefix on whole disk.
10488
4ed3c26b
VS
104892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10492 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10493
df71143e
VS
104942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10497
076e7c0f
VS
104982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Merge common RAID and LVM logic to an abstract diskfilter.
10501 Add LDM support using the same framework.
10502
10503 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10504 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10505 (libgrubmods): Remove grub-core/disk/raid.c and
10506 grub-core/partmap/gpt.c.
10507 * grub-core/Makefile.core.def (ldm): New module.
10508 (raid): Renamed to diskfilter. All users updated.
10509 * grub-core/disk/raid.c: Moved to ...
10510 * grub-core/disk/diskfilter.c: ... here.
10511 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10512 (lv_num): New var.
10513 (find_array): Renamed to ...
10514 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10515 (grub_is_array_readable): Renamed to ...
10516 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10517 (insert_array): New argument id.
10518 (is_node_readable): New function.
10519 (scan_device): Rename to ...
10520 (scan_disk): .. this. Restrict to one disk.
10521 (scan_devices): New function.
10522 (grub_diskfilter_iterate): Support multi-LV.
10523 Skip invisible and nameless LVs.
10524 (grub_diskfilter_memberlist): Support multi-LV.
10525 (grub_diskfilter_read_node): New function.
10526 (grub_raid_read): Most of logic moved to ...
10527 (read_segment): ... here
10528 (read_lv): New function.
10529 (grub_diskfilter_get_vg_by_uuid): New function.
10530 (grub_diskfilter_make_raid): Likewise.
10531 * grub-core/disk/ldm.c: New file.
10532 * grub-core/disk/lvm.c (vg_list): Removed.
10533 (lv_count): Likewise.
10534 (scan_depth): Likewise.
10535 (is_lv_readable): Likewise.
10536 (grub_lvm_getvalue): Advance pointer past the number.
10537 (find_lv): Removed.
10538 (do_lvm_scan): Refactored into ...
10539 (grub_lvm_detect): ... this. Support raid.
10540 (grub_lvm_iterate): Removed.
10541 (grub_lvm_memberlist): Likewise.
10542 (grub_lvm_open): Likewise.
10543 (grub_lvm_close): Likewise.
10544 (read_lv): Likewise.
10545 (read_node): Likewise.
10546 (is_node_readable): Likewise.
10547 (is_lv_readable): Likewise.
10548 (grub_lvm_read): Likewise.
10549 (grub_lvm_write): Likewise.
10550 (grub_lvm_dev): Use diskfilter
10551 (GRUB_MOD_INIT): Likewise.
10552 (GRUB_MOD_FINI): Likewise.
10553 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10554 new interface.
10555 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10556 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10557 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10558 grub_diskfilter_read_node.
10559 Fix a bug with xor.
10560 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10561 grub_diskfilter_read_node.
10562 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10563 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10564 (grub_disk_dev_iterate): Move from here...
10565 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10566 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10567 Make global.
10568 (grub_hostdisk_find_partition_start): Likewise.
10569 (grub_hostdisk_os_dev_to_grub_drive): New function.
10570 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10571 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10572 * util/getroot.c (make_device_name): ... here.
10573 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10574 Move to ...
10575 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10576 * grub-core/kern/emu/hostdisk.c
10577 (convert_system_partition_to_system_disk): Move to ...
10578 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10579 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10580 * util/getroot.c (device_is_wholedisk): ... here.
10581 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10582 * util/getroot.c (find_system_device): ... here.
10583 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10584 Move to ...
10585 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10586 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10587 Move to ...
10588 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10589 Handle LDM.
10590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10591 Move to ...
10592 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10593 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10594 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10595 DISKFILTER.
10596 * include/grub/raid.h: Renamed to ...
10597 * include/grub/diskfilter.h: ... this.
10598 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10599 (GRUB_RAID_LAYOUT_*): Make into array.
10600 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10601 (grub_diskfilter_vg): New struct.
10602 (grub_diskfilter_pv_id): Likewise.
10603 (grub_raid_member): Removed.
10604 (grub_raid_array): Likewise.
10605 (grub_diskfilter_pv): New struct.
10606 (grub_diskfilter_lv): Likewise.
10607 (grub_diskfilter_segment): Likewise.
10608 (grub_diskfilter_node): Likewise.
10609 (grub_diskfilter_get_vg_by_uuid): New proto.
10610 (grub_raid_register): Inline.
10611 (grub_diskfilter_unregister): Likewise.
10612 (grub_diskfilter_make_raid): New proto.
10613 (grub_diskfilter_vg_register): Likewise.
10614 (grub_diskfilter_read_node): Likewise.
10615 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10616 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10617 (grub_util_is_ldm): Likewise.
10618 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10619 (grub_hostdisk_find_partition_start): Likewise.
10620 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10621 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10622 New definition.
10623 (grub_gpt_partition_map_iterate): New proto.
10624 * include/grub/lvm.h (grub_lvm_vg): Removed.
10625 (grub_lvm_pv): Likewise.
10626 (grub_lvm_lv): Likewise.
10627 (grub_lvm_segment): Likewise.
10628 (grub_lvm_node): Likewise.
10629 * util/getroot.c [...]
10630 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10631 (probe_abstraction): Likewise.
10632 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10633 (main): Remove dead logic.
10634
8a7f9b9c
VS
106352012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 Simplify root device discover and don't fail when trying to open
10638 incorrect devices.
10639
10640 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10641 function.
10642 (get_diskname_from_path): Likewise.
10643 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10644 of iterating.
10645
30545b85
VS
106462012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10649
28ea58cf
VS
106502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10653 pastthe end.
10654
692dabca
VS
106552012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/grub-install.in: Add missing \.
10658 Reported by: gentoofan
10659
f6e4ea70
VS
106602012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10663 (direct_read): Use correct compressed size.
10664 (grub_squash_read_data): Likewise.
10665
106662012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10667
10668 * docs/grub.texi (Platform limitations): New section.
10669 (Platform-specific operations): Likewise.
10670 * docs/grub-dev.texi (Porting): Likewise.
10671
76261110
VS
106722012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 IEEE1275 disk write support.
10675
10676 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10677 const void *.
10678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10679 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10680 and seek loginc to ...
10681 (grub_ofdisk_prepare): ... here.
10682 (grub_ofdisk_write): Implement.
10683
fc36d603
VS
106842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 ARC disk write support.
10687
10688 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10689 (reopen): New argument writable. All users updated.
10690 Handle required access mode.
10691 (grub_arcdisk_write): Implement.
10692 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10693 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10694
e06c2e7a
VS
106952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10698 (read_sblock): Don't attempt to read superblocks outside the disk size.
10699
ff447958
VS
107002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10703 first superblock to find the second one when possible.
10704
9e88df39
VS
107052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * util/grub-install.in: Fix an ARC bug.
10708 Print a warning if no platform-specific setup is available.
10709
bb26e4ff
VS
107102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 Use static allocation rather than scratch pointer in reed_solomon.
10713 It decreases its size significantly and avoids a variable in .text.
10714
10715 * grub-core/lib/reed_solomon.c (scratch): Removed.
10716 (chosenstat): New const or static array.
10717 (sigma): Likewise.
10718 (errpot): Likewise.
10719 (errpos): Likewise.
10720 (sy): Likewise.
10721 (mstat): Likewise.
10722 (errvals): Likewise.
10723 (eqstat): Likewise.
10724 (pol_evaluate): Replace x with log_x argument. All users updated.
10725 (syndroms): Removed.
10726 (gauss_solve): Use statically allocated arrays.
10727 (rs_recover): Likewise.
10728 Calculate syndroms directly.
10729 (decode_block): Use statically allocated arrays.
10730 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10731 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10732
2e13ede5
VS
107332012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Eliminate fixed limit on reed solomon decoder length.
10736
10737 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10738 rather than hardcoding the address.
10739 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10740 no_reed_solomon_length.
10741 Move gate_a20 to no-reed-solomon part.
10742 Don't force a particular size of no reed-solomon part.
10743 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10744 Removed.
10745 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10746 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10747
f8a9ab12
VS
107482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/commands/wildcard.c (match_files): Handle filenames
10751 without explicit device.
10752 (wildcard_expand): Don't add explicit device if not already present.
10753 * tests/grub_script_echo1.in: Add a new expansion test.
10754
87edb894
VS
107552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 Replace single-linked with double-linked lists. It results in more
10758 compact and more efficient code.
10759
10760 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10761 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10762 (grub_list_remove): Moved from here ...
10763 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10764 (grub_prio_list_insert): Set prev.
10765 * include/grub/list.h (grub_list): Add prev. All users updated.
10766
48b391e9
VS
107672012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Handle newer autotools. Add some missing quotes while on it.
10770
10771 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10772 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10773 (pkgdata_DATA): ... here.
10774 * Makefile.util.def (update-grub_lib): Removed.
10775 * conf/Makefile.common (pkglib_DATA): Removed.
10776 (pkglib_SCRIPTS): Likewise.
10777 (pkgdata_DATA): New variable.
10778 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10779 needed.
10780 Add missing quotes.
10781 Remove unused variable while on it.
10782 * tests/util/grub-shell.in: Likewise.
10783 * util/grub-install.in: Likewise.
10784 * util/grub-mkconfig.in: Likewise.
10785 * util/grub-mknetdir.in: Likewise.
10786 * util/grub-mkrescue.in: Likewise.
10787 * util/grub-mkstandalone.in: Likewise.
10788 * util/grub.d/00_header.in: Likewise.
10789 * util/grub.d/10_hurd.in: Likewise.
10790 * util/grub.d/10_illumos.in: Likewise.
10791 * util/grub.d/10_kfreebsd.in: Likewise.
10792 * util/grub.d/10_linux.in: Likewise.
10793 * util/grub.d/10_netbsd.in: Likewise.
10794 * util/grub.d/10_windows.in: Likewise.
10795 * util/grub.d/20_linux_xen.in: Likewise.
10796 * util/grub.d/30_os-prober.in: Likewise.
10797 * util/update-grub_lib.in: Removed.
10798
107992012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10800
10801 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10802 a workaround for intel problem.
10803
66832792
PRP
108042012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
108052012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
108062012-01-23 pfsmorigo
10807
10808 * util/grub-install.in: Support dd'in into PreP partition.
10809 * util/grub-probe.c (probe): Support discovering partition type.
10810 (main): Support -t msdos_parttype.
10811
7816a17e
VS
108122012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10815 infinite recursion using counter.
10816 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10817 init to skip it if the magic check fails.
10818 (dec_stream_header): Init s->crc32.
10819
8f9d3a8c
ZB
108202012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
108212012-01-22 Zachary Bedell <pendorbound@gmail.com>
108222012-01-22 Richard Laager <rlaager@wiktel.com>
10823
10824 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10825 All users updated.
10826 (find_bestub): Determine correct size.
10827 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10828 (scan_disk): Align the size down.
10829 Call check pool before find_bestub to have ashift.
10830
b055dd32
VS
108312012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10834 dprintf in no-malloc zone.
10835
d779e9bd
ML
108362012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10837
10838 * configure.ac: Add back in test for limits.h.
10839
b508af69
VS
108402012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 Support 4K-sector NTFS.
10843
10844 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10845 (grub_ntfs_data): Remove blocksize.
10846 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10847 Remove data argument. All users updated.
10848
dad9c8b5
VS
108492012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10852 being in .text to avoid dprel references.
10853 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10854 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10855 (grub_arch_highmemsize): Likewise.
10856 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10857 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10858 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10859
d43a777e
VS
108602012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10863
10864 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10865 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10866
34e4208f
VS
108672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10870 GRUB_UTIL.
10871 (grub_set_datetime_cmos): Likewise.
10872
3ec0fc1c
VS
108732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 Make XZ compression parameters dependent on target and not host CPU.
10876
10877 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10878 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10879
22489834
VS
108802012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10883 set but not used variable.
10884
8502fbca
VS
108852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10888 created when no uuid support is compiled into mkfs.reiser.
10889
76df2068
VS
108902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10893 (utf8_to_macroman): Do the opposite.
10894 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10895
64e3f8f6
VS
108962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * configure.ac: Refise build qemu_mips w/o unifont.
10899
9c271078
VS
109002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Eliminate grub_min/grub_max prone to overflow usage.
10903
10904 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10905 (poll_nonroot_hub): Likewise.
10906 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10907 (grub_affs_label): Likewise.
10908 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10909 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10910 (grub_hfs_label): Likewise.
10911 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10912 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10913 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10914 (zap_leaf_array_get): Likewise.
10915 (dnode_get_path): Likewise.
10916 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10917 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10918 * grub-core/script/execute.c (grub_script_break): Likewise.
10919 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10920 grub_max.
10921 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10922 * include/grub/misc.h (grub_min): Removed.
10923 (grub_max): Likewise.
10924
80662dbc
VS
109252012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10926
10927 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10928 direct.inode = 0.
10929
e6da1467
VS
109302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10933
b1ac4cb1
VS
109342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10937
b4bf7c3b
VS
109382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10941 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10942
8ee1101a
VS
109432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10946 rather than a hack for grub_strncasemap.
10947
109482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 Support multiple initrds
10951 Note: part of this was accidently committed in r3739.
10952
10953 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10954 initrd.
10955 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10956 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10957 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10958 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10959 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10960
4d1e2bc9
VS
109612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10964 disks with unknown size.
10965 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10966
75b49ebe
VS
109672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Remove defines pertaining to arbitrary limits not affecting GRUB
10970 anymore.
10971
10972 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10973 (EXT2_MAX_SYMLINKCNT): Likewise.
10974 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10975 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10976 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10977 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10978 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10979 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10980 (DN_MAX_OBJECT_SHIFT): Likewise.
10981 (DN_MAX_OFFSET_SHIFT): Likewise.
10982 (DN_MAX_OBJECT): Likewise.
10983 (DNODES_PER_LEVEL_SHIFT): Likewise.
10984 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10985 (SPA_MAXBLOCKSIZE): Likewise.
10986 (SPA_BLOCKSIZES): Likewise.
10987 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10988 (MZAP_MAX_BLKSZ): Likewise.
10989
74a1dce7
VS
109902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10993 handle NULL appropriately.
10994 Remove MIN.
10995
30c7d3ce
VS
109962012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Fix efiemu.
10999
11000 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11001 cpu/types.h.
11002 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11003 * configure.ac: Fix efiemu check.
11004
3c76ea0c
VS
110052012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11008 grub_probe.
11009 Reported by: adamwill
11010
7e532280
SG
110112012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11012
11013 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11014
30492374
VS
110152012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Fix handling of wide characters in gfxterm.
11018
11019 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11020 (clear_char): Likewise.
11021 (paint_char): Skip code == NULL chars.
11022 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11023
e70cb72f
VS
110242012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/normal/charset.c: Move comment to right place.
11027
5c827cf9
VS
110282012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11031 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11032 (grub_affs_mount): Revert the correct version checking.
11033
53603892
VS
110342012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * docs/grub.texi (Unicode): Mention several other unsupported features.
11037
ff094b9b
VS
110382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11041 case statements as compile-time one.
11042 (direct_read): Prevent spurious warnings.
11043 (grub_squash_read_data): Likewise.
11044
c029da8a
VS
110452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 Various squash4 fixes and LZO and XZ support.
11048
11049 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11050 Add xzembed source files.
11051 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11052 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11053 (grub_squash_inode): New subtype long_dir.
11054 (SQUASH_TYPE_LONG_DIR): New inode type.
11055 (COMPRESSION): New enum.
11056 (XZBUFSIZ): New const.
11057 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11058 (read_chunk): Use data->decompress.
11059 (zlib_decompress): New function.
11060 (lzo_decompress): Likewise.
11061 (xz_decompress): Likewise.
11062 (squash_mount): Set new data fields.
11063 (grub_squash_iterate_dir): Handle long dir.
11064 (squash_unmount): Free xzdec and xzbuf.
11065 (grub_squash_open): Check ino type.
11066 (direct_read): Stylistic fixes. Use data->decompress.
11067 (grub_squash_read_data): Likewise.
11068 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11069 (get_byte): Likewise.
11070 (grub_zlib_disk_read): Removed.
11071 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11072 (GRUB_POSIX_BOOL_DEFINED): New define.
11073 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11074 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11075 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11076 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11077
7a45a539
VS
110782011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 Don't override more informative errors.
11081
11082 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11083 * grub-core/font/font.c (open_section): Likewise.
11084 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11085 filename. Don't override errors.
11086 (grub_cmd_openbsd_ramdisk): Don't override errors.
11087 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11088 (grub_cmd_initrd): Likewise.
11089 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11090 (grub_cmd_initrd): Likewise.
11091 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11092 (grub_cmd_linux): Likewise.
11093 (grub_cmd_initrd): Likewise.
11094 (grub_cmd_payload): Likewise.
11095 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11096 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11097 (grub_cmd_module): Likewise.
11098 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11099 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11100 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11101 (grub_cmd_xnu_mkext): Likewise.
11102 (grub_cmd_xnu_ramdisk): Likewise.
11103 (grub_xnu_check_os_bundle_required): Likewise.
11104 (grub_xnu_load_kext_from_dir): Likewise.
11105 (grub_cmd_xnu_kextdir): Likewise.
11106 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11107
b2d004db
VS
111082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11111 as 1024 in block size field. Found on one of my test images.
11112 Small optimisation while on it.
11113
ec000eac
VS
111142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11117 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11118 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11119 performance fixes while on it.
11120 (grub_sfs_close): Fix memory leak while on it.
11121 (grub_sfs_label): Convert Latin1 to UTF-8.
11122
f50e1165
VS
111232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11126 space to avoid overflows.
11127 (grub_hfs_label): Convert from macroman to UTF-8.
11128
2ae254de
VS
111292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11132
0108f491
VS
111332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11136
f45f5f89
VS
111372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * unicode: Import Unicode 6.0 data.
11140
4d8c4765
VS
111412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11142
63fa8ef9
VS
11143 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11144 outside of range.
11145
111462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11149
11150 * include/grub/charset.h (grub_getend): New function.
11151 * grub-core/script/function.c (grub_script_function_find): Use
11152 grub_getend.
11153 * grub-core/normal/completion.c (add_completion): Likewise.
11154
f3cb4a4e
VS
111552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11158 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11159 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11160 (GRUB_UNICODE_TAG_END): Likewise.
11161 (GRUB_UNICODE_LAST_VALID): Likewise.
11162
5da8dbc5
VS
111632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11166 len and make it smaller. All users updated.
11167 * util/import_unicode.py: Put length and not end character.
11168 Check length.
11169
8569f13d
VS
111702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 Make better Unicode-compliant and unify some UTF-8 code pathes.
11173
11174 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11175 valid character.
11176 (grub_is_valid_utf8): Use grub_utf8_process.
11177 Check resulting code range.
11178 (grub_utf8_to_ucs4): Use grub_utf8_process.
11179 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11180 valid character.
11181
cc4fddf5
VS
111822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11185
bbc47747
VS
111862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * docs/grub.texi (Filesystems): Mention AFS.
11189
f63d6bf4
VS
111902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * docs/grub.texi (Filesystems): Clarify restrictions.
11193 (Regexp): Mention non-Unicode regexp behaviour.
11194 (Other): Mention non-Unicode matching behaviour.
11195
74bbf0db
VS
111962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11197
f63d6bf4 11198 Make HFS implementation use MacRoman.
74bbf0db
VS
11199
11200 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11201 (macroman): New const array.
11202 (macroman_to_utf8): New function.
11203 (utf8_to_macroman): Likewise.
11204 (grub_hfs_find_dir): Use utf8_to_macroman.
11205 (grub_hfs_dir): Use macroman_to_utf8.
11206 Set case_insensitive.
11207
4ea0316e
VS
112082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11211
d3c13cbd
VS
112122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Integrate hints into autogeneration scripts.
11215
11216 * docs/grub.texi (Filesystems): Add a hostdisk example.
11217 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11218 (grub-probe): Add ofpath.
11219 * gentpl.py: Remove group nosparc64.
11220 * grub-core/commands/search.c (cache_entry): New struct.
11221 (cache): New var.
11222 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11223 * grub-core/commands/search_wrap.c (options): Add platform-specific
11224 hint options.
11225 (grub_cmd_search): Handle platform-specific hints.
11226 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11227 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11228 (grub_util_biosdisk_data): Likewise.
11229 (grub_util_biosdisk_open): Set device_map.
11230 (read_device_map): Handle "" as indication of no map.
11231 Set device_map.
11232 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11233 (grub_util_biosdisk_get_compatibility_hint): New function.
11234 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11235 * include/grub/emu/hostdisk.h
11236 (grub_util_biosdisk_get_compatibility_hint): New proto.
11237 * util/grub-install.in: Don't call grub-mkdevicemap.
11238 Add platform-specific hint to load.cfg.
11239 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11240 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11241 hints. Set root preliminary to compatibility hint, not to OS name.
11242 * util/grub-probe.c (PRINT_*): Add hints.
11243 (print): Make static.
11244 (escape_of_path): New function.
11245 (guess_bios_drive): Likewise.
11246 (guess_efi_drive): Likewise.
11247 (guess_baremetal_drive): Likewise.
11248 (print_full_name): Likewise.
11249 (probe): Handle hints.
11250 (main): Likewise.
11251 * util/ieee1275/devicemap.c: Removed.
11252 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11253 updated.
11254 (grub_util_devname_to_ofpath): Return NULL on failure.
11255
11256 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11257 resource leak.
11258 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11259
11260 * po/POTFILES.in: Regenerated.
11261
11262 Allow purely long options
11263
11264 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11265 (SHORT_ARG_USAGE): Likewise.
11266 (grub_arg_show_help): Compare opt with help_options.
11267 (parse_option): Receive opt as argument. If makes big simplificatons.
11268 All users updated
11269
00ce2df3
VS
112702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11273 Restructure to avoid warning.
11274
e77e325f
VS
112752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * util/grub-install.in: Account for possible escaped comma in device
11278 name.
11279
165099ea
VS
112802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11283 channel.
11284
ce4a999d
VS
112852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11288 allocation and zero-setting.
11289 (grub_ieee1275_get_devname): Check that alias is complete.
11290
379586ad
VS
112912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11294 unaligned segments.
11295
9197b0ad
VS
112962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11299 prefix.
11300 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11301 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11302 Add ieee1275 prefix.
11303
edddb7f9
VS
113042011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * docs/grub.texi (Filesystems): Update.
11307
a1a8b1b9
VS
113082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 Support odc, newc and bigendian cpio formats.
11311
11312 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11313 * grub-core/Makefile.core.def (newc): New module.
11314 (odc): Likewise.
11315 (cpio_be): Likewise.
11316 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11317 (MAGIC): Likewise.
11318 (MAGIC2): Likewise.
11319 (head) [MODE_ODC]: Adapt for the format.
11320 (head) [MODE_NEWC]: Likewise.
11321 (head) [!MODE_*]: Write fields of interest as arrays.
11322 (MAGIC_USTAR): Removed.
11323 (read_number) [MODE_NEWC]: Change to hex.
11324 (read_number) [!MODE_*]: Parse binary arrays.
11325 (grub_cpio_find_file): Factor out the code for better structure and
11326 always use read_number.
11327 (grub_cpio_mount): Use MAGIC and MAGIC2.
11328 (grub_cpio_dir): Exit on first hook non-0 return.
11329 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11330 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11331 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11332 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11333 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11334 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11335 * grub-core/fs/newc.c: New file.
11336 * grub-core/fs/odc.c: Likewise.
11337 * grub-core/fs/cpio_be.c: Likewise.
11338
58eba9ee
VS
113392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 Fix handling of tar numbers occupying the whole field.
11342
11343 * grub-core/fs/cpio.c (read_number): New function.
11344 (grub_cpio_find_file): Use read_number instead of strtoull.
11345
a54a0e12
VS
113462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11349 occupying the whole field size.
11350
a6120aca
LA
113512011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11352
11353 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11354
a93964ce
VS
113552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11358
3ea1ca46
SG
113592011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11360
11361 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11362 TARGET_IMG_LDFLAGS.
11363
b87f7ef2
VS
113642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11367 (mountinfo_entry): Increase the field size to take escaping into
11368 account.
11369 (find_root_device_from_libzfs): Add one byte to size of strings for
11370 security.
11371
62092395
VS
113722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11375 an assert.
11376 * util/grub-setup.c (setup): Likewise.
11377
1f0b1a77
VS
113782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11381 _LzmaDecodeA.
11382
8eba9997
VS
113832011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * docs/grub.texi (Internationalisation): New section.
11386
dd0c91e9
VS
113872011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * docs/grub.texi (Loopback booting): New section.
11390
113912011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11392
11393 * util/grub-mkstandalone.in: Fix minor typo errors.
11394
198e150a
VS
113952011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11398
11399 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11400 net/icmp.c and net/icmp6.c.
11401 (http): New module.
11402 (priority_queue): Likewise.
11403 * grub-core/io/bufio.c: Rewritten.
11404 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11405 TYPE_WITH_CONFIGFILE_OPTION.
11406 (legacy_commands): Add bootp and dhcp.
11407 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11408 (grub_legacy_parse): Likewise.
11409 * grub-core/lib/priority_queue.c: New file.
11410 * grub-core/net/arp.c: Add missing license header.
11411 (arp_find_entry): Removed.
11412 (arp_find_entry): Likewise.
11413 (grub_net_arp_resolve): Rename to ...
11414 (grub_net_arp_send_request): ...this.
11415 (grub_net_arp_receive): New card argument.
11416 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11417 Set router and DNS server.
11418 (grub_net_configure_by_dhcp_ack): Handle routing information.
11419 (grub_cmd_bootp): Set checksum.
11420 (grub_bootp_init): Remove net_dhcp.
11421 * grub-core/net/dns.c: New file.
11422 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11423 completion.
11424 (get_card_packet): Handle allocation.
11425 (grub_efinet_findcards): Set mtu.
11426 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11427 (get_card_packet): Handle allocation.
11428 (emucard): Set mtu.
11429 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11430 (GRUB_MOD_INIT): Set mtu.
11431 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11432 mtu.
11433 (get_card_packet): Handle allocation.
11434 (grub_ofnet_findcards): Set mtu.
11435 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11436 assert.
11437 (grub_net_recv_ethernet_packet): Handle IPv6.
11438 * grub-core/net/http.c: New file.
11439 * grub-core/net/icmp.c: Likewise.
11440 * grub-core/net/icmp6.c: Likewise.
11441 * grub-core/net/ip.c (ip6addr): New type.
11442 (ip6hdr): Likewise.
11443 (reassemble): Likewise.
11444 (cmp): New function.
11445 (reassembles): New variable.
11446 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11447 (id): New variable.
11448 (send_fragmented): New function.
11449 (grub_net_send_ip_packet): Rename to ...
11450 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11451 Handle non-UDP.
11452 (grub_net_recv_ip_packets): Rename to ...
11453 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11454 (free_rsm): New function.
11455 (free_old_fragments): Likewise.
11456 (grub_net_recv_ip4_packets): New function.
11457 (grub_net_send_ip6_packet): Likewise.
11458 (grub_net_send_ip_packet): Likewise.
11459 (grub_net_recv_ip6_packets): Likewise.
11460 (grub_net_recv_ip_packets): Likewise.
11461 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11462 (LINK_LAYER_CACHE_SIZE): New const.
11463 (link_layer_find_entry): New function.
11464 (grub_net_link_layer_add_address): Likewise.
11465 (grub_net_link_layer_resolve_check): Likewise.
11466 (grub_net_link_layer_resolve): Likewise.
11467 (grub_net_ipv6_get_slaac): Likewise.
11468 (grub_net_ipv6_get_link_local): Likewise.
11469 (grub_cmd_ipv6_autoconf): Likewise.
11470 (parse_ip): Handle one number representation.
11471 (parse_ip6): New functoion.
11472 (match_net): Handle IPv6.
11473 (grub_net_resolve_address): Handle IPv6 and DNS.
11474 (grub_net_resolve_net_address): Handle IPv6.
11475 (route_cmp): New function.
11476 (grub_net_route_address): Find best route.
11477 (grub_net_addr_to_str): Handle IPv6.
11478 (grub_net_addr_cmp): New function.
11479 (grub_net_add_addr): Register local route.
11480 (print_net_address): Handle net address.
11481 (grub_net_poll_cards): Retransmit TCP.
11482 (grub_net_poll_cards_idle_real): Likewise.
11483 (have_ahead): New function.
11484 (grub_net_seek_real): Use underlying seek.
11485 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11486 * grub-core/net/tcp.c: New file.
11487 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11488 (cmp): New function.
11489 (ack): Likewise.
11490 (tftp_receive): Handle unordered input.
11491 (destroy_pq): New function.
11492 (tftp_close): Close pq.
11493 * grub-core/net/udp.c: Put missing license header.
11494 (grub_net_udp_socket): New function.
11495 (udp_socket_register): Likewise.
11496 (grub_net_udp_close): Likewise.
11497 (grub_net_recv_udp_packet): Check checksum.
11498 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11499 * include/grub/misc.h (grub_memchr): New function.
11500 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11501 (grub_net_card_driver): Return buf in recv.
11502 (grub_net_slaac_mac_list): New struct.
11503 (grub_network_level_protocol_id): Add ipv6.
11504 (grub_net_network_level_addr): Likewise.
11505 (grub_net_network_level_net_addr): Likewise.
11506 (grub_net_app_protocol): Add seek.
11507 (grub_net_socket): Removed.
11508 (grub_net_sockets): Likewise.
11509 (grub_net_socket_register): Likewise.
11510 (grub_net_socket_unregister): Likewise.
11511 (FOR_NET_SOCKETS): Likewise.
11512 (grub_net_add_addr): Add const.
11513 (GRUB_NET_BOOTP_*): New enum.
11514 (grub_net_addr_cmp): New proto.
11515 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11516 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11517 (grub_net_hwaddr_to_str): NEw proto.
11518 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11519 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11520 (grub_dns_init): New proto.
11521 (grub_dns_fini): Likewise.
11522 (grub_net_tcp_retransmit): Likewise.
11523 (grub_net_link_layer_add_address): Likewise.
11524 (grub_net_link_layer_resolve_check): Likewise.
11525 (grub_net_link_layer_resolve): Likewise.
11526 (grub_net_dns_lookup): Likewise.
11527 (grub_net_add_dns_server): Likewise.
11528 (grub_net_remove_dns_server): Likewise.
11529 (GRUB_NET_TRIES): New const.
11530 (GRUB_NET_INTERVAL): Likewise.
11531 * include/grub/net/arp.h: Mostly rewritten.
11532 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11533 * include/grub/net/ip.h: Mostly rewritten.
11534 * include/grub/net/netbuff.h: Indent.
11535 * include/grub/net/tcp.h: New file.
11536 * include/grub/net/udp.h: Mostly rewritten.
11537 * include/grub/priority_queue.h: New file.
11538 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11539 (grub_swap_bytes64_compile_time): Likewise.
11540 (grub_cpu_to_be16_compile_time): Likewise.
11541 (grub_cpu_to_be32_compile_time): Likewise.
11542 (grub_cpu_to_be64_compile_time): Likewise.
11543 (grub_be_to_cpu64_compile_time): Likewise.
11544
215c1800
VS
115452011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11548 UINT_TO_PTR with cast.
11549
c17e546c
VS
115502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11553 don't use them.
11554
ff6b18b6
VS
115552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11558 already there.
11559
70ffcc93
VS
115602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11563 confusing ipxe.
11564
e5f4d260
VS
115652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11568 Add missing const attribute.
11569 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11570 Likewise.
11571 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11572 Likewise.
11573
8e54b4b7
VS
115742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11577 misaligned access.
11578 (serpent_setkey): Likewise.
11579 (serpent_encrypt_internal): Likewise.
11580 (serpent_decrypt_internal): Likewise.
11581 (serpent_encrypt): Don't put an alignment-increasing cast.
11582 (serpent_decrypt): Likewise.
11583 (serpent_test): Likewise.
11584
813c0a2b
VS
115852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11588
f2b60fbd
VS
115892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11592
11593 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11594 grub_addr_t casts.
11595 (PTR_TO_UINT64): Likewise.
11596 (PTR_TO_UINT32): Likewise.
11597
5ef5c511
VS
115982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11601 because of stack.
11602 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11603 limit.
11604
c476e6df
VS
116052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11608 text_width > available width a bit more gracefully.
11609
384ad7cc
VS
116102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11613 current address calculation.
11614
96f8caf8
VS
116152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11618 stack.
11619 (encode_block): Likewise.
11620
276b7a8b
VS
116212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11624 certainety.
11625
e3fd394a
VS
116262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11629 non-RS part to avoid RS messing with GDT.
11630 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11631 Increase to suit in realmode routines.
11632
116332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * grub-core/kern/i386/realmode.S: Increase alignment.
11636 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11637
ee9c2e7a
VS
116382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11641 be deterministic.
11642 (syndroms): Compute 0 syndrom.
11643 (rs_recover): Use 0 syndrom.
11644
7a7f7cc9
VS
116452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11648
a14b16d1
VS
116492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11652 brackets.
11653
9f59e9fc
VS
116542011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11655
ca1b552c
VS
11656 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11657 account.
11658 (get_top_pad): Likewise.
11659 (get_right_pad): Likewise.
11660 (get_bottom_pad): Likewise.
11661
116622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11665
e739d698
VS
116662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11669 attribute as the structure isn't guaranteed to be properly aligned.
11670 (grub_efi_pci_device_path): Likewise.
11671 (grub_efi_pccard_device_path): Likewise.
11672 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11673 specify the size of `memory_type'.
11674 (grub_efi_vendor_device_path): Likewise.
11675 (grub_efi_controller_device_path): Likewise.
11676 (grub_efi_acpi_device_path): Likewise.
11677 (grub_efi_expanded_acpi_device_path): Likewise.
11678 (grub_efi_atapi_device_path): Likewise.
11679 (grub_efi_scsi_device_path): Likewise.
11680 (grub_efi_fibre_channel_device_path): Likewise.
11681 (grub_efi_1394_device_path): Likewise.
11682 (grub_efi_usb_device_path): Likewise.
11683 (grub_efi_usb_class_device_path): Likewise.
11684 (grub_efi_i2o_device_path): Likewise.
11685 (grub_efi_mac_address_device_path): Likewise.
11686 (grub_efi_ipv4_device_path): Likewise.
11687 (grub_efi_ipv6_device_path): Likewise.
11688 (grub_efi_infiniband_device_path): Likewise.
11689 (grub_efi_uart_device_path): Likewise.
11690 (grub_efi_vendor_messaging_device_path): Likewise.
11691 (grub_efi_hard_drive_device_path): Likewise.
11692 (grub_efi_cdrom_device_path): Likewise.
11693 (grub_efi_vendor_media_device_path): Likewise.
11694 (grub_efi_file_path_device_path): Likewise.
11695 (grub_efi_protocol_device_path): Likewise.
11696 (grub_efi_piwg_device_path): Likewise.
11697 (grub_efi_bios_device_path): Likewise.
11698
cb8f88ea
VS
116992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11702 (grub_ucs4_to_utf8_alloc): Likewise.
11703 (grub_ucs4_to_utf8): Likewise.
11704 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11705 (grub_ucs4_to_utf8_alloc): Likewise.
11706
309e5352
VS
117072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 AFFS never uses unicode.
11710
11711 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11712 (grub_latin1_to_utf8): New inline function.
11713 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11714
e7987e1b
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11718 overflow.
11719
efc2616e
VS
117202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11723 (grub_squash_dirent_header): Likewise.
11724 (read_chunk): Don't double swap.
11725 (grub_squash_iterate_dir): Fix swap sizes.
11726
3c349f5a
VS
117272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11730
b453412d
VS
117312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11734 (grub_hfs_iterate_dir): Likewise.
11735
12e9d4d1
VS
117362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 Fix video on platforms where unaligned access is forbidden.
11739 Make several optimisations while on it.
11740
11741 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11742 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11743 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11744 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11745 Disable.
11746 (grub_video_fbblit_replace_16bit_1bit):
11747 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11748 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11749 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11750 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11751 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11752 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11753 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11754 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11755 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11756 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11757 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11758 (grub_video_fbblit_replace_index_RGB888): Likewise.
11759 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11760 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11761 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11762 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11763 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11764 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11765 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11766 Disable.
11767 (grub_video_fbblit_blend_XXX565_1bit):
11768 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11769 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11770 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11771 void *.
11772 * grub-core/video/fb/video_fb.c (common_blitter)
11773 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11774 (grub_video_fb_create_render_target_from_pointer)
11775 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11776 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11777 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11778 definition.
11779 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11780
ace96609
VS
117812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11784 HH22 and HM10 relocations.
11785
fd261d73
VS
117862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11789
e59b7857
VS
117902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11793 allocation succeeded.
11794
9b4baaa4
VS
117952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11798 argument a u8 pointer. All users updated.
11799 Handle unaligned buffers.
11800
dc713193
VS
118012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11804 add_part to workaround compiler bug.
11805
30dd48c2
VS
118062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11809
0c6087a8
VS
118102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11813 Reserve alignment invariants.
11814 (grub_multiboot_load): Likewise.
11815 (retrieve_video_parameters): Likewise.
11816 (grub_multiboot_make_mbi): Likewise.
11817
c2e77777
VS
118182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11821 incorrect pointer.
11822
b70b6d11
VS
118232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11826 (grub_pata_pio_write): Likewise.
11827
02a2bf83
VS
118282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Add noreturn attributes and remove unreachable code.
11831
11832 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11833 code.
11834 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11835 code. Mark as noreturn.
11836 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11837 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11838 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11839 unreachable code.
11840 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11841 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11842 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11843 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11844 * include/grub/kernel.h (grub_main): Mark as noreturn.
11845 * include/grub/reader.h (grub_rescue_run): Likewise.
11846
2019d09e
VS
118472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11850 redundant declaration.
11851
d1c501ee
VS
118522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11855 redundant declaration.
11856 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11857
61664420
VS
118582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11861 to ensure alignment.
11862 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11863 alignment. Ensure tmp alignment.
11864 (grub_cmd_hdparm): Ensure buf alignment.
11865 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11866 to ensure alignment.
11867 (grub_ata_dumpinfo): Ensure text alignment.
11868 (grub_atapi_identify): Preserve alignment invariant.
11869 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11870
0d51ee20
VS
118712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11874 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11875 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11876 * include/grub/misc.h (grub_reboot)
11877 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11878 (grub_halt) [__mips__]: Likewise.
11879
753ef8c1
VS
118802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11883 Remove redundant declaration.
11884 (grub_mmap_get_post64): Likewise.
11885 (grub_mmap_get_upper): Likewise.
11886 (grub_mmap_get_lower): Likewise.
11887
85c85365
VS
118882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11891 uint32_t * to ensure alignment.
11892 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11893
a23f2cc4
VS
118942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11895
93018f64
VS
11896 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11897 uint16_t * to ensure alignment.
11898 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11899 alignment.
11900
119012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11904 to ensure alignment.
11905 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11906
58acccd6
VS
119072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11910 Handle unaligned pointers.
11911 (u32at): Likewise.
11912 (u64at): Likewise.
11913 (fixup): Use byte access instead of v16at.
11914 (find_attr): Fix imporper usage of v32at.
11915 (read_data): Likewise.
11916 (list_file): Handle byte-swapping and unaligned strings.
11917 (grub_ntfs_label): Likewise.
11918
9b05cad7
VS
119192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11922 as it's not necessarily aligned.
11923
b3950b84
VS
119242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11927 redundant declaration.
11928 (grub_serial_init): Likewise.
11929 (grub_terminfo_init): Likewise.
11930
fcd232b7
VS
119312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11934 function.
11935 (ZAP_HASH_IDX): Likewise.
11936 (ZAP_LEAF_HASH_SHIFT): Likewise.
11937 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11938 (LEAF_HASH): Likewise.
11939 (ZAP_LEAF_NUMCHUNKS): Likewise.
11940 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11941 alignment invariants. Return pointer. All users updated.
11942 (ZAP_LEAF_ENTRY): Make into inline function.
11943 (NBBY): Removed.
11944 (xor): LIkewise.
11945 (xor_out): Use grub_crypto_xor.
11946 (dnode_get_path): Use grub_get_unaligned.
11947 (nvlist_find_value): Likewise.
11948 (grub_zfs_nvlist_lookup_uint64): Likewise.
11949 (grub_zfs_nvlist_lookup_string): Likewise.
11950 (get_nvlist_size): Likewise.
11951 (grub_zfs_open): Likewise.
11952 (fill_fs_info): Likewise.
11953 (grub_zfs_dir): Likewise.
11954 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11955 alignment invariants.
11956 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11957 necessarily aligned.
11958
f138623a
VS
119592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11960
11961 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11962
564840dc
VS
119632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11966 arithmetic to conserve alignment invariants.
11967
9b40df20
VS
119682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11971 redundant declaration.
11972 (grub_efiemu_mm_obtain_request): Likewise.
11973 (grub_efiemu_prepare): Likewise.
11974
d1c930f9
VS
119752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11978 to match types.
11979
4c5f3056
VS
119802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11983 case of aunaligned recptr.
11984 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11985 alignment.
11986 (grub_hfsplus_btree_search): Handle unaligned index.
11987
728cba91
VS
119882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11991 to get freetag and skip.
11992
eb561f31
VS
119932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11996 array.
11997 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11998 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11999
20993fbb
VS
120002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12003 name for checksum and fix allocation algorithm.
12004
1f313b94
VS
120052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * include/grub/types.h (grub_properly_aligned_t): New type.
12008 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12009 (grub_get_unaligned16): Add explicit casts.
12010 (grub_get_unaligned32): Likewise.
12011 (grub_get_unaligned64): Likewise.
12012 (grub_set_unaligned16): New function.
12013 (grub_set_unaligned32): Likewise.
12014
47ae27ec
VS
120152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12018
78c2cd1c
VS
120192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12022 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12023 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12024
53072f9b
VS
120252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12028 conditionals.
12029
055dc239
VS
120302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12033 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12034
496bd074
VS
120352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 Unify and improve RAID and crypto xor.
12038
12039 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12040 changed to grub_crypto_xor
12041 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12042 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12043 Use bigger types when possible.
12044
ef6e4335
VS
120452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * grub-core/disk/raid.c (scan_devices): Fix condition.
12048
5d048bf2
VS
120492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12052 Make name a const ptr.
12053
ee533335
VS
120542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12057 first argument a const pointer.
12058 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12060 proto.
12061 (grub_children_iterate): Likewise.
12062 (grub_machine_mmap_iterate): Remove redundant declaration.
12063
cc8f3668
VS
120642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12067 (grub_cmd_acpi) [!x86]: Disable EBDA.
12068
c5fc563a
VS
120692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 Enable UTF8 in gnulib regexp.
12072
12073 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12074 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12075 (isupper): Use grub_isupper.
12076 (isascii): New inline function.
12077 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12078 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12079 * grub-core/normal/charset.c (grub_utf8_process): New function.
12080 (grub_utf8_to_utf16): Use grub_utf8_process.
12081 (grub_encode_utf8_character): New function.
12082 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12083 * include/grub/charset.h (grub_utf8_process): New declaration.
12084 (grub_encode_utf8_character): Likewise.
12085 * include/grub/misc.h (grub_islower): New inline function.
12086 (grub_isupper): Likewise.
12087 (grub_strchrsub): Moved down to fix the definitions.
12088
0af2346f
VS
120892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12092 specification.
12093
74dbd244
VS
120942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * include/grub/loader.h (grub_loader_register_preboot_hook):
12097 Use struct preboot * and not void * for handle. All users updated.
12098 (grub_loader_unregister_preboot_hook): Likewise.
12099
1bc8f60d
VS
121002011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12103 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12104 UTF-16-BE. All users updated.
12105 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12106 (grub_hfsplus_iterate_dir): Likewise.
12107 (grub_hfsplus_label): Likewise.
12108
48d6e456
VS
121092011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12112
bf3a3857
VS
121132011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Add missing const qualifiers.
12116
12117 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12118 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12119 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12120 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12121 (grub_lvm_check_flag): Likewise.
12122 * grub-core/efiemu/i386/coredetect.c
12123 (grub_efiemu_get_default_core_name): Likewise
12124 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12125 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12126 * grub-core/fs/ntfs.c (fixup): Likewise.
12127 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12128 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12129 (fzap_lookup): Likewise.
12130 (zap_lookup): Likewise.
12131 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12132 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12133 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12134 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12135 (grub_freebsd_add_meta_module): Likewise.
12136 (grub_cmd_freebsd_module): Likewise.
12137 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12138 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12139 (grub_xnu_writetree_get_size): Likewise.
12140 (grub_xnu_writetree_toheap_real): Likewise.
12141 (grub_xnu_find_key): Likewise.
12142 (grub_xnu_create_key): Likewise.
12143 (grub_xnu_create_value): Likewise.
12144 (grub_xnu_register_memory): Likewise.
12145 (grub_xnu_check_os_bundle_required): Likewise.
12146 (grub_xnu_scan_dir_for_kexts): Likewise.
12147 (grub_xnu_load_kext_from_dir): Likewise.
12148 * grub-core/normal/color.c (color_list): Likewise.
12149 * grub-core/normal/completion.c (current_word): Likewise.
12150 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12151 * grub-core/term/serial.c (grub_serial_find): Likewise.
12152 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12153 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12154 Likewise.
12155 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12156 (grub_freebsd_add_meta_module): Likewise.
12157 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12158 * include/grub/net.h (grub_net_card_driver): Likewise.
12159 (grub_net_card): Likewise.
12160 (grub_net_app_protocol): Likewise.
12161 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12162 * include/grub/serial.h (grub_serial_find): Likewise.
12163 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12164 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12165 (grub_xnu_create_value): Likewise.
12166 (grub_xnu_find_key): Likewise.
12167 (grub_xnu_scan_dir_for_kexts): Likewise.
12168 (grub_xnu_load_kext_from_dir): Likewise.
12169
12170 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12171 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12172 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12173 Moved from here ...
12174 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12175
112b4837
CW
121762011-11-28 Colin Watson <cjwatson@ubuntu.com>
12177
12178 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12179
49e891ac
VS
121802011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12183 (read_device): Fix size calculation.
12184
fd258e5c
RM
121852011-11-25 Robert Millan <rmh@gnu.org>
12186
12187 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12188 (find_root_device_from_libzfs): Add zpool output parser to be used
12189 as fallback when libzfs isn't available.
12190
78845dc2
SG
121912011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12192
12193 * po/Makefile.in.in: Add missing escape-continuation.
12194
adac5211
VS
121952011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12198
10b64f1c
VS
121992011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12202
bb416954
VS
122032011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12206
bdfe9eeb
VS
122072011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12210
581ffa8a
VS
122112011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * grub-core/lib/adler32.c: Add missing license specification.
12214 * grub-core/lib/crc64.c: Likewise.
12215 * grub-core/loader/i386/pc/plan9.c: Likewise.
12216 * grub-core/partmap/plan.c: Likewise.
12217
2536cf64
LK
122182011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12219
12220 Add facility to debug GRUB with gdb under qemu.
12221
12222 * grub-core/gdb_grub.in: New file.
12223 * grub-core/gmodule.pl.in: Likewise.
12224 * grub-core/Makefile.core.def (gmodule.pl): New script.
12225 (gdb_grub): Likewise.
12226
bc108a4a
VS
122272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * util/grub-mount.c (argp_parser): Accept relative pathes.
12230 * util/grub-fstest.c (argp_parser): Likewise.
12231
111c1778
VS
122322011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 Plan9 support.
12235
12236 * Makefile.util.def (libgrubmods): Add
12237 grub-core/partmap/plan.c.
12238 * docs/grub.texi: Notice Plan9 support.
12239 * grub-core/Makefile.core.def (plan9): New module.
12240 (part_plan): Likewise.
12241 * grub-core/loader/i386/pc/plan9.c: New file.
12242 * grub-core/partmap/plan.c: Likewise.
12243 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12244 define.
12245 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12246 * include/grub/mm.h (grub_extend_alloc): New inline function.
12247
c30be3b6
VS
122482011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 Make Reed-Solomon faster by using power of generator representation of
12251 GF(256)*.
12252
12253 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12254 (gf_double_t): Likewise.
12255 (gf_invert): Removed.
12256 (gf_powx): New array.
12257 (gf_powx_inv): Likewise.
12258 (scratch): Move higher.
12259 (gf_reduce): Removed.
12260 (gf_mul): Use powx.
12261 (gf_invert): Likewise.
12262 (init_inverts): Replaced with ...
12263 (init_powx): ...this. All users updated.
12264 (pol_evaluate): Replace multiplications with additions.
12265 (rs_encode): Likewise.
12266 (gauss_eliminate): Call gf_invert.
12267 (grub_reed_solomon_add_redundancy): Call init_powx.
12268 (grub_reed_solomon_recover): Call init_powx unconditionally.
12269
fa5aeffc
VS
122702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12273
a346b81c
VS
122742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12277 disk->partiton for safety.
12278
d89ee414
VS
122792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12282 Fix a memory leak.
12283 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12284
91ee7b6d
VS
122852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12288
91e5a33d
VS
122892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12292
9edd7be2
VS
122932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 Fix spaces handling in proc/self/mountinfo.
12296
12297 * util/getroot.c (unescape): New function.
12298 (grub_find_root_device_from_mountinfo): Use unescape.
12299
ba102053
VS
123002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Support ZFS embedding.
12303
12304 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12305 (grub_zfs_fs): Register grub_zfs_embed.
12306
aa94b870
VS
123072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 Fix MIPS compilation.
12310
12311 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12312 * include/grub/offsets.h: Rename decompressor fields from
12313 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12314 * util/grub-mkimage.c (image_targets): Use new names.
12315
5fbdac14
VS
123162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Defer multiboot device parsing until we're in compressed part.
12319
12320 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12321 bsd_part. setdevice has fallen into disuse.
12322 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12323 (bsd_part): Likewise.
12324 (boot_dev): New variable.
12325 (multiboot_trampoline): Don't parse multiboot device.
12326 Pass multiboot device in %edx.
12327 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12328 grub_boot_device.
12329 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12330 Likewise.
12331 * grub-core/kern/i386/pc/startup.S: Save edx.
12332 (grub_boot_drive): Removed.
12333 (grub_install_dos_part): Likewise.
12334 (grub_install_bsd_part): Likewise.
12335 (grub_boot_device): New variable.
12336 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12337 (grub_install_bsd_part): Likewise.
12338 (grub_boot_drive): Likewise.
12339 (grub_boot_device): New variable.
12340 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12341 Removed.
12342 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12343 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12344 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12345 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12346 * util/grub-install.in: Remove redundant condition.
12347
691cbb58
VS
123482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 Fix bug introduced by previous commit.
12351
12352 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12353
60240b8b
VS
123542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 Use decompressors framework on i386-pc. It increases core size
12357 by 46 bytes but improves compatibility and maintainability.
12358
12359 * grub-core/Makefile.core.def (lzma_decompress): New image.
12360 (kernel): Add i386_pc_ldflags.
12361 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12362 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12363 to real_to_prot, prot_to_real and device info.
12364 * include/grub/offsets.h: Renamed decompressor offsets.
12365 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12366 (image_target_desc): Remove raw_size and rename decompressor fields.
12367 (compress_kernel): Handle lzma.
12368 (generate_image): Handle decompressors on i386-pc.
12369
e9d3421c
VS
123702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * configure.ac: Add -fno-asynchronous-unwind-tables.
12373
2b23074a
VS
123742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Move assembly code to C by using intwrap. It increases core size
12377 by 88 bytes but improves compatibility and maintainability.
12378
12379 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12380 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12381 ... here. Translated to C.
12382 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12383 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12384 ... here. Translated to C.
12385 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12386 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12387 ... here. Translated to C.
12388 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12389 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12390 ... here. Translated to C.
12391 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12392 * grub-core/term/i386/pc/console.c (grub_console_cls):
12393 ... here. Translated to C.
12394 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12395 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12396 ... here. Translated to C.
12397 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12398 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12399 Translated to C.
12400 * grub-core/term/i386/pc/console.c (int10_9): New function.
12401 (grub_console_putchar): Likewise.
12402 * include/grub/i386/pc/console.h: Removed the not anymore shared
12403 functions.
12404
678f4b67
VS
124052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Move grub_chainloader_real_boot out of the kernel.
12408
12409 * grub-core/Makefile.am: Remove machine/loader.h.
12410 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12411 Removed.
12412 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12413 variable.
12414 (grub_relocator16_keep_a20_enabled): Likewise.
12415 (grub_relocator16_boot): Fill new variables.
12416 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12417 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12418 relocator.
12419 (grub_chainloader_unload): Likewise.
12420 (grub_chainloader_cmd): Likewise.
12421 * include/grub/i386/pc/loader.h: Removed.
12422 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12423 and esi. All initialisers updated.
12424
4626edf6
VS
124252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
124262011-11-12 Colin Watson <cjwatson@ubuntu.com>
12427
12428 * Makefile.util.def (grub-mount): New util.
12429 * .bzrignore: Add grub-mount.
12430 * configure.ac: Check for fuse and enable grub-mount if available.
12431 * docs/man/grub-mount.h2m: New file.
12432 * util/grub-mount.c: Likewise.
12433
10f0117b
VS
124342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * grub-core/commands/efi/fixvideo.c: Gettextize.
12437 * grub-core/commands/hashsum.c: Likewise.
12438 * grub-core/commands/i386/cmostest.c: Likewise.
12439 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12440 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12441 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12442 * grub-core/commands/lsmmap.c: Likewise.
12443 * grub-core/commands/menuentry.c: Likewise.
12444 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12445 * grub-core/commands/setpci.c: Likewise.
12446 * grub-core/loader/i386/bsd.c: Likewise.
12447 * grub-core/loader/i386/linux.c: Likewise.
12448 * util/getroot.c: Likewise.
12449 * util/grub-editenv.c: Likewise.
12450 * util/grub-fstest.c: Likewise.
12451 * util/grub-mkfont.c: Likewise.
12452 * util/grub-mkimage.c: Likewise.
12453 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12454 * util/grub-pe2elf.c: Likewise.
12455 * util/grub-probe.c: Likewise.
12456 * util/grub-setup.c: Likewise.
12457 * util/ieee1275/ofpath.c: Likewise.
12458 * util/misc.c: Likewise.
12459 * util/raid.c: Likewise.
12460
566f779b
RM
124612011-11-11 Robert Millan <rmh@gnu.org>
12462
12463 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12464 __attribute__((unused)) from `os_dev', which *is* being used.
12465
b50787de
VS
124662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12469 forgotten define.
12470 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12471 GRUB_IA64_DL_GOT_ALIGN.
12472 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12473 GRUB_IA64_DL_TRAMP_ALIGN.
12474
119d11c8
VS
124752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 Replace grub_fatal with normal errors in i386 linux loader.
12478
12479 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12480 (allocate_pages): Check find_efi_mmap_size return value.
12481 (grub_e820_add_region): Return error.
12482 (grub_linux_boot): Check mmap return value.
12483
6e0632e2
VS
124842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 * grub-core/commands/acpihalt.c: Gettextized.
12487 * grub-core/commands/cacheinfo.c: Likewise.
12488 * grub-core/commands/cmp.c: Likewise.
12489 * grub-core/commands/efi/loadbios.c: Likewise.
12490 * grub-core/commands/gptsync.c: Likewise.
12491 * grub-core/commands/ieee1275/suspend.c: Likewise.
12492 * grub-core/commands/legacycfg.c: Likewise.
12493 * grub-core/commands/memrw.c: Likewise.
12494 * grub-core/commands/minicmd.c: Likewise.
12495 * grub-core/commands/parttool.c: Likewise.
12496 * grub-core/commands/time.c: Likewise.
12497 * grub-core/commands/videoinfo.c: Likewise.
12498 * grub-core/disk/geli.c: Likewise.
12499 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12500 * grub-core/disk/luks.c: Likewise.
12501 * grub-core/disk/lvm.c: Likewise.
12502 * grub-core/font/font_cmd.c: Likewise.
12503 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12504 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12505 * grub-core/gfxmenu/view.c: Likewise.
12506 * grub-core/kern/emu/hostdisk.c: Likewise.
12507 * grub-core/kern/emu/main.c: Likewise.
12508 * grub-core/kern/emu/misc.c: Likewise.
12509 * grub-core/kern/emu/mm.c: Likewise.
12510 * grub-core/kern/mips/arc/init.c: Likewise.
12511 * grub-core/kern/mips/loongson/init.c: Likewise.
12512 * grub-core/kern/partition.c: Likewise.
12513 * grub-core/lib/i386/halt.c: Likewise.
12514 * grub-core/lib/mips/arc/reboot.c: Likewise.
12515 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12516 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12517 * grub-core/loader/i386/xnu.c: Likewise.
12518 * grub-core/loader/multiboot.c: Likewise.
12519 * grub-core/net/bootp.c: Likewise.
12520 * grub-core/net/net.c: Likewise.
12521 * grub-core/normal/term.c: Likewise.
12522 * grub-core/partmap/bsdlabel.c: Likewise.
12523 * grub-core/parttool/msdospart.c: Likewise.
12524 * grub-core/term/gfxterm.c: Likewise.
12525 * grub-core/term/terminfo.c: Likewise.
12526 * grub-core/video/i386/pc/vbe.c: Likewise.
12527 * util/grub-menulst2cfg.c: Likewise.
12528 * util/grub-mkdevicemap.c: Likewise.
12529 * util/grub-mklayout.c: Likewise.
12530 * util/grub-mkrelpath.c: Likewise.
12531 * util/grub-script-check.c: Likewise.
12532 * util/ieee1275/grub-ofpathname.c: Likewise.
12533 * util/resolve.c: Likewise.
12534
073aa7a9
VS
125352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 Support %1$d syntax.
12538
12539 * tests/printf_unit_test.c: New file.
12540 * Makefile.util.def (printf_test): New test.
12541 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12542
c76b5417
VS
125432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12546 fix.
12547
df067ad1
VS
125482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12551 dprintf.
12552 * grub-core/font/font.c (grub_font_load): Likewise.
12553
5b289bc5
VS
125542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * util/grub-macho2img.c: Add comment concerning gettext.
12557 * grub-core/lib/legacy_parse.c: Likewise.
12558
c1860f87
VS
125592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12562 (grub_xvasprintf): Likewise.
12563
d35d0d37
VS
125642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Add const keyword to grub_env_get and gettextize week days.
12567
12568 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12569 (grub_read_hook_datetime): Return const char *.
12570 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12571 updated.
12572 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12573 Mark for gettext.
12574 (grub_get_weekday_name): Return const char *. Call gettext.
12575 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12576 char * and len as the argument. All users updated.
12577 (grub_script_argv_split_append): Receive const char *.
12578 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12579 * include/grub/env.h (grub_env_get): Likewise.
12580 (grub_env_read_hook_t): Return const char *.
12581 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12582 (grub_script_argv_split_append): Likewise.
12583
9aed8a71
VS
125842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12587
067fdf00
VS
125882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12591 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12592
a8bd9d39
VS
125932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12596 Fix prototype.
12597
f7ce5baf
VS
125982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 Fix mips compilation.
12601
12602 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12603 normal decoder.
12604 (hashes): Use in embed decoder as well (for sizes).
12605 (dec_stream_header): Fix embed decompressor logic.
12606 (dec_stream_footer): Likewise.
12607
9bb182f3
VS
126082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12611 an error and not a fatal on unrecognised relocation types.
12612
63a9e6f6
VS
126132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12616 Issue error rather than printf on unknown arguments.
12617
4c458569
VS
126182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12621 Make buf a const.
12622
e2d22baf
VS
126232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12626 Fix module name.
12627
53dc8590
VS
126282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12631 leftover debug printf.
12632
6c189294
VS
126332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12636
f7688369
VS
126372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12640 A stylistic fix.
12641
11a775a3
VS
126422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12645
33f784e8
SL
126462011-11-10 Shea Levy <slevy@tieronedesign.com>
12647
12648 Allow all modules to perform serial IO
12649
12650 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12651 * include/grub/serial.h (grub_serial_port_configure): New inline
12652 function.
12653 (grub_serial_port_fetch): Likewise.
12654 (grub_serial_port_put): Likewise.
12655 (grub_serial_port_fini): Likewise.
12656 (grub_serial_find): New proto.
12657
f6276525
VS
126582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 Put symlink at the end of the node and fix a potential
12661 memory corruption.
12662
12663 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12664 Make symlink into an array.
12665 (set_rockridge): Set have_symlink and alloc_dirents.
12666 (grub_iso9660_read_symlink): Use new layout.
12667 (grub_iso9660_iterate_dir): Fix memory corruption.
12668 Use new layout.
12669 (grub_iso9660_dir): Set have_symlink.
12670 (grub_iso9660_open): Likewise.
12671
c3591189
VS
126722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 Remove local keyword.
12675
12676 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12677 (version_test_gt): Likewise.
12678 (version_find_latest): Likewise.
12679 (gettext_printf): Likewise.
12680 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12681
cb544caa
VS
126822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12685
45bd824d
VS
126862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 Fix ZFS memory and resource leaks.
12689
12690 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12691 All users updated.
12692 Free type on exit.
12693 (fill_vdev_info): New parameter inserted. All users updated.
12694 (check_pool_label): Likewise.
12695 (scan_disk): Likewise.
12696 (scan_devices): Close non-inserted disks.
12697 (fzap_iterate): Free l.
12698 (unmount_device): Free children descripto memory.
12699
ad9a2f44
VS
127002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12703 argument (access out of bounds).
12704
6b68db81
VS
127052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12708 >= 6 drives.
12709
28840fda
VS
127102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12713 Fix declaration.
12714
8a5a3a5b
VS
127152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Fix several memory leaks.
12718
12719 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12720 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12721 (grub_cpio_dir): Likewise.
12722 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12723 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12724 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12725 (grub_romfs_label): Likewise.
12726 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12727 (squash_unmount): New function.
12728 (grub_squash_dir): Fix memory leak.
12729 (grub_squash_open): Likewise.
12730 (grub_squash_read): Likewise.
12731 (grub_squash_mtime): Likewise.
12732 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12733 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12734 * util/grub-fstest.c (fstest): Likewise.
12735
57b01250
VS
127362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12739 avoid accessing beyond the array.
12740
19e81ba7
VS
127412011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12744
52b656c0
VS
127452011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 Several AFFS fixes.
12748
12749 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12750 (GRUB_AFFS_FLAG_FFS): Removed.
12751 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12752 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12753 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12754 (grub_fshelp_node): Make block 32-bit.
12755 Add block_cache and last_block_cache.
12756 (grub_affs_read_block): Fill and use block cache.
12757 (grub_affs_read_file): Removed.
12758 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12759 boot block.
12760 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12761 safety.
12762 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12763 space.
12764 (grub_affs_close): Free block cache.
12765 (grub_affs_read): Use grub_fshelp_read_file directly.
12766
438a746a
VS
127672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12770 with no error set.
12771
49a45021
VS
127722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12775 used variable.
12776 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12777 Likewise.
12778
3ae17eb8
VS
127792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12782
12783 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12784 byteswap when needed.
12785
27610c38
VS
127862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 Fix FreeBSD compilation.
12789
12790 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12791 to avoid circular dependency.
12792 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12793 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12794 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12795
4a19b601
VS
127962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 Fix ZFS crypto error types.
12799
12800 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12801 (grub_gcm_decrypt): Likewise.
12802 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12803 from PBKDF2.
12804
958ee221
VS
128052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 Illumos support.
12808
12809 * Makefile.util.def (10_illumos): New script.
12810 * configure.ac: Set COND_HOST_ILLUMOS.
12811 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12812 Support Illumos calls.
12813 (find_partition_start) [__sun__]: Likewise.
12814 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12815 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12816 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12817 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12818 device.
12819 * util/grub-probe.c (probe) [__sun__]: Do character check.
12820 * util/grub.d/10_illumos.in: New file.
12821
cac14fb6
VS
128222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 Support escaped commas in hostdisk.
12825
12826 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12827 (find_grub_drive): Use unescape_cmp.
12828 (make_device_name): Escape commas.
12829
78e08dc3
VS
128302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12833
9f421dd1
VS
128342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12837 variable.
12838
ed64e9e2
VS
128392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 Support trampoline jumps on powerpc.
12842
12843 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12844 __ia64__ path.
12845 (grub_dl_load_segments): Set mod->sz.
12846 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12847 segments.
12848 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12849 (jump): Likewise.
12850 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12851 function.
12852 (trampoline): New struct.
12853 (trampoline_template): New const.
12854 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12855 * include/grub/dl.h (grub_dl): Add sz element.
12856 [__powerpc__]: Follow __ia64__.
12857 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12858 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12859 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12860 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12861
3084ede4
VS
128622011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 ZFS crypto support.
12865
12866 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12867 * grub-core/Makefile.core.def (zfscrypt): New module.
12868 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12869 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12870 it. All users updated.
12871 (grub_zfs_decrypt): New var.
12872 (grub_zfs_load_key): Likewise.
12873 (zio_checksum_functions): Add SHA256+MAC.
12874 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12875 (zio_read): Handle encrypted blocks.
12876 (zap_verify): Remove incorrect check.
12877 (fzap_iterate): Handle non-standard fzap.
12878 (zap_iterate): Likewise.
12879 (zap_iterate_u64): New function.
12880 (dnode_get_fullpath): Load keys.
12881 * grub-core/fs/zfs/zfscrypt.c: New file.
12882 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12883 (grub_crypto_ecb_encrypt): Make input const.
12884 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12885 (grub_crypto_ecb_encrypt): Make input const.
12886 (GRUB_CIPHER_AES): New macro.
12887 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12888 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12889 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12890 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12891 prefix. All users updated.
12892 (grub_zfs_add_key): New proto.
12893 (grub_zfs_decrypt): Likewise.
12894 (grub_zfs_load_key): Likewise.
12895 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12896 * util/grub-fstest.c (options): Add -K option.
12897 (argp_parser): Likewise.
12898
b632b404
VS
128992011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 Support zle compression on ZFS.
12902
12903 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12904 (decomp_table): Add zle.
12905 * include/grub/zfs/zio.h (zio_compress): Add zle.
12906
c7ba4f69
VS
129072011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 Support BtrFS embedding.
12910
12911 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12912 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12913 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12914 * util/grub-setup.c (setup): Use fs embedding if available.
12915 Add additional sanity check.
12916
455377d9
VS
129172011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * util/grub-install.in: Fix condition for config_opt.
12920
c2fd16ca
VS
129212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Support third redundancy strip on raidz3.
12924
12925 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12926 Return error on singularity. All users updated.
12927 (read_device): Don't stop on 3rd failure on raidz3.
12928
8622923b
VS
129292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 Support case-insensitive ZFS subvolumes.
12932
12933 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12934 All users updated.
12935 (zap_hash): Likewise.
12936 (name_cmp): New function.
12937 (zap_leaf_array_equal): New parameter case_insensitive.
12938 All users updated.
12939 (zap_leaf_lookup): Likewise.
12940 (fzap_lookup): Likewise.
12941 (zap_lookup): Likewise.
12942 (dnode_get_path): New parameter case_insensitive. Retrieve case
12943 sensitiviness of a volume. All users updated.
12944 (dnode_get_fullpath): New parameter case_insensitive.
12945 All users updated.
12946 (grub_zfs_dir): Set info.case_insensitiveness.
12947
95f2e860
VS
129482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 Support second redundancy strip on raidz(2,3).
12951
12952 * grub-core/fs/zfs/zfs.c (powx): New array.
12953 (powx_inv): Likewise.
12954 (poly): New const.
12955 (xor_out): New function.
12956 (gf_mul): Likewise.
12957 (recovery): Likewise.
12958 (read_device): Use second redundancy strip.
12959
11ee4389
VS
129602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 Use a power of generator representation of GF(256) multiplication group
12963 to save space time and complexity.
12964
12965 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12966 (raid6_table2): Likewise.
12967 (powx): New array.
12968 (powx_inv): Likewise.
12969 (poly): New const.
12970 (grub_raid_block_mul): Replace with ...
12971 (grub_raid_block_mulx): ...this.
12972 (grub_raid6_init_table): Rewritten.
12973 (grub_raid6_recover): Use power of generator representation.
12974
09e2763f
VS
129752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12978 for the right device.
12979
8bec9a28
VS
129802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12983 expected by grub-mkimage and it's more clear since there is no implicit
12984 padding.
12985
dbd3a32e
VS
129862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12989 disk.
12990 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12991
182c872a
PMH
129922011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12993
12994 * util/grub-mkrescue.in: Fix handling xorriso option.
12995
1e51cabd
VS
129962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12999 NULL.
13000
9cc3581d 130012011-11-03 crocket <crockabiscuit@gmail.com>
13002
13003 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13004
158dc1ea
VS
130052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 XZ CRC64 and SHA256 support.
13008
13009 * Makefile.util.def (libgrubmods): Add crc64.c.
13010 * grub-core/Makefile.core.def (crc64): New module.
13011 * grub-core/lib/crc64.c: New file.
13012 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13013 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13014 Fix the type.
13015 (MAX_HASH_SIZE): New define.
13016 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13017 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13018 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13019 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13020 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13021 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13022 Handle non-crc32 hashes.
13023 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13024 (dec_stream_header): Handle non-crc32 hashes.
13025 (dec_stream_footer): Likewise.
13026 (dec_block_header): Likewise.
13027 (dec_main): Likewise.
13028 (xz_dec_init): Likewise.
13029 (xz_dec_reset): Likewise.
13030 (xz_dec_end): Likewise.
13031 * util/import_gcry.py: Add CRC64 line.
13032
9d9b3d2f
VS
130332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13036 as well.
13037
7d0ac931
VS
130382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 Make reiserfs label retrieval similar to other *_label functions.
13041
13042 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13043 (REISERFS_MAX_LABEL_LENGTH): Removed.
13044 (REISERFS_LABEL_OFFSET): Likewise.
13045 (grub_reiserfs_label): Rewritten.
13046
130472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13050 field.
13051
cf5ba824
VS
130522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13055
17744004
VS
130562011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13059 drive failure on both raidz and raidz2.
13060
aca5aefc
VS
130612011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Fix RAIDZ(2) for >= 5 devices.
13064
13065 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13066 asize argument. All users updated.
13067
ce8ca56e
VS
130682011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 Fix RAIDZ(2).
13071
13072 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13073 (fill_vdev_info_real): Set ashift.
13074 (read_device): Rewrite RAIDZ part based on reverse engineering.
13075
7c01e783
VS
130762011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13079 don't report potentially unavialiable fields in debug output.
13080 (find_path): Fix double-free and memory leak.
13081
ce109e84
VS
130822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 Read label on UFS1.
13085
13086 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13087 (grub_ufs_fs): Always set .label.
13088
87661123
VS
130892011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 Use shifts in UFS.
13092
13093 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13094 (grub_ufs_data): New field log2_blksz.
13095 (grub_ufs_read_file): Use shifts.
13096 (grub_ufs_mount): Check block size and logarithm it.
13097
46bc1dc2
VS
130982011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13101 long symlinks.
13102
19ee2987
VS
131032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Handle symlinks and long names on tar and cpio.
13106
13107 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13108 (ATTR_FILE): Likewise.
13109 (ATTR_DIR): Likewise.
13110 (ATTR_LNK): Likewise.
13111 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13112 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13113 L and K entries.
13114 (grub_cpio_mount): Zero-fill data.
13115 (handle_symlink): New function.
46bc1dc2
VS
13116 (grub_cpio_dir): Handle symlinks.
13117 (grub_cpio_open): Likewise.
13118 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13119
c83a08d8
VS
131202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 Fix iso9660 filename limitations and fix memory leaks.
13123
13124 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13125 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13126
45cdd3ea
VS
131272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 Fix JFS file name length limitations.
13130
13131 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13132 (grub_jfs_diropen): Fix maximum filename length.
13133 (grub_jfs_getent): Fix filename length.
13134 (grub_jfs_lookup_symlink): Fix size checks.
13135
94ef05c2
VS
131362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13139 string.
13140
785ab8c7
VS
131412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13142
eb0b6b45
VS
13143 Leverage BFS implementation to read AFS.
13144
13145 * Makefile.util.def (libgrubmods): Add afs.c.
13146 * grub-core/Makefile.core.def (afs): New module
13147 * grub-core/fs/afs.c: New file.
13148 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13149
131502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13153
c4a1628f
VS
131542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/fs/bfs.c: Run indent.
13157
5825b379
VS
131582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 BFS implementation based on the specification.
13161
13162 * grub-core/fs/bfs.c: New file.
13163 * Makefile.util.def (libgrubmods): Add bfs.c.
13164 * grub-core/Makefile.core.def (bfs): New module.
13165
42b2a706
VS
131662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * util/grub-fstest.c (cmd_cp): Clarify error message.
13169 (cmd_cmp): Likewise.
13170
61b99bfc
YB
131712011-10-30 Yves Blusseau <blusseau@zetam.org>
13172
13173 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13174 and befs_be.
13175
faba3d16
VS
131762011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 Remove afs and befs because of copyright problem.
13179
13180 * grub-core/fs/afs.c: Removed.
13181 * grub-core/fs/afs_be.c: Removed.
13182 * grub-core/fs/befs.c: Removed.
13183 * grub-core/fs/befs_be.c: Removed.
13184 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13185 * grub-core/Makefile.core.def (afs): Removed.
13186 (afs_be): Likewise.
13187 (befs): Likewise.
13188 (befs_be): Likewise.
13189
c39224b0
VS
131902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 Prefer rockridge over Joliet.
13193
13194 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13195 to ...
13196 (set_rockridge): ... here.
13197 (grub_iso9660_mount): Check rockridge on the primary label when
13198 discovering. Ignore Joliet if Rockridge is present.
13199
e551115a
VS
132002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Use shifts in nilfs2.
13203
13204 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13205 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13206 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13207 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13208 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13209 (grub_nilfs2_entries_per_block): Replaced with ...
13210 (grub_nilfs2_log_entries_per_block_log): ... this.
13211 (grub_nilfs2_blocks_per_group): Replaced with ...
13212 (grub_nilfs2_blocks_per_group_log): ... this.
13213 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13214 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13215 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13216 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13217 (grub_nilfs2_palloc_entry_offset): Replaced ...
13218 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13219 (grub_nilfs2_dat_translate): Use shifts.
13220 (grub_nilfs2_read_inode): Likewise.
13221 (GRUB_MOD_INIT): Ensure that logs are correct.
13222
564dd58c
VS
132232011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 Use shifts in minix filesystem.
13226
13227 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13228 (GRUB_MINIX_ZONE2SECT): Likewise.
13229 (grub_minix_data): Replace block_size with log_block_size.
13230 (grub_minix_read_file): Use shifts.
13231 (grub_minix_mount): Check block size and take a logarithm.
13232
ed9ba06d
VS
132332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 Use shifts in squash4.
13236
13237 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13238 (squash_mount): Check block size and take logarithm.
13239 (direct_read): Use shifts.
13240
ad03fe76
VS
132412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 Correct befs block counting logic.
13244
13245 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13246 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13247 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13248 (grub_afs_read_inode): Use block_shift.
13249 (RANGE_SHIFT): New definition.
13250 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13251 unexpected conditions, use shifts and appropriate types.
13252 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13253
6563f63d
VS
132542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/disk/raid.c (scan_devices): Check partition.
13257 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13258
5b1ae25f
VS
132592011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 Support BFS (befs) UUID.
13262
13263 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13264 (grub_afs_small_data_element_header): New struct.
13265 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13266 (grub_afs_read_attribute) [MODE_BFS]: New function.
13267 (grub_afs_iterate_dir): Allocate for complete inode.
13268 (grub_afs_mount): Likewise.
13269 (grub_afs_uuid) [MODE_BFS]: New function.
13270 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13271
f8d82408
VS
132722011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13275 (zfs_unmount): Fix memory leak.
13276
5773fb64
VS
132772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 Support NTFS reparse points.
13280
13281 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13282 (symlink_descriptor): New struct.
13283 (grub_ntfs_read_symlink): New function.
13284 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13285 (grub_ntfs_open): Likewise.
13286
91c3fdde
VS
132872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13290
3be82e10
VS
132912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 fstest xnu_uuid subcommand.
13294
13295 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13296 grub-core/commands/xnu_uuid.c.
13297 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13298 (fstest): Handle xnu_uuid.
13299 (options): Document xnu_uuid.
13300 (argp_parser): Parse xnu_uuid.
13301
8e32442e
VS
133022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13305 -l argument. Add newline at the end if printing.
13306 (GRUB_MOD_INIT): Document -l.
13307
52a05075
VS
133082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13311
1869edb5
VS
133122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 ZFS multi-device and version 33 support.
13315
13316 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13317 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13318 (grub_zfs_data): Add multidev-ice-related fields.
13319 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13320 (dva_get_offset): Make dva const.
13321 (zfs_fetch_nvlist): New function.
13322 (fill_vdev_info_real): Likewise.
13323 (fill_vdev_info): Likewise.
13324 (check_pool_label): Likewise.
13325 (scan_disk): Likewise.
13326 (scan_devices): Likewise.
13327 (read_device): Likewise.
13328 (read_dva): Likewise.
13329 (zio_read_gang): Use read_dva.
13330 (zio_read_data): Likewise.
13331 (zap_leaf_lookup): Add missing endian conversion.
13332 (zap_verify): Add missing endian conversion. All users updated.
13333 (fzap_lookup): Likewise.
13334 (fzap_iterate): Likewise.
13335 (dnode_get_path): Handle SA bonus.
13336 (nvlist_find_value): Make input const. All users updated.
13337 (unmount_device): New function.
13338 (zfs_unmount): Use unmount_device.
13339 (zfs_mount): Use scan_disk.
13340 (zfs_mtime): New function.
13341 (grub_zfs_open): Handle system attributes.
13342 (fill_fs_info): Likewise.
13343 (grub_zfs_dir): Likewise.
13344 (grub_zfs_fs): Add mtime.
13345 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13346 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13347 (SA_MTIME_OFFSET): Likewise.
13348 (SA_SYMLINK_OFFSET): Likewise.
13349 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13350 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13351 (fstest): Support zfsinfo.
13352 (argp_parser): Likewise.
13353
186b4028
VS
133542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13357 error.
13358
133592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13360
13361 ZFS fixes.
13362
13363 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13364 sharing the same block. Iterate over correct number of indices.
13365 (dnode_get_path): Handle symlinks correctly.
13366
c0584900
VS
133672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13370
67e2bd71
VS
133712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 Read label on HFS+.
13374
13375 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13376 (grub_hfsplus_btree_search): Fix types.
13377 (grub_hfsplus_label): Implement.
13378
e9cc6b7b
VS
133792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13382
19832ddb
VS
133832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13386
66b40850
VS
133872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 Fix symlink handling on iso9660.
13390
13391 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13392 All users updated.
13393 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13394 (grub_iso9660_read_symlink): Moved most of code ...
13395 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13396
db821363
VS
133972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13400 Use union to avoid breaking strict-aliasing rules.
13401
e1211949
VS
134022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 Support multi-extent iso files.
13405
13406 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13407 Add node.
13408 (grub_fshelp_node): Revamp. All users updated.
13409 (FLAG_*): New enum.
13410 (read_node): New function.
13411 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13412 All users updated.
13413 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13414 (get_node_size): New function.
13415 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13416 entries.
13417 Fix memory leak on . and ..
13418 (grub_iso9660_read): Use read_node.
13419 (grub_iso9660_close): Free node.
13420
d4888031
VS
134212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 Fix tar 4G limit and handle paths containing dot.
13424
13425 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13426 (canonicalize): New function.
13427 (grub_cpio_find_file): Use canonicalize. Store offs in
13428 grub_disk_addr_t.
13429 (grub_cpio_dir): Use grub_disk_addr_t.
13430 (grub_cpio_open): Likewise.
13431
9f12e664
VS
134322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13435
13436 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13437 unused flags.
13438 (grub_squash_inode): Add long_file and block_size.
13439 (grub_squash_cache_inode): New struct.
13440 (grub_squash_dirent): Make types into enum.
13441 (SQUASH_TYPE_LONG_REGULAR): New type.
13442 (grub_squash_frag_desc): Add field size.
13443 (SQUASH_BLOCK_FLAGS): New enum.
13444 (grub_squash_data): Use grub_squash_cache_inode.
13445 (grub_fshelp_node): Make ino_chunk 64-bit.
13446 (read_chunk): Minor argument change. All users updated.
13447 (squash_mount): Use correct le_to_cpu.
13448 (grub_squash_open): Handle LONG_REGULAR.
13449 (direct_read): New function.
13450 (grub_squash_read_data): Handle blocks correctly.
13451
9f326fba
VS
134522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13455
f4d9b64b
VS
134562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13459
5bbd28b8
VS
134602011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 Fix 2G limit on ZFS.
13463
13464 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13465 types.
13466 (uberblock_verify): Likewise.
13467 (dmu_read): Likewise.
13468 (grub_zfs_read): Likewise. Remove invalid cast.
13469
68c72069
VS
134702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13473 (grub_jfs_blkno): Fix incorrect shift.
13474 (grub_jfs_read_file): Use more appropriate types.
13475
6e536dc8
VS
134762011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 Support triple indirect on minix2 and minix3.
13479
13480 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13481 Declare triple_indir_zone.
13482 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13483 indirect.
13484
e0864e7a
VS
134852011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 Minix FS fixes.
13488
13489 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13490 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13491 Rename ctime to mtime. All users updated.
13492 (grub_minix_get_file_block): Fix types and double indirect computations.
13493
89481cab
VS
134942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13497 if no label is found.
13498 (grub_fat_iterate_dir): Fix file size type.
13499 (grub_fat_iterate_dir): Likewise.
13500
f646e143
VS
135012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13504 save some space.
13505 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13506 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13507
534d769e
VS
135082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13511
e084ba18
VS
135122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * util/import_gcry.py: Accept space between # and include.
13515
3471ecdf
VS
135162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13519
124df5f6
VS
135202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13523
13524 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13525 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13526 yylex_strncpy.
13527 * grub-core/script/yylex.l: Add fine-grained #pragma.
13528
4defb8d5
VS
135292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13532 New inline function.
13533 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13534 Likewise.
13535 (memset) [GRUB_UTIL]: Likewise.
13536 (memcmp) [GRUB_UTIL]: Likewise.
13537
4e94ae65
VS
135382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13541 inline function rather than a define.
13542
18c575e5
VS
135432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * util/grub-setup.c: Add missing include.
13546
f8bc22a8
VS
135472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * util/ieee1275/grub-ofpathname.c: Add missing include.
13550
3ce69fc9
VS
135512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13554 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13555 Likewise.
13556
d1e293bb
VS
135572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13560 grub_memcmp usage.
13561
7a5c54a4
VS
135622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * util/grub-install.in: Add datarootdir as per automake manual
13565 suggestion.
13566 * util/grub-mknetdir.in: Likewise.
13567
135682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13569
13570 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13571 suggestion.
13572 * util/grub.d/10_kfreebsd.in: Likewise.
13573 * util/grub.d/10_linux.in: Likewise.
13574 * util/grub.d/10_netbsd.in: Likewise.
13575 * util/grub.d/10_windows.in: Likewise.
13576 * util/grub.d/20_linux_xen.in: Likewise.
13577
766f7d08
VS
135782011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Remove redundant grub_kernel_image_size.
13581
13582 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13583 _edata and _start.
13584 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13585 the small code. It moves it only by few bytes but simplifies the code.
13586 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13587 _start.
13588 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13589 (grub_kernel_image_size): Removed.
13590 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13591 (grub_kernel_image_size): Removed.
13592 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13593 compiled with Apple toolchain.
13594 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13595 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13596 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13597 (grub_total_module_size): Likewise.
13598 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13599 Removed.
13600 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13601 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13602 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13603 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13604 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13605 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13606 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13607 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13608 Removed.
13609 (grub_total_module_size): Removed.
13610 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13611 (image_targets): Likewise.
13612 Set .compressed_size to no field on sparc.
13613 (generate_image): Remove kernel_image_size handling.
13614
fcf1d672
SJ
136152011-10-19 Szymon Janc <szymon@janc.net.pl>
13616
13617 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13618 NULL pointer dereference.
13619
de9c615e
VS
136202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13623 done with a dedicated section.
13624
13625 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13626 Ensure the correct position of boot_path.
13627 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13628 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13629 other fields.
13630 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13631 * include/grub/boot.h: Removed. All references removed.
13632 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13633 Removed.
13634 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13635
e55599dc
VS
136362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13639 name.
13640
36dd20ad
VS
136412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13644
f8f72eb8
VS
136452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13648 Don't add the bogus brackets.
13649
a374751b
VS
136502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 ExFAT support.
13653
13654 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13655 * grub-core/Makefile.core.def (exfat): New module.
13656 * grub-core/fs/exfat.c: New file.
13657 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13658 (GRUB_FAT_ATTR_*): Make into an enum.
13659 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13660 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13661 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13662 (GRUB_FAT_MAXFILE): Removed.
13663 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13664 (grub_current_fat_bpb_t): New type.
13665 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13666 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13667 (grub_fat_dir_node_t): New type.
13668 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13669 (fat_log2) [MODE_EXFAT]: Removed.
13670 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13671 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13672 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13673 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13674 (grub_fat_label) [MODE_EXFAT]: New function.
13675 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13676 reserved_first_sector to 0.
13677
544c2487
VS
136782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 Move grub_reboot out of the kernel.
13681
13682 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13683 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13684 * grub-core/lib/efi/reboot.c: ... here.
13685 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13686 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13687 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13688 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13689 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13690 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13691 * grub-core/lib/ieee1275/reboot.c: ... here.
13692 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13693 * grub-core/lib/mips/arc/reboot.c: ... here.
13694 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13695 * grub-core/lib/mips/loongson/reboot.c: ...here.
13696 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13697 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13698 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13699 * include/grub/i386/reboot.h: New file.
13700 * include/grub/mips/loongson/ec.h: Fix includes.
13701 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13702 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13703 * grub-core/lib/i386/reboot.c: New file.
13704
a97501d2
VS
137052011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 Make grub_prefix into module to fix the arbitrary limit and save
13708 some space.
13709
13710 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13711 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13712 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13713 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13714 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13715 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13716 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13717 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13718 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13719 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13720 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13721 * include/grub/ia64/efi/kernel.h: Removed.
13722 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13723 (grub_prefix): Removed.
13724 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13725 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13726 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13727 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13728 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13729 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13730 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13731 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13732 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13733 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13734 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13735 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13736 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13737 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13738 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13739 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13740 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13741 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13742 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13743 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13744 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13745 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13746 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13747 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13748 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13749 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13750 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13751 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13752 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13753 from module.
13754 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13755 prefix_end.
13756 (image_targets): Likewise.
13757 (generate_image): Put prefix as a module.
13758
39705fad
VS
137592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 Replace grub_module_iterate with FOR_MODULES.
13762
13763 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13764 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13765 (grub_efi_modules_addr): ...this.
13766 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13767 (grub_efi_init): Set grub_modbase.
13768 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13769 (grub_modbase): New variable.
13770 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13771 (grub_modbase): New variable.
13772 (grub_machine_init): Set grub_modbase.
13773 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13774 (grub_modbase): New variable.
13775 (grub_machine_init): Set grub_modbase.
13776 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13777 (grub_modbase): New variable.
13778 (grub_machine_init): Set grub_modbase.
13779 * grub-core/kern/main.c (grub_module_iterate): Remove.
13780 (grub_modules_get_end): Use grub_modbase.
13781 (grub_load_modules): Use FOR_MODULES.
13782 (grub_load_config): Likewise.
13783 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13784 (grub_modbase): New variable.
13785 (grub_machine_init): Set grub_modbase.
13786 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13787 (grub_modbase): New variable.
13788 (grub_machine_init): Set grub_modbase.
13789 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13790 Removed.
13791 (grub_modbase): New variable.
13792 (grub_machine_init): Set grub_modbase.
13793 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13794 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13795 (grub_module_iterate): Likewise.
13796 (grub_modbase): New variable declaration.
13797 (FOR_MODULES): New macro.
13798
2afb7f6c
VS
137992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13802 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13803
366e34fa
VS
138042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 Fix few obvious type discrepancies.
13807
13808 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13809 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13810 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13811 variable.
13812 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13813 and connected types.
13814 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13815 offset.
13816 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13817 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13818 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13819 and connected types.
13820
177b960e
VS
138212011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 Fix python 3.x incompatibilities.
13824
13825 * gentpl.py: Put brackets around print strings.
13826 * util/import_gcry.py: Open explicitly as utf-8.
13827 Use in instead of has_key.
13828
3b619ae1
VS
138292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13832 (GRUB_XFS_INO_AGBITS): Make into inline function.
13833 (GRUB_XFS_INO_INOINAG): Likewise.
13834 (GRUB_XFS_INO_AG): Likewise.
13835 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13836 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13837 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13838 (GRUB_XFS_EXTENT_SIZE): Likewise.
13839 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13840 (GRUB_XFS_NEXT_DIRENT): Likewise.
13841 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13842 (grub_xfs_read_file): Fix offset type.
13843
8bcebcb8
RM
138442011-10-15 Robert Millan <rmh@gnu.org>
13845
13846 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13847
0017e5ef
RM
138482011-10-15 Robert Millan <rmh@gnu.org>
13849
13850 Fix build problem on FreeBSD and GNU/kFreeBSD.
13851
13852 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13853
d8919552
VS
138542011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13857
13858 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13859 types.
13860 (grub_hfsplus_btree_recoffset): Likewise.
13861 (grub_hfsplus_btree_recptr): Likewise.
13862 (grub_hfsplus_find_block): Likewise.
13863 (grub_hfsplus_btree_search): Likewise.
13864 (grub_hfsplus_read_block): Likewise.
13865 (grub_hfsplus_read_file): Likewise.
13866 (grub_hfsplus_mount): Likewise.
13867 (grub_hfsplus_btree_iterate_node): Likewise.
13868 (grub_hfsplus_btree_search): Likewise.
13869 (grub_hfsplus_iterate_dir): Likewise.
13870 (grub_hfsplus_read): A small code simplification.
13871
c81296b6
VS
138722011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/kern/emu/hostdisk.c
13875 (convert_system_partition_to_system_disk): Don't assume that children
13876 of mapper nodes are mapper nodes.
13877
0eb8ffb1
VS
138782011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13881 * include/grub/misc.h (grub_isxdigit): New function.
13882 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13883 switched to grub_isxdigit.
13884 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13885 number starting with a letter.
13886
a98f4a08
RM
138872011-10-09 Robert Millan <rmh@gnu.org>
13888
13889 LVM support for FreeBSD and GNU/kFreeBSD.
13890
13891 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13892 GNU/kFreeBSD.
13893 (LVM_DEV_MAPPER_STRING): Move from here ...
13894 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13895 * util/getroot.c: Include `<grub/util/lvm.h>'.
13896 (grub_util_get_dev_abstraction): Enable
13897 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13898 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13899 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13900 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13901 support it.
13902 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13903 GNU/kFreeBSD.
13904 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13905 when LVM abstraction is required for ${GRUB_DEVICE}.
13906
050e8e90
SJ
139072011-10-06 Szymon Janc <szymon@janc.net.pl>
13908
13909 Add support for LZO compression in GRUB:
13910 - import of minilzo library,
13911 - LZO decompression for btrfs,
13912 - lzop files decompression.
13913
13914 * grub-core/io/lzopio.c: New file.
13915 * grub-core/lib/adler32.c: Likewise.
13916 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13917 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13918 * grub-core/lib/minilzo/minilzo.c: Likewise.
13919 * grub-core/lib/minilzo/minilzo.h: Likewise.
13920 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13921 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13922 grub-core/lib/minilzo/minilzo.c to common.
13923 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13924 cflags in cppflags.
13925 * grub-core/Makefile.core.def (btrfs): Likewise.
13926 * grub-core/Makefile.core.def (lzopio): New module.
13927 (adler32): Likewise.
13928 * grub-core/fs/btrfs.c: Include minilzo.h.
13929 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13930 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13931 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13932 (grub_btrfs_lzo_decompress): New function.
13933 (grub_btrfs_extent_read): Add support for LZO compression type.
13934 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13935 (GRUB_USHRT_MAX): Likewise.
13936 (GRUB_UINT_MAX): Likewise.
13937 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13938 (UINT_MAX): Likewise.
13939 (CHAR_BIT): Likewise.
13940 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13941 grub-core/lib/posix_wrap/limits.h
13942 (UCHAR_MAX): Likewise.
13943 * include/grub/file.h (grub_file_filter_id): New compression filter
13944 GRUB_FILE_FILTER_LZOPIO.
13945 * include/grub/file.h (grub_file_filter_id): Set
13946 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13947 * include/grub/types.h (grub_get_unaligned16): New function.
13948 (grub_get_unaligned32): Likewise.
13949 (grub_get_unaligned64): Likewise.
13950 * util/import_gcry.py (cryptolist): Add adler32.
13951
0eb8ffb1
VS
139522011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13955 in perspective decreases the complexity of build system and fixes
13956 compilation right now.
13957
ce79cc99 139582011-10-01 Ales Nesrsta <starous@volny.cz>
13959
13960 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13961 (fixed problem related to using UHCI with coreboot).
13962
8667a314
BC
139632011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13964
13965 * gentpl.py: Use Autogen macros so that the output template file
13966 (Makefile.tpl) size is reduced.
13967
fc5efcc0
MK
139682011-09-29 Mads Kiilerich <mads@kiilerich.com>
13969
13970 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13971 extra_dist.
13972
d1ab689d
ML
139732011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13974
13975 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13976 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13977
c05de032
ML
139782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13979
13980 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13981 _fullpath.
13982
cca7ccd8
ML
139832011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13984
13985 Remove extra declaration of sleep for mingw32.
13986
13987 * util/misc.c (sleep) [__MINGW32__]: Removed.
13988 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13989
e0b0dc83
GS
139902011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13991
13992 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13993 type and packname.
13994 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13995 Resurrected.
13996 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13997 (grub_netbsd_btinfo_bootwedge): New struct.
13998 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13999 New function.
14000 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14001
91a1a164
TH
140022011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14003
14004 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14005 loader.
14006
2ded951e
AB
140072011-09-28 Andreas Born <futur.andy@googlemail.com>
14008
14009 Fix incorrect identifiers in bash-completion.
14010
14011 * util/bash-completion.d/grub-completion.bash.in
14012 (_grub_mkpasswd-pbkdf2): Rename to ...
14013 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14014 (_grub_script-check): Rename to ...
14015 (_grub_script_check): ... this. All users updated.
14016
69915030
VS
140172011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14020 Return 0 if disk isn't biosdisk.
14021
20fd15f9
GS
140222011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14023
14024 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14025 on NetBSD.
14026 * Makefile.util.def (grub-fstest): Likewise.
14027
1a7d7db9
GS
140282011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14029
14030 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14031 Get sector size from disk label.
14032
2221ab6c
CW
140332011-09-05 Colin Watson <cjwatson@ubuntu.com>
14034
14035 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14036 */README* as well as README*.
14037 Reported by: Axel Beckert.
14038
ca51c4a0
VS
140392011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14042 case of less than 256 MiB of RAM.
14043
ab80f326
VS
140442011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/commands/wildcard.c (make_regex): Handle @.
14047
4155e697
VS
140482011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14051
ab178c08
SJ
140522011-08-21 Szymon Janc <szymon@janc.net.pl>
14053
14054 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14055 AC_LANG_CONFTEST macros.
14056
7dc3c686
SJ
140572011-08-20 Szymon Janc <szymon@janc.net.pl>
14058
14059 Add grub-fstest option to uncompress data for commands.
14060
14061 * util/grub-fstest.c (uncompress): New var.
14062 (options): New option -u.
14063
fe8d4a7b
SJ
140642011-08-20 Szymon Janc <szymon@janc.net.pl>
14065
14066 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14067 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14068
a5219af1
SJ
140692011-08-20 Szymon Janc <szymon@janc.net.pl>
14070
14071 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14072 file type was not recognized correctly (not gzip or corrupted).
14073
f87abff5
VS
140742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14077 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14078
d94497ea
VS
140792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14082 loongson.
14083 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14084 video_radeon_fuloong2e.
14085 * grub-core/video/radeon_fuloong2e.c: New file.
14086 * include/grub/video.h (grub_video_id_t): Add new ID
14087 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14088
0d1fd011
VS
140892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14092 define.
14093 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14094 that PRID matches the detected subplatform and reset the subplatform
14095 if it doesn't.
14096
84beb0ee
VS
140972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14100
1227c133
VS
141012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Fix PCI iterating on functions >= 4.
14104
14105 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14106 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14107 Removed.
14108 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14109 (grub_pci_read): Fix bitmask.
14110 (grub_pci_read_word): Likewise.
14111 (grub_pci_read_byte): Likewise.
14112 (grub_pci_write): Likewise.
14113 (grub_pci_write_word): Likewise.
14114 (grub_pci_write_byte): Likewise.
14115
9594c689
VS
141162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14119 can still be specified in TARGET_CFLAGS)
14120
14a2562c
VS
141212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14124
14125 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14126 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14127 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14128 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14129 (FULOONG): Rename to ...
14130 (FULOONG2F): ... this. All users updated.
14131 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14132 (machtype_fuloong2f_str): ... this.
14133 (machtype_fuloong2e_str): New string.
14134 Check for machtype_fuloong2e_str.
14135 * grub-core/loader/mips/linux.c (loongson_machtypes)
14136 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14137 * grub-core/term/serial.c (loongson_defserial)
14138 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14139 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14140 loongson_defserial.
14141 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14142 Rename to ...
14143 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14144 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14145 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14146 to IMAGE_FULOONG2F_FLASH. All users updated.
14147 (image_targets): Rename images.
14148 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14149
b526cbb6
SJ
141502011-08-19 Szymon Janc <szymon@janc.net.pl>
14151
14152 Make enable of disk cache statistics code configurable.
14153
14154 * configure.ac: --enable-cache-stats added.
14155 * config.h.in (DISK_CACHE_STATS): New define.
14156 * grub-core/Makefile.core.def (cacheinfo): New command.
14157 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14158 * grub-core/commands/cacheinfo.c: New file.
14159 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14160 moved to cacheinfo.c.
14161 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14162 debug code.
14163 * include/grub/disk.h: Likewise.
14164
fb739ccd
SJ
141652011-08-19 Szymon Janc <szymon@janc.net.pl>
14166
14167 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14168 * grub-core/Makefile.am: Likewise.
14169
2bba8cfd
VS
141702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14173 non-zero pull.
14174
43526629
VS
141752011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14178 All users updated.
14179 (grub_jfs_lookup_symlink): Use correct starting inode.
14180
5c144cc8
VS
141812011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * util/grub-setup.c (main): Add missing gcry initialisation.
14184
b1257f65
VS
141852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 Don't accept text modes on EFI when booting Linux.
14188
14189 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14190 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14191
828bc390
ML
141922011-08-15 Mario Limonciello <mario_limonciello@dell.com>
141932011-08-15 Colin Watson <cjwatson@ubuntu.com>
14194
14195 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14196 use of "/path/.." as in grub-install for EFI as well as handling
14197 symlinks correctly.
14198 Fixes Debian bug #637768.
14199
5f60ccac
CW
142002011-08-15 Colin Watson <cjwatson@ubuntu.com>
14201
14202 * util/grub-probe.c: Remove duplicate #include.
14203
6dc212f9
RM
142042011-08-10 Robert Millan <rmh@gnu.org>
14205
14206 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14207
14208 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14209 function.
14210 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14211 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14212
66816d85
RM
142132011-08-03 Robert Millan <rmh@gnu.org>
14214
14215 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14216 la_array as packed.
14217 Reported by: Zachary Bedell
14218
20168fca
CW
142192011-07-26 Colin Watson <cjwatson@ubuntu.com>
14220
14221 * configure.ac: The Loongson port requires grub-mkfont due to its
14222 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14223 be built.
14224
303b6246
CW
142252011-07-26 Colin Watson <cjwatson@ubuntu.com>
14226
14227 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14228 processing arguments (otherwise help2man fails when GRUB has not yet
14229 been installed).
14230
6795300e
VS
142312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14232
41aa28ea
VS
14233 New script grub-mkstandalone.
14234
14235 * Makefile.util.def (grub-mkstandalone): New script.
14236 * docs/man/grub-mkstandalone.h2m: New file.
14237 * util/grub-mkstandalone.in: Likewise.
14238
142392011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 Support ATA disks with 4K sectors.
6795300e
VS
14242
14243 * include/grub/ata.h (grub_ata): New member log_sector_size.
14244 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14245 (grub_ata_identify): Read sector size.
14246 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14247
92227597
VS
142482011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * util/grub-install.in: Don't use uhci outside of x86.
14251
c77069f5
VS
142522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * util/grub-mkrescue.in: Add missing quotes.
14255
142562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14257
14258 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14259 dereference.
14260
583168a2
VS
142612011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14264
6be1c01f
VS
142652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * include/grub/video.h: add missing EXPORT_FUND on
14268 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14269
a1167439
VS
142702011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * include/grub/mips/kernel.h: Fix define conflict.
14273
bf66054f
VS
142742011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14277 all four ways.
14278
8fc4fa45
CW
142792011-07-21 Colin Watson <cjwatson@ubuntu.com>
14280
14281 Preferred resolution detection for VBE.
14282
14283 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14284 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14285 the Flat Panel extension, in line with the X.org VESA driver.
14286 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14287 New function.
14288 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14289 (grub_vbe_bios_read_edid): Likewise.
14290 (grub_vbe_get_preferred_mode): Likewise.
14291 (grub_video_vbe_setup): When the mode is "auto", try to get the
14292 preferred mode from VBE, and use the largest mode that is no larger
14293 than the preferred mode (some BIOSes expose a preferred mode that is
14294 not in their mode list!). If this fails, fall back to 640x480 as a
14295 safe conservative choice.
14296 (grub_video_vbe_get_edid): New function.
14297 (grub_video_vbe_adapter): Add get_edid.
14298 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14299 (struct grub_video_adapter): Add get_edid.
14300 (grub_video_edid_checksum): Add prototype.
14301 (grub_video_edid_preferred_mode): Likewise.
14302 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14303 structure.
14304
14305 * grub-core/commands/videoinfo.c (print_edid): New function.
14306 (grub_cmd_videoinfo): Print EDID if available.
14307
14308 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14309 is more appropriate on a wider range of platforms than 640x480.
14310 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14311 documentation.
14312
ca5572a9
VS
143132011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14316
e4bcf625
VS
143172011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * po/POTFILES.in: Regenerate.
14320
c4edd548
VS
143212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14324 incorrect memory usage.
14325
16a2bab0
VS
143262011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * util/grub-install.in: Source grub-mkconfig_lib.
14329
2e418de6
VS
143302011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 Remove getroot.c from core on emu platform.
14333
14334 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14335 kern/emu/raid.c.
14336 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14337 useless.
14338 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14339 * util/getroot.c (get_win32_path): ... here.
14340 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14341 * util/getroot.c (fini_libzfs): ... here.
14342 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14343 * util/getroot.c (grub_get_libzfs_handle): ... here.
14344 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14345 Moved from here...
14346 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14347 * grub-core/kern/emu/misc.c
14348 (grub_make_system_path_relative_to_its_root): Moved from here...
14349 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14350 * grub-core/kern/emu/getroot.c: Moved from here ...
14351 * util/getroot.c: ... here. All users updated.
14352 * grub-core/kern/emu/raid.c: Moved from here ...
14353 * util/raid.c: ... here. All users updated.
14354
def9832a
VS
143552011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * po/POTFILES.in: Regenerate.
14358
cd8fe79a
VS
143592011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 Fix compilation on GNU/Linux.
14362
14363 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14364 Disable geli.
14365 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14366 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14367 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14368
a251b719
VS
143692011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
143702011-07-07 Michael Gorven <michael@gorven.za.net>
143712011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14372
14373 LUKS and GELI support.
14374
14375 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14376 grub-core/disk/luks.c, grub-core/disk/geli.c,
14377 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14378 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14379 grub-core/lib/arg.c.
14380 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14381 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14382 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14383 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14384 (grub-bin2h): Add libgcry.a.
14385 (grub-mkimage): Likewise.
14386 (grub-mkrelpath): Likewise.
14387 (grub-script-check): Likewise.
14388 (grub-editenv): Likewise.
14389 (grub-mkpasswd-pbkdf2): Likewise.
14390 (grub-pe2elf): Likewise.
14391 (grub-fstest): Likewise.
14392 (grub-mkfont): Likewise.
14393 (grub-mkdevicemap): Likewise.
14394 (grub-probe): Likewise.
14395 (grub-ofpath): Likewise.
14396 (grub-mklayout): Likewise.
14397 (example_unit_test): Likewise.
14398 (grub-menulst2cfg): Likewise.
14399 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14400 * grub-core/Makefile.core.def (cryptodisk): New module.
14401 (luks): Likewise.
14402 (geli): Likewise.
14403 * grub-core/disk/AFSplitter.c: New file.
14404 * grub-core/disk/cryptodisk.c: Likewise.
14405 * grub-core/disk/geli.c: Likewise.
14406 * grub-core/disk/luks.c: Likewise.
14407 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14408 grub_util_is_lvm.
14409 (grub_util_get_dm_abstraction): New function.
14410 (grub_util_follow_gpart_up): Likewise.
14411 (grub_util_get_geom_abstraction): Likewise.
14412 (grub_util_get_dev_abstraction): Use new functions.
14413 (grub_util_pull_device): Pull GELI and LUKS.
14414 (grub_util_get_grub_dev): Handle LUKS and GELI.
14415 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14416 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14417 (follow_geom_up): Removed.
14418 (grub_util_fd_seek): New function.
14419 (open_device): Use grub_util_fd_seek.
14420 (nread): Rename to ..
14421 (grub_util_fd_read): ... this. All users updated.
14422 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14423 (grub_crypto_cbc_decrypt): Likewise.
14424 (grub_crypto_hmac_write): Likewise.
14425 (grub_crypto_hmac_buffer): Likewise.
14426 (grub_password_get): Extend to util.
14427 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14428 New member modname.
14429 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14430 * include/grub/cryptodisk.h: New file.
14431 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14432 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14433 LUKS and GELI.
14434 (grub_util_follow_gpart_up): New proto.
14435 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14436 (grub_util_fd_read): Likewise.
14437 (grub_cryptodisk_cheat_mount): Likewise.
14438 (grub_util_cryptodisk_print_uuid): Likewise.
14439 (grub_util_get_fd_sectors): Likewise.
14440 * util/grub-fstest.c (mount_crypt): New var.
14441 (fstest): Mount crypto if requested.
14442 (options): New option -C.
14443 (argp_parser): Parse -C.
14444 (main): Init and fini gcry.
14445 * util/grub-install.in: Support cryptodisk install.
14446 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14447 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14448 cryptodisk.
14449 (prepare_grub_to_access_device): Likewise.
14450 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14451 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14452 (probe_cryptodisk_uuid): New function.
14453 (probe_abstraction): Likewise.
14454 (probe): Use new functions.
14455 * util/import_gcry.py: Create Makefile.utilgcry.def.
14456 Add modname member.
14457
9bfdcbbc
VS
144582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Lazy device scanning.
14461
14462 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14463 (grub-setup): Remove util/raid.c.
14464 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14465 * grub-core/disk/lvm.c (scan_depth): New variable.
14466 (grub_lvm_iterate): Rescan if necessary.
14467 (find_lv): New function based on grub_lvm_open.
14468 (grub_lvm_open): Use find_lv. Rescan on error.
14469 (is_node_readable): New function.
14470 (is_lv_readable): Likewise.
14471 (grub_lvm_scan_device): Skip already found disks.
14472 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14473 Stop if searched device is found and readable.
14474 * grub-core/disk/raid.c (inscnt): New variable.
14475 (scan_depth): Likewise.
14476 (scan_devices): New function based on grub_raid_register. Abort if
14477 looked for device is found.
14478 (grub_raid_iterate): Rescan if needed.
14479 (find_array): NEw function based on -grub_raid_open.
14480 (grub_raid_open): Use find_array and rescan.
14481 (insert_array): Set became_readable_at.
14482 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14483 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14484 New function.
14485 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14486 (grub_util_pull_device): New function.
14487 (grub_util_get_grub_dev): Call grub_util_pull_device.
14488 * util/raid.c: Moved to ..
14489 * grub-core/kern/emu/raid.c: ... here.
14490 (grub_util_raid_getmembers): New parameter "bootable".
14491 All users updated. Support 1.x.
14492 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14493 All users updated.
14494 * include/grub/disk.h (grub_disk_pull_t): New enum.
14495 (grub_disk_dev): Change iterate prototype.
14496 All users updated.
14497 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14498 New proto.
14499 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14500 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14501 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14502 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14503 All users updated.
14504 * include/grub/util/raid.h: Removed.
14505
1c358e59
VS
145062011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * po/POTFILES.in: Regenerate.
14509
abee94ed
VS
145102011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 Unify sparc init with other ieee1275.
14513
14514 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14515 instead of kern/sparc64/ieee1275/init.c.
14516 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14517 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14518 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14519 grub/machine/kernel.h.
14520 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14521 (grub_claim_heap) [__sparc__]: Use sparc version.
14522 (grub_machine_init): Moved args parsing to
14523 (grub_parse_cmdline): ...this.
14524 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14525 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14526 New definition.
14527 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14528
14529 Move BOOTP to separate file.
14530
14531 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14532 * grub-core/net/net.c: Move all BOOTP functions to
14533 * grub-core/net/bootp.c: ... here.
14534
14535 Use frame interface on PXE.
14536
14537 * grub-core/Makefile.core.def (pxecmd): Removed.
14538 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14539 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14540 * grub-core/i386/pc/pxe.c: Moved from here ...
14541 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14542 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14543 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14544
14545 EFI network support.
14546
14547 * grub-core/Makefile.core.def (efinet): New module.
14548 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14549 here...
14550 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14551 All users updated.
14552 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14553 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14554 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14555 * grub-core/net/drivers/efi/efinet.c: New file.
14556 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14557 (grub_efi_net_config): New extern var.
14558
14559 Various cleanups and bugfixes.
14560
14561 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14562 error.
14563 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14564 disk declared as partition.
14565 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14566 leak on failure.
14567 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14568 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14569 (grub_debug_zalloc): Likewise.
14570 (grub_debug_realloc): Likewise.
14571 (grub_debug_memalign): Likewise.
14572 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14573 Check that target is IPv4.
14574 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14575 local-mac-address as fallback.
14576 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14577 memory leak.
14578 * grub-core/net/ip.c (ipchksum): Rename to ...
14579 (grub_net_ip_chksum): ... this. All users updated.
14580 (grub_net_recv_ip_packets): Special handling for DHCP.
14581 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14582
14583 Unify prefix handling
14584
14585 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14586 (grub_machine_get_bootlocation): ... this.
14587 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14588 (grub_machine_get_bootlocation): ... this.
14589 (grub_prefix): New variable.
14590 (prefix): Removed.
14591 (root_dev): New variable.
14592 (dir): Likewise.
14593 (main): Use new variables.
14594 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14595 Revamped into ...
14596 (grub_machine_get_bootlocation): ... this.
14597 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14598 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14599 (grub_machine_get_bootlocation): ... this.
14600 (grub_machine_set_prefix): Removed.
14601 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14602 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14603 Revamped into ...
14604 (grub_machine_get_bootlocation): ... this.
14605 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14606 (grub_set_prefix_and_root): ... this. All users updated.
14607 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14608 Revamped into ...
14609 (grub_machine_get_bootlocation): ... this.
14610 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14611 (grub_machine_get_bootlocation): New proto.
14612 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14613
14614 Less intrusive and more reliable seek on network implementation.
14615
14616 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14617 (grub_file_seek): Don't call grub_file_net_seek.
14618 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14619 (grub_net_fs_read_real): .. this.
14620 (grub_net_seek_real): Use net->offset.
14621 (grub_net_fs_read): Seek if necessary.
14622
14623 Unify IEEE1275 netwotk config with the other platforms.
14624
14625 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14626 New variable.
14627 (grub_machine_get_bootlocation): Support network.
14628 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14629 Support type and device parsing.
14630 (grub_ieee1275_get_device_type): New function.
14631 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14632 into ...
14633 (grub_ieee1275_net_config_real): ... this.
14634 (grub_ofnet_probecards): Removed.
14635 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14636 * include/grub/ieee1275/ofnet.h: Removed.
14637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14638 extern var.
14639 (grub_ieee1275_get_device_type): New function.
14640
14641 Unify network device closing across platforms and make more robust.
14642
14643 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14644 grub_grubnet_fini.
14645 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14646 already.
14647 * grub-core/net/net.c (grub_net_network_level_interface_register):
14648 Update num_ifaces.
14649 (grub_net_card_unregister): Close all interfaces.
14650 (receive_packets): Don't poll if no iterfaces are registered.
14651 Open if necessary.
14652 (grub_net_fini_hw): New function.
14653 (grub_net_restore_hw): Likewise.
14654 (fini_hnd): New variable.
14655 (GRUB_MOD_INIT): Register preboot hook.
14656 (GRUB_MOD_FINI): Run and unregister preboot hook.
14657
14658 Poll network cards when idle.
14659
14660 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14661 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14662 * grub-core/net/net.c (receive_packets): Save last poll time.
14663 (grub_net_poll_cards_idle_real): New function.
14664 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14665 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14666 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14667
14668 Rename ofnet interfaces.
14669
14670 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14671 (grub_ofnet_findcards): Use ofnet_%s names.
14672
14673 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14674
14675 Cleanup socket opening.
14676
14677 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14678 (grub_net_fs_close): Likewise.
14679 (grub_net_fs_read_real): Use eof member.
14680 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14681 (+grub_net_udp_close): New inline function.
14682
14683 * include/grub/net/tftp.h: Moved to the top of ...
14684 * grub-core/net/tftp.c: ... here.
14685 * include/grub/net/ip.h: Moved mostly to the top of ...
14686 * grub-core/net/ip.c: ... here.
14687 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14688 * grub-core/net/ethernet.c: ... here.
14689
14690 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14691
14692 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14693 FS name.
14694
14695 * include/grub/net/ip.h (ipv4_ini): Removed.
14696 (ipv4_fini): Likewise.
14697
14698 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14699 (grub_net_send_ip_packets): Likewise.
14700
cf1337aa
VS
147012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14704 grub_read_cmos prototype.
14705
93c06ff9
VS
147062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 VGA text support in qemu-mips
14709
14710 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14711 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14712 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14713 text.
14714 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14715 * grub-core/kern/vga_init.c: ... this.
14716 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14717 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14718 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14719 Adjust.
14720 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14721 GRUB_MACHINE_PCI_IO_BASE.
14722
748ccabe
VS
147232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 MIPS qemu flash support.
14726
14727 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14728 magic.
14729 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14730 (grub_machine_init): Probe memory if its size isn't known.
14731 * util/grub-mkimage.c (image_targets): Add flash targets.
14732 (generate_image): Handle flash targets.
14733
d7345994
VS
147342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 MIPS qemu at_keyboard support.
14737
14738 * gentpl.py (videoinkernel): Add qemu-mips.
14739 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14740 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14741 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14742 modules.
14743 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14744 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14745 * grub-core/term/serial.c (grub_serial_register)
14746 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14747
a07a81b3
VS
147482011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 CMOS support on sparc.
14751
14752 * gentpl.py (cmos): Add powerpc and sparc.
14753 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14754 powerpc and sparc.
14755 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14756 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14757 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14758 grub_set_datetime_cmos.
14759 * grub-core/lib/ieee1275/cmos.c: New file.
14760 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14761 (find_rtc): Set no_ieee1275_rtc on error.
14762 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14763 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14764 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14765 fail. Move value to argument. All users updated
14766 (grub_cmos_write): Likewise.
14767 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14768 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14769 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14770 grub_get_datetime_cmos and grub_set_datetime_cmos.
14771
77546584
GS
147722011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14773
14774 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14775 sourcing grub-mkconfig_lib.
14776 * util/update-grub_lib.in: Likewise.
14777 * util/grub.d/00_header.in: Likewise.
14778 * util/grub.d/10_hurd.in: Likewise.
14779 * util/grub.d/10_kfreebsd.in: Likewise.
14780 * util/grub.d/10_linux.in: Likewise.
14781 * util/grub.d/10_netbsd.in: Likewise.
14782 * util/grub.d/10_windows.in: Likewise.
14783 * util/grub.d/20_linux_xen.in: Likewise.
14784 * util/grub.d/30_os-prober.in: Likewise.
14785
54894791
CW
147862011-06-28 Colin Watson <cjwatson@ubuntu.com>
14787
14788 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14789 default_bg_color rather than black.
14790 (grub_gfxterm_fullscreen): Likewise.
14791 (grub_gfxterm_background_color_cmd): Save new background color in
14792 default_bg_color.
14793
8d5d8444
VS
147942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14797
5afeb5bd
VS
147982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14801 mismerge.
14802
ba7df45e
VS
148032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Chainloading on coreboot support.
14806
14807 * grub-core/Makefile.core.def (chain): Add coreboot.
14808 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14809
d0b526b2
VS
148102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14813 if it happens.
14814
5ff1d945
VS
148152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 Implement time command.
14818
14819 * grub-core/Makefile.core.def (time): New module.
14820 * grub-core/commands/time.c: New file.
14821 * grub-core/script/parser.y: Remove "time" keyword.
14822 * grub-core/script/yylex.l: Likewise.
14823
5ebaad7e
VS
148242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14827
bdea3798
VS
148282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14831 when handling leftovers.
14832
b28c5655
VS
148332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14836 so that help2man doesn't fail.
14837
b6f945dc
VS
148382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14841 type in pointers on sparc64.
14842 (get_card_packet): Likewise.
14843
f9b75e8a
CW
148442011-06-27 Colin Watson <cjwatson@ubuntu.com>
14845
14846 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14847 with `*'.
14848 (grub_cmd_videoinfo): Fetch current video mode.
14849
1e3d9b86
VS
148502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14853 because of underlying system restrictions.
14854
efff4b1c
VS
148552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14858 necessary.
14859
9fc9ce37
VS
148602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Coreboot video support.
14863
14864 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14865 (vbe): Likewise.
14866 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14867 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14868 here ...
14869 * grub-core/kern/i386/int.S: ... here.
14870 * grub-core/video/i386/pc/vbe.c: Updated includes.
14871 * grub-core/video/i386/pc/vga.c: Likewise.
14872 * include/grub/i386/coreboot/memory.h
14873 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14874 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14875 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14876 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14877 Disable interrupts.
14878 * include/grub/i386/pc/vga.h: Removed. All users updated.
14879
41bec7fe
VS
148802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14883 definitions for dprintf.
14884 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14885
ca80309d
VS
148862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14889 prototype.
14890 (get_card_packet): Likewise.
14891
9e322ce8
YB
148922011-06-26 Yves Blusseau <blusseau@zetam.org>
14893
14894 Display the path of the file when file is not found
14895
14896 * grub-core/fs/fat.c: Display the filename when file is not found.
14897 * grub-core/fs/fshelp.c: Likewise.
14898 * grub-core/fs/hfs.c: Likewise.
14899 * grub-core/fs/jfs.c: Likewise.
14900 * grub-core/fs/minix.c: Likewise.
14901 * grub-core/fs/ufs.c: Likewise.
14902 * grub-core/fs/btrfs.c: Likewise.
14903 * grub-core/commands/i386/pc/play.c: Likewise.
14904
cbf597af
SJ
149052011-06-26 Szymon Janc <szymon@janc.net.pl>
14906
14907 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14908 pointer checks before calling grub_free().
14909 * grub-core/commands/wildcard.c (match_devices): Likewise.
14910 * grub-core/commands/wildcard.c (match_files): Likewise.
14911 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14912 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14913 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14914 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14915 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14916 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14917 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14918 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14919 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14920
6295b32f
P
149212011-06-25 Patrick <p55@mailinator.com>
14922
14923 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14924
77c0840b
VS
149252011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14928 (grub_pxe_send): Likewise.
14929 (GRUB_MOD_INIT): Fix types.
14930
40ea05de
SJ
149312011-06-24 Szymon Janc <szymon@janc.net.pl>
14932
14933 * grub-core/io/xzio.c: Fix code style issues
14934
90162423
MRA
149352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
149362011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14937
14938 Network infrastructure.
14939 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14940
14941 * include/grub/net/arp.h: New file.
90162423
MRA
14942 * include/grub/net/device.h: Likewise.
14943 * include/grub/net/ethernet.h: Likewise.
14944 * include/grub/net/ip.h: Likewise.
14945 * include/grub/net/netbuff.h: Likewise.
14946 * include/grub/net/tftp.h: Likewise.
14947 * include/grub/net/udp.h: Likewise.
14948 * include/grub/ieee1275/ofnet.h: Likewise.
14949 * include/grub/emu/export.h: Likewise.
14950 * include/grub/net.h: Likewise.
14951 * grub-core/net/arp.c: Likewise.
14952 * grub-core/net/ethernet.c: Likewise.
14953 * grub-core/net/ip.c: Likewise.
14954 * grub-core/net/udp.c: Likewise.
14955 * grub-core/net/tftp.c: Likewise.
14956 * grub-core/net/netbuff.c: Likewise.
14957 * grub-core/net/net.c: Likewise.
14958 * grub-core/net/drivers/emu/emunet.c: Likewise.
14959 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14960 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14961 export.h.
14962 * grub-core/Makefile.core.def (net): New module.
14963 (tftp): Likewise.
14964 (ofnet): Likewise.
14965 (emunet): Likewise.
14966 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14967 network protocols.
14968 * grub-core/kern/device.c (grub_net_open) : New variable.
14969 (grub_device_open): Handle network device.
14970 (grub_device_close): Likewise.
14971 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14972 (grub_grubnet_fini): Likewise.
14973 (grub_file_seek): Seek in network device.
14974 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14975 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14976 network root.
14977 (grub_machine_fini): Call grub_grubnet_fini.
14978 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14979 network.
14980 (grub_ieee1275_get_aliasdevname): New function.
14981 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14982 Add unofficial Solaris network info.
14983 (grub_multiboot_make_mbi): Likewise.
14984 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14985 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14986 * include/grub/device.h (grub_fs): Removed.
14987 * include/grub/err.h (grub_err_t): Add network-related values.
14988 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14989 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14990 (grub_ieee1275_get_aliasdevname): New proto.
14991 * include/grub/net.h: Rewritten.
423a1849 14992
031f22a0
VS
149932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14996 names.
14997
4388ca72
VS
149982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15001 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15002 it truncates the output.
15003 Reported by: Ximin Luo.
15004
98e2f506
VS
150052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15008
2a5e94d8
VS
150092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15012 partmap before abstraction.
15013
535c1910
AK
150142011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15015
15016 * util/grub-mkconfig_lib.in: Add missing quotes.
15017
bc09e1a2
VS
150182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15021 old method if mountinfo would return /dev/root and /dev/root doesn't
15022 exist.
15023
290766fb
VS
150242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 ZFS zlib support
15027
15028 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15029 (decomp_table): Add zlib entries.
15030 (zio_read): USe 8 bits for compression function rather than 3.
15031 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15032
150332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * grub-core/disk/ahci.c: Add missing license statements.
15036 * grub-core/fs/romfs.c: Likewise.
15037 * grub-core/lib/ia64/setjmp.S: Likewise.
15038 * grub-core/loader/i386/pc/freedos.c: Likewise.
15039 * grub-core/loader/ia64/efi/linux.c: Likewise.
15040 * grub-core/video/colors.c: Likewise.
15041 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15042
5ab3f48a
VS
150432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 AHCI support.
15046
15047 * grub-core/Makefile.core.def (ata_pthru): Removed.
15048 (ahci): New module.
15049 (pata): Likewise.
15050 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15051 on unload.
15052 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15053 readwrite.
15054 (grub_hdparm_do_check_powermode_cmd): Likewise.
15055 (grub_hdparm_do_smart_cmd): Likewise.
15056 (grub_hdparm_set_val_cmd): Likewise.
15057 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15058 * grub-core/disk/ahci.c: New file.
15059 * grub-core/disk/ata.c: Factor out the low-level part into ...
15060 * grub-core/disk/pata.c: ... here.
15061 * grub-core/disk/ata_pthru.c: Contents moved to ...
15062 * grub-core/disk/pata.c: ... here.
15063 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15064 (grub_scsi_iterate): Use grub_scsi_names.
15065 (grub_scsi_open): Likewise.
15066 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15067 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15068 (grub_ata_regs_t): New struct.
15069 (grub_disk_ata_pass_through_parms): Likewise.
15070 (grub_ata_device): Renamed to ...
15071 (grub_ata): ... this.
15072 (grub_ata_dev): New struct.
15073 Removed all low-level inline functions.
15074 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15075 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15076 iterate hooks and open. All users updated.
15077 * util/grub-install.in: Handle AHCI disk module.
15078
c31dc5f5
SJ
150792011-06-23 Szymon Janc <szymon@janc.net.pl>
15080
15081 Add support for DRI and RSTn markers in JPEG files.
15082
15083 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15084 (JPEG_MARKER_RST0): Likewise.
15085 (JPEG_MARKER_RST1): Likewise.
15086 (JPEG_MARKER_RST2): Likewise.
15087 (JPEG_MARKER_RST3): Likewise.
15088 (JPEG_MARKER_RST4): Likewise.
15089 (JPEG_MARKER_RST5): Likewise.
15090 (JPEG_MARKER_RST6): Likewise.
15091 (JPEG_MARKER_RST7): Likewise.
15092 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15093 (grub_jpeg_decode_dri): New function.
15094 (grub_jpeg_decode_sos): Move image data related part into
15095 grub_jpeg_decode_data function.
15096 (grub_jpeg_decode_data): New function.
15097 (grub_jpeg_reset): New function.
15098 (grub_jpeg_decode_jpeg): Handle new markers.
15099
fe12fd5b
VS
151002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * util/ieee1275/ofpath.c (check_sas): Close fd.
15103 (main): Free of_path.
15104 Reported by: David Volgyes <dvolgyes>.
15105
03147f46
VS
151062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15109 Reported by: David Volgyes <dvolgyes>.
15110
cad3237f
VS
151112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15114 file after stat.
15115 Reported by: David Volgyes <dvolgyes>.
15116
13548d26
VS
151172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15120
15121 Reported by: David Volgyes <dvolgyes>.
15122
e061a1b5
VS
151232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15126 Prevent memory leak.
15127
1abe47dc
VS
151282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15131 (main): Close file.
e061a1b5 15132 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15133
fbc62666
VS
151342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15137 to continue if allocation is failed.
15138
15139 Reported by: David Volgyes <dvolgyes>.
15140
e98c83e9
DV
151412011-06-23 David Volgyes <dvolgyes>
15142
15143 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15144 dereference.
15145
a199a8cd
VS
151462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 Fix spurious warning.
15149
15150 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15151 (acorn_partition_map_find): Use .bin member.
15152
e2d1dba0
VS
151532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15156 /dev/root as a valid device.
15157
8a5d6919
JM
151582011-06-23 Jim Meyering <meyering@redhat.com>
15159
e2d1dba0
VS
15160 Avoid NULL deref in grub_device_open.
15161
8a5d6919
JM
15162 * grub-core/kern/device.c (grub_device_open): Don't dereference
15163 a NULL pointer upon failed grub_env_get.
15164
f7db6f4a
VS
151652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 Support non-512B sectors and agglomerate reads.
15168
15169 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15170 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15171 (disk_io_guid): Removed.
15172 (make_devices): Locate solely by BlockIO.
15173 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15174 (grub_efidisk_read): Use read_blocks.
15175 (grub_efidisk_write): Use write_blocks.
15176 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15177 log_sector_size.
15178 (get_safe_sectors): Handle non-512B sectors.
15179 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15180 sectors.
15181 (grub_biosdisk_write): Handle non-512B sectors.
15182 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15183 (grub_scsi_read): Remove special non-512B block handling (now handled
15184 one level up).
15185 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15186 and do sanity checks.
15187 (grub_disk_adjust_range): Handle non-512B sectors.
15188 (transform_sector): New function.
15189 (grub_disk_read_small): Likewise.
15190 (grub_disk_read): Rewritten.
15191 (grub_disk_write): Handle non-512B sectors.
15192 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15193 log_sector_size.
15194 (open_device): Use log_sector_size.
15195 (grub_util_biosdisk_read): Likewise.
15196 (grub_util_biosdisk_write): Likewise.
15197 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15198 non-512B sectors.
15199 (pc_partition_map_embed): Likewise.
15200 * include/grub/disk.h (grub_disk): New field log_sector_size.
15201 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15202 (GRUB_DISK_CACHE_BITS): Increased to 6.
15203 * util/grub-fstest.c (fstest): New command testload.
15204 (argp_parser): Likewise.
15205
881ac815
RM
152062011-06-16 Robert Millan <rmh@gnu.org>
15207
15208 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15209 `ata' driver on kernel of FreeBSD 9.
15210
15211 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15212 (get_ataraid_disk_name): New functions.
15213 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15214 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15215 get_ataraid_disk_name() and get_ada_disk_name().
15216
1e9aef7d
CW
152172011-06-13 Colin Watson <cjwatson@ubuntu.com>
15218
15219 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15220 input format.
15221
351c7c8a
CW
152222011-05-29 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15225 `ftp.gnu.org' for `alpha.gnu.org'.
15226
6b4e6430
CW
152272011-05-27 Colin Watson <cjwatson@ubuntu.com>
15228
15229 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15230 partitions under /dev/disk/by-id/.
15231
c64db050
CW
152322011-05-27 Colin Watson <cjwatson@ubuntu.com>
15233
15234 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15235 after ten consecutive open failures. Scanning all the way up to
15236 10000 is excessive and can cause serious performance problems in
15237 some configurations.
15238 Fixes Ubuntu bug #787461.
15239
245f4aba
VS
152402011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15243 opening new one.
15244
f767c929
VS
152452011-05-21 Colin Watson <cjwatson@ubuntu.com>
152462011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 Don't stat devices unless we have to.
15249
15250 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15251 dir == /dev/mapper.
15252 (grub_guess_root_device): Use already known os_dev if possible.
15253 * grub-core/kern/emu/hostdisk.c
15254 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15255 if device is known to be a dm one.
15256
f35fa3a6
CW
152572011-05-20 Colin Watson <cjwatson@ubuntu.com>
15258
15259 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15260 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15261 Reported by: Pawel Tecza.
15262
9a79fcf2
VS
152632011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15266 (lsefisystab): Likewise.
15267 (lssal): Likewise.
15268 (lsefimmap): Likewise.
15269 (hdparm): Enable on qemu-mips.
15270 (setjmp): Add ia64 nodist.
15271 (serial): Simplify tags.
15272
63e3eea9
CW
152732011-05-18 Colin Watson <cjwatson@ubuntu.com>
15274
15275 * Makefile.util.def (grub-ofpathname): Install manual page.
15276
09728256
CW
152772011-05-18 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15280
8b63a142
CW
152812011-05-18 Colin Watson <cjwatson@ubuntu.com>
15282
15283 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15284
e775d8ed
VS
152852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15288 into dprintf.
15289
bf947d36
VS
152902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Use full 64-bit division.
15293
15294 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15295 (grub_divmod64): ... this.
15296 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15297 version.
15298
b84f26c5
CW
152992011-05-18 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15302 `source'.
15303
5626056f
CW
153042011-05-18 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15307 to avoid accidents when debugging with 'sh -x'.
15308 * grub-core/gensyminfo.sh.in: Likewise.
15309 * tests/example_scripted_test.in: Likewise.
15310 * tests/grub_cmd_regexp.in: Likewise.
15311 * tests/grub_script_blanklines.in: Likewise.
15312 * tests/grub_script_dollar.in: Likewise.
15313 * tests/grub_script_expansion.in: Likewise.
15314 * tests/grub_script_final_semicolon.in: Likewise.
15315 * tests/partmap_test.in: Likewise.
15316 * tests/util/grub-shell-tester.in: Likewise.
15317 * tests/util/grub-shell.in: Likewise.
15318
e2965f4a
CW
153192011-05-18 Colin Watson <cjwatson@ubuntu.com>
15320
15321 Move gfxmenu color handling to video, so that gfxterm can use it
15322 too.
15323
15324 * grub-core/gfxmenu/named_colors.c: Move to ...
15325 * grub-core/video/colors.c: ... here. Rename
15326 grub_gui_get_named_color to grub_video_get_named_color.
15327 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15328 * grub-core/video/colors.c (my_isxdigit): ... here.
15329 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15330 Move to ...
15331 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15332 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15333 to ...
15334 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15335
15336 * include/grub/gui.h (grub_gui_color_t): Move to ...
15337 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15338 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15339 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15340 * include/grub/gui.h (grub_gui_map_color): Move to ...
15341 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15342 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15343 to ...
15344 * include/grub/video.h (grub_video_get_named_color): ... here.
15345 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15346 * include/grub/video.h (grub_video_parse_color): ... here.
15347
15348 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15349 video/colors.c.
15350 (gfxmenu): Remove gfxmenu/named_colors.c.
15351 (video) [videomodules]: Add video/colors.c.
15352
15353 Add a background_color command.
15354
15355 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15356 function.
15357 (GRUB_MOD_INIT): Register background_color command.
15358 (GRUB_MOD_FINI): Unregister background_color command.
15359 (redraw_screen_rect): Allow blend/replace of text layer to be
15360 controlled independently from whether there is a background bitmap.
15361 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15362 changing bitmap.
15363
1e4b4390
VS
153642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15365
26618ff0
VS
15366 Patch BPB in ntldr and chainloader --bpb.
15367
1e4b4390
VS
15368 * grub-core/fs/fat.c: Include grub/fat.h.
15369 (grub_fat_bpb): Moved to ...
15370 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15371 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15372 grub/ntfs.h.
15373 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15374 Moved from here...
15375 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15376 here.
15377 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15378 New function.
15379 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15380 (GRUB_MOD_INIT): Show --bpb.
15381 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15382 * grub-core/normal/main.c (features): New variable.
15383 (GRUB_MOD_INIT): Set feature_* variables.
15384 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15385 proto.
15386 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15387
cf02731e
VS
153882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15391 for cleanness.
15392
e3a1073f
VS
153932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 FreeDOS direct loading support.
15396
15397 * docs/grub.texi (Supported OS): Add FreeDOS.
15398 * grub-core/Makefile.core.def (freedos): New module.
15399 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15400 variable.
15401 (grub_relocator16_boot): Handle %ebx.
15402 * grub-core/lib/i386/relocator16.S: Likewise.
15403 * grub-core/loader/i386/pc/freedos.c: New file.
15404
05caa461
VS
154052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Long Linux command line support.
15408
15409 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15410 (maximal_cmdline_size): New variable.
15411 (allocate_pages): Use maximal_cmdline_size.
15412 (grub_cmd_linux): Set and use maximal_cmdline_size.
15413 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15414 (allocate_pages): Use maximal_cmdline_size.
15415 (grub_cmd_linux): Set and use maximal_cmdline_size.
15416 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15417 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15418 and cmdline_size.
15419
a2491e23
VS
154202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
154212011-05-18 Colin Watson <cjwatson@ubuntu.com>
15422
15423 Improve devmapper support
15424
15425 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15426 (grub_util_is_lvm): New function.
15427 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15428 than lvm if not dmraid.
15429 Handle mapped md nodes.
15430 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15431 (grub_util_device_is_mapped): ... this. Make always available. All users
15432 updated.
15433 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15434 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15435 dmraid nodes.
15436 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15437
6ad6223e
VS
154382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15441
15442 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15443 * grub-core/modinfo.sh.in: New file.
15444 * grub-core/Makefile.core.def (modinfo.sh): New script.
15445 * util/grub-mknetdir.in: Use modinfo.sh.
15446 * util/grub-mkrescue.in: Likewise.
15447
543a8f6e
VS
154482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15451 Fix potential usage of Elf32 instead of Elf64 when compiling on
15452 32-bit architecture. Add endianness macros while on it.
15453
4959e111
VS
154542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Use mipsel- rather than mips- in directories involving mipsel ports to
15457 allow both endiannesses coexist.
15458
15459 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15460 mips. All conditions adjusted.
15461 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15462 variable.
15463 * util/grub-install.in: Adjust conditions to take renaming into account.
15464 * util/grub-mkimage.c (image_targets): Likewise. New target
15465 mips-qemu_mips-elf for bigendian mips.
15466
35341bbc
VS
154672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 Avoid unnecessary copying on MIPS.
15470
15471 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15472 early if src == dest.
15473 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15474 compression is none.
15475
b772baed
VS
154762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Reduce memory footprint on SGI by putting modules before the kernel
15479 as opposed to after.
15480
15481 * grub-core/Makefile.core.def (kernel): Increase linking address.
15482 (none_decompress): Likewise.
15483 (xz_decompress): Likewise.
15484 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15485 address.
15486 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15487 layout change.
15488 (grub_arch_modules_addr): New function.
15489 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15490 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15491 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15492 here.
15493 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15494 (grub_total_modules_size): ... this. Make global.
15495 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15496 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15497 New definition.
15498 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15499 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15500 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15501 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15502 * util/grub-mkimage.c (image_target_desc): New flag
15503 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15504 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15505 (generate_image): Handle images with modules before kernel.
15506
566a1917
VS
155072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 Prevent potential loss of memory map by overwrite on qemu-mips.
15510
15511 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15512 Save ram size in $s4.
15513 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15514 All users changed to grub_arch_memsize.
15515 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15516 Loongson.
15517 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15518 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15519 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15520 external variable.
15521
5d420cd9
CW
155222011-05-17 Colin Watson <cjwatson@ubuntu.com>
15523
15524 * .bzrignore: Remove grub-dumpbios.
15525
d064b830
CW
155262011-05-17 Colin Watson <cjwatson@ubuntu.com>
15527
15528 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15529 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15530 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15531 existing options which append).
15532 * docs/grub.texi (Simple configuration): Document new options.
15533 Reported by: Ian Jackson. Fixes Debian bug #617538.
15534
3ca2b466
CW
155352011-05-17 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * util/grub-fstest.c (cmd_cat): New function.
15538 (fstest): Handle CMD_CAT.
15539 (options): Add cat.
15540 (argp_parser): Handle cat.
15541
24c9143a
CW
155422011-05-17 Colin Watson <cjwatson@ubuntu.com>
15543
15544 * Makefile.util.def (grub-bin2h): Don't install.
15545 * docs/man/grub-bin2h.h2m: Remove.
15546
90f7ac19
VS
155472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15550 place.
15551
8d4a5178
VS
155522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Reenable qemu-mips port.
15555
15556 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15557 Fix small arc bug while on it.
15558 * gentpl.py: Handle qemu_mips.
15559 * grub-core/Makefile.am: Likewise.
15560 * grub-core/Makefile.core.def: Likewise.
15561 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15562 inappropriate includes.
15563 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15564 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15565 * grub-core/kern/main.c (grub_modules_get_end)
15566 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15567 * grub-core/kern/mips/qemu-mips: Moved to ..
15568 * grub-core/kern/mips/qemu_mips: ... this.
15569 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15570 (grub_machine_init): Call terminfo_init and serial_init.
15571 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15572 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15573 New variable.
15574 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15575 parameter passing.
15576 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15577 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15578 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15579 * include/grub/mips/qemu_mips/cmos.h: New file.
15580 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15581 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15582 Removed.
15583 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15584 Use correct mips-style address.
15585 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15586 (GRUB_TICKS_PER_SECOND): Removed.
15587 (grub_get_rtc): Likewise.
15588 (grub_cpu_idle): Likewise.
15589 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15590 New definition.
15591 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15592 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15593 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15594 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15596 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15597 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15598 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15599
400b9371
VS
156002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 SGI ARCS port.
15603
15604 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15605 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15606 platforms.
15607 * configure.ac: New target mips-arc.
15608 * gentpl.py: Likewise.
15609 * grub-core/Makefile.am: Likewise.
15610 * grub-core/Makefile.core.def: Likewise.
15611 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15612 (none_decompress): Likewise.
15613 (lsdev): New module.
15614 (datetime): Use lib/arc/datetime.c on ARC.
15615 (part_dvh): New module.
15616 * grub-core/commands/arc/lsdev.c: New file.
15617 * grub-core/disk/arc/arcdisk.c: Likewise.
15618 * grub-core/kern/mips/arc/init.c: Likewise.
15619 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15620 aligned addresses.
15621 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15622 support.
15623 (grub_arch_dl_relocate_symbols): Likewise.
15624 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15625 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15626 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15627 platforms.
15628 * grub-core/lib/arc/datetime.c: New file.
15629 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15630 pci.h on non-loongson.
15631 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15632 (grub_linux_boot): Set unused registers to 0.
15633 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15634 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15635 * grub-core/mmap/mips/uppermem.c: ...here.
15636 * grub-core/partmap/dvh.c: New file.
15637 * grub-core/term/arc/console.c: Likewise.
15638 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15639 (grub_terminfo_set_current): Add terminal "arc".
15640 (grub_terminfo_readkey): Support ARC sequences.
15641 * include/grub/arc/arc.h: New file.
15642 * include/grub/arc/console.h: Likewise.
15643 * include/grub/disk.h (grub_disk_dev_id): Add
15644 GRUB_DISK_DEVICE_ARCDISK_ID.
15645 * include/grub/mips/arc/kernel.h: New file.
15646 * include/grub/mips/arc/memory.h: Likewise.
15647 * include/grub/mips/arc/time.h: Likewise.
15648 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15649 * include/grub/mips/kernel.h (grub_halt): ... here.
15650 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15651 here...
15652 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15653 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15654 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15655 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15656 proto.
15657 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15658 from here ...
15659 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15660 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15661 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15662 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15663 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15664 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15665 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15666 (grub_phys_addr_t): Moved from here ...
15667 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15668 (grub_vtop): Moved from here ...
15669 * include/grub/mips/memory.h (grub_vtop): ... here.
15670 (grub_map_memory): Moved from here ...
15671 * include/grub/mips/memory.h (grub_map_memory): ... here.
15672 (grub_unmap_memory): Moved from here ...
15673 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15674 (grub_machine_mmap_iterate): Moved from here ...
15675 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15676 (grub_mmap_get_lower): Moved from here ...
15677 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15678 (grub_mmap_get_upper): Moved from here ...
15679 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15680 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15681 here ...
15682 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15683 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15684 here ...
15685 * include/grub/mips/time.h (grub_get_rtc): ... here.
15686 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15687 here ...
15688 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15689 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15690 here ...
15691 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15692 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15693 definition.
15694 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15695 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15696 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15697 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15698 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15699 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15700 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15701 (GRUB_MACHINE_LINK_ADDR): Likewise.
15702 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15703 to 6.
15704 * util/grub-install.in: Run dvhtool on ARC.
15705 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15706 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15707
c8ecc840
VS
157082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15711 blocks.
15712
153a4b55
VS
157132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15716 after enabling port.
15717
ff44d107
VS
157182011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 Skip incorrect USB devices.
15721
15722 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15723 configcnt == 0.
15724 * include/grub/usb.h (grub_usb_err_t): New enum value
15725 GRUB_USB_ERR_BADDEVICE.
15726
638dbe4f
VS
157272011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Fuloong video init support.
15730
15731 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15732 well.
15733 (grub_vga_read_arx): New function.
15734 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15735 definition.
15736 (framebuffer): New members io, mmioptr and mmiobase.
15737 (read_sis_cmd): New function.
15738 (write_sis_cmd): Likewise.
15739 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15740 rather than 640x400.
15741 * grub-core/video/sis315_init.c: New file.
15742
c3fc520c
VS
157432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15746 non-loongson.
15747 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15748 to grub_dl_register_symbol.
15749
67b1e5c9
VS
157502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 Fix compilation errors.
15753
15754 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15755 potentially unused.
15756 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15757 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15758 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15759 to loongson machines.
15760
b756f75f
VS
157612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 Several FS mtime support.
15764
15765 * grub-core/fs/affs.c (grub_affs_time): New struct.
15766 (grub_affs_file): New field mtime.
15767 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15768 type. Removed 'size'. New field 'di'. All users updated.
15769 (grub_affs_mount): Simplify checsum checking.
15770 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15771 (grub_affs_dir): Handle mtime.
15772 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15773 (grub_cpio_dir): Likewise.
15774 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15775 (grub_hfs_filerec): New field mtime.
15776 (grub_hfs_dir): Handle mtime.
15777 (grub_hfs_mtime): New function.
15778 (grub_hfs_fs): Register grub_hfs_mtime.
15779 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15780 (grub_iso9660_dir): New field mtime.
15781 (grub_fshelp_node): New field dirent.
15782 (iso9660_to_unixtime): New function.
15783 (iso9660_to_unixtime2): Likewise.
15784 (grub_iso9660_read_symlink): Use node->dirent.
15785 (grub_iso9660_iterate_dir): Likewise.
15786 (grub_iso9660_dir): Set mtime.
15787 (grub_iso9660_mtime): New function.
15788 (grub_iso9660_fs): Register grub_iso9660_mtime.
15789 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15790 (grub_jfs_inode): New fields atime, ctime and mtime.
15791 (grub_jfs_dir): Set mtime.
15792 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15793 * grub-core/fs/ntfs.c (list_file): Set mtime.
15794 (grub_ntfs_dir): Likewise.
15795 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15796 (grub_reiserfs_iterate_dir): Set mtime.
15797 (grub_reiserfs_dir): Likewise.
15798 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15799 (grub_fshelp_node): Likewise.
15800 (grub_sfs_iterate_dir): Set mtime.
15801 (grub_sfs_dir): Likewise.
15802 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15803 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15804 (grub_xfs_inode): New fields atime, mtime, ctime.
15805 (grub_xfs_dir): Set mtime.
15806 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15807 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15808 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15809
15810 Support UDF symlinks.
15811
15812 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15813 (grub_ufs_read_symlink): New function. All users updated.
15814
15815 Check amiga partmap checksum.
15816
15817 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15818 (grub_amiga_partition): Likewise.
15819 (amiga_partition_map_checksum): New function.
15820 (amiga_partition_map_iterate): Check checksum.
15821
5470225d
VS
158222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 ROMFS support.
15825
15826 * Makefile.util.def (libgrubmods.a): Add romfs.
15827 * grub-core/Makefile.core.def (romfs): New module.
15828 * grub-core/fs/romfs.c: New file.
15829
d4680a35
VS
158302011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 Squashfs v4 support.
15833
15834 * Makefile.util.def (libgrubmods.a): Add squash4.
15835 * grub-core/Makefile.core.def (squash4): New module.
15836 * grub-core/fs/squash4.c: New file.
15837 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15838 disk_input_start, disk_input.
15839 (get_byte): Handle disk_input.
15840 (grub_zlib_disk_read): New function.
15841 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15842
bcb18e74
FZ
158432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
158442011-05-15 Feiran Zheng <famcool@gmail.com>
15845
15846 * Makefile.util.def (libgrubmods.a): Add minix3.
15847 * grub-core/Makefile.core.def (minix3): New module.
15848 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15849 (GRUB_MINIX_BSIZE): Removed.
15850 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15851 (grub_minix_ino_t): New type.
15852 (grub_minix_le_to_cpu_ino): New macro.
15853 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15854 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15855 (grub_minix_data): New field block_size.
15856 (grub_minix_read_file): Handle 64-bit correctly.
15857 * grub-core/fs/minix3.c: New file.
15858
32297d5f
TG
158592011-05-15 Tristan Gingold <gingold@free.fr>
158602011-05-15 Robert Millan <rmh.grub@aybabtu.com>
158612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 IA64 support.
15864
15865 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15866 * configure.ac: Add ia64-efi target.
15867 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15868 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15869 * gentpl.py: Add ia64_efi platform.
15870 Rename x86_efi to efi and Add ia64-efi. All users updated.
15871 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15872 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15873 Remove kern/generic/rtc_get_time_ms.c on EFI.
15874 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15875 kern/ia64/dl_helper.c on ia64-efi.
15876 Add kern/emu/cache.c on emu.
15877 (linux): Use on loader/ia64/efi/linux.c on ia64.
15878 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15879 whether symbol is a function.
15880 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15881 (grub_symbol): New field 'isfunc'.
15882 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15883 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15884 (grub_dl_load_segments): Place all sections into the same region.
15885 [__ia64__]: Create trampolines and got.
15886 [GRUB_MACHINE_EMU]: Call mprotect.
15887 (grub_dl_resolve_symbols): Resolve symbol type as well.
15888 [__ia64__]: Create function descriptors.
15889 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15890 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15891 (grub_get_rtc): New function.
15892 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15893 * grub-core/kern/emu/cache.S: Renamed to ...
15894 * grub-core/kern/emu/cache_s.S: ... this.
15895 [__ia64__]: Add a nop.
15896 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15897 [__ia64__]: New function.
15898 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15899 * grub-core/kern/ia64/dl.c: New file.
15900 * grub-core/kern/ia64/dl_helper.c: Likewise.
15901 * grub-core/kern/ia64/efi/init.c: New file.
15902 * grub-core/kern/ia64/efi/startup.S: Likewise.
15903 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15904 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15905 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15906 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15907 * grub-core/loader/ia64/efi/linux.c: New file.
15908 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15909 (GRUB_MOD_DEP): Likewise.
15910 (grub_dl) [__ia64__]: New fields got and tramp.
15911 (grub_dl): New field 'base'.
15912 (grub_dl_register_symbol): New argument isfunc. All users updated.
15913 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15914 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15915 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15916 (grub_ia64_dl_get_tramp_got_size): New proto.
15917 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15918 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15919 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15920 * include/grub/efi/api.h: Skip call wrappers on ia64.
15921 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15922 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15923 * include/grub/elf.h (ELF_ST_INFO): New definition.
15924 * include/grub/ia64/efi/kernel.h: New file.
15925 * include/grub/ia64/efi/memory.h: Likewise.
15926 * include/grub/ia64/efi/time.h: Likewise.
15927 * include/grub/ia64/kernel.h: Likewise.
15928 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15929 * include/grub/ia64/time.h: New file.
15930 * include/grub/ia64/types.h: Likewise.
15931 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15932 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15933 New protos.
15934 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15935 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15936 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15937 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15938 All users updated.
15939 (EFI64_HEADER_SIZE): New definition. All users updated.
15940 (image_targets): Add ia64-efi.
15941 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15942 jumpers_addr. All users updated.
15943 Create function descriptors.
15944 (count_funcs): New function.
15945 (unaligned_uint32): New struct.
15946 (MASK20): New definition.
15947 (MASK19): Likewise.
15948 (MASKF21): Likewise.
15949 (add_value_to_slot_20b): New function.
15950 (add_value_to_slot_21_real): Likewise.
15951 (add_value_to_slot_21): Likewise.
15952 (ia64_kernel_trampoline): New struct.
15953 (nopm): New variable.
15954 (jump): Likewise.
15955 (make_trampoline): New function.
15956 (relocate_addresses): Handle ia64.
15957 (make_reloc_section): Likewise.
15958 (load_image): Likewise.
15959
983b414d
VS
159602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15963 warning. Move variables before code while on it.
15964
5d063cdc
VS
159652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15966
15967 Fuloong support.
15968
15969 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15970 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15971 * grub-core/boot/mips/loongson/fuloong.S: New file.
15972 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15973 Explicitly init CS5536.
15974 [FULOONG]: Don't use serial until CS5536 is available.
15975 Set GPIO based on dumps.
15976 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15977 [FULOONG]: Handle GPIO and memory controller differences.
15978 Parse machine type in $a2.
15979 * grub-core/boot/mips/startup_raw.S: Determine and save the
15980 architecture.
15981 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15982 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15983 init on architecture type.
15984 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15985 SIS315E. Don't init at_keyboard on fuloong.
15986 (grub_halt): Support Fuloong.
15987 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15988 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15989 (loongson_machtypes): New array.
15990 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15991 type.
15992 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15993 config. All users updated. Handle CS5536 serial.
15994 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15995 default port on machine type. Register serial as inactive.
15996 * grub-core/video/sis315pro.c: New file.
15997 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15998 definition.
15999 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16000 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16001 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16002 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16003 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16004 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16005 to ...
16006 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16007 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16008 definition.
16009 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16010 (grub_arch_machine): New extern var.
16011 * include/grub/mips/loongson/serial.h
16012 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16013 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16014 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16015 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16016 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16017 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16018 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16019 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16020 * include/grub/term.h (grub_term_register_input_inactive): New inline
16021 function.
16022 (grub_term_register_output_inactive): Likewise.
16023 * include/grub/video.h (grub_video_driver_id): New value
16024 GRUB_VIDEO_DRIVER_SIS315PRO.
16025 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16026 New field "names". All users updated.
16027 New field value IMAGE_FULOONG_FLASH.
16028 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16029
6ada82d1
JU
160302011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16031
16032 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16033 and add some clarification.
16034
90c571a4
VS
160352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16038 platforms if kernel is compressed.
16039
de04eecf
VS
160402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16041
16042 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16043 unused modules since currently referrence counter isn't reliable and
16044 there isn't much memory to recover there anyway.
16045
57688121
VS
160462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16049 rather than resetting it to allow modules to reference themselves
16050 in init.
16051
3d2c7e35
VS
160522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16055 counter on dependencies since grub_dl_unref already handles this.
16056
b25db218
VS
160572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16060 on error if not already done.
16061
25a45338
VS
160622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 Fix few potential memory misusage.
16065
16066 * grub-core/font/font.c (load_font_index): Don't free char_index to
16067 avoid double free.
b25db218
VS
16068 (grub_font_load): Zero-fill font at alloc for safety.
16069 Close file on error.
16070 (free_font): Free bmp_idx.
25a45338 16071
0cac83df
VS
160722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 * docs/grub.texi (Installation): Fix several outdated claims.
16075
2217a143
VS
160762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 Handle module_license on windows.
16079
16080 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16081 sections shifted.
16082 (insert_string): Make argument const char * instead of char *.
16083 (write_section_data): Handle long section names.
16084 Handle module_license.
16085
d4de6b01
VS
160862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16089 handle class-free menuentries.
16090 (grub_normal_add_menu_entry): Add a check to be sure.
16091
4c2a3b43
VS
160922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16095 PgUp and PgDown.
16096
85c6210f
VS
160972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * configure.ac: Bump version to 1.99.
16100
36084912
VS
161012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 Give ATA device a bit more time on first try in order to allow disks
16104 to spin up.
16105
16106 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16107 if dev->present is 1. Reset dev->present on failure.
16108 (grub_ata_device_initialize): Set dev->present to 1.
16109 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16110 (grub_ata_device): New member 'present'.
16111
bda0e219
VS
161122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * util/grub-mkimage.c (generate_image): Update hash.
16115
19e1c41b
VS
161162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 Flush caches on DMA memory.
16119
16120 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16121 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16122 (grub_dma_free): Likewise.
16123 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16124
91bbcc0c
VS
161252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16128 to avoid asm treating ld and sd as macros.
16129
60ddfad3
VS
161302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16133 decompressor.
16134
a298aa04
VS
161352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16138 grub_decompress_core since later would fail if grub_decompress_core
16139 is too far.
16140
9b44feca
VS
161412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16144 R_MIPS_JALR since it's used by newer compiler.
16145
56dbe7b4
VS
161462011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16149
52856af2
VS
161502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16153 file_path to 0 for surety.
16154 (grub_chainloader_boot): Set exit_data to NULL.
16155 Unset the loader once done.
16156 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16157
9c9bfc6d
VS
161582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16161 unknown key into a dprintf.
16162
dd94a3df
VS
161632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16166 on first non-existant partition.
16167
fa68d99c
VS
161682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16171 openning fails.
16172 Reported by: Mark Korenberg.
16173
157effb7
VS
161742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16177 overflow.
16178
ea75312f
VS
161792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16182 before closing to ensure that it will be readable by grub-setup.
16183
072b5d31
VS
161842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16187 (devpath_1): Use MAKE_PIWG_PATH.
16188 (devpath_2): Likewise.
16189 (devpath_3): Likewise.
16190 (devpath_4): Likewise.
16191 (devpath_5): Likewise.
16192 (devpath_6): Likewise.
16193
16194 The appleldr.mod was checked that to be binary identical to previous
16195 version.
16196
7fae0051
Z
161972011-05-05 Zach <mikezackles>
16198
16199 Support 2010 Macbooks.
16200
16201 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16202 (devs): Add devpath_6.
16203
7c515bee
VS
162042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16207 /dev/random. /dev/urandom is good enough for our purposes (salting).
16208
ed660bd8
VS
162092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16212
ee5614b7
VS
162132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16216 hexadecimal.
16217
664889a6
VS
162182011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16221 and not 0 on failure.
16222
bd405bbc
CW
162232011-05-03 Colin Watson <cjwatson@ubuntu.com>
16224
16225 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16226 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16227 disk; otherwise grub_fs_probe will not fall back to the next
16228 filesystem.
16229 (grub_pxefs_open): Likewise, for consistency.
16230 Reported and tested by: Ezekiel Grave.
16231
4ebff753
CW
162322011-05-03 Colin Watson <cjwatson@ubuntu.com>
16233
16234 * tests/partmap_test.in: Don't hardcode path to parted.
16235 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16236
8f942553
CW
162372011-05-01 Colin Watson <cjwatson@ubuntu.com>
16238
16239 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16240 of `ls' to find out which devices are available.
16241
3c62402d
VS
162422011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16245 than source address for efi mmap buffer.
16246
723f63f2
VS
162472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16250 wrong action on non-detecting the magic.
16251
68797f92
VS
162522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16255 already supplied by another part of the module (fixes compilation on
16256 FreeBSD).
16257
6be8715d
VS
162582011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16261 match the one used by mdadm.
16262
e91dba5b
CW
162632011-04-21 Colin Watson <cjwatson@ubuntu.com>
16264
16265 * po/README: Add instructions for creating po/LINGUAS.
16266
c85140b3
CW
162672011-04-21 Colin Watson <cjwatson@ubuntu.com>
16268
16269 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16270 #551428.
16271
16272 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16273 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16274 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16275 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16276 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16277 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16278 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16279 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16280 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16281 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16282 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16283 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16284 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16285 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16286 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16287 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16288 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16289 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16290 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16291 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16292 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16293 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16294
92051871
CW
162952011-04-21 Colin Watson <cjwatson@ubuntu.com>
16296
16297 * grub-core/kern/emu/getroot.c
16298 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16299 test that was incorrectly reintroduced in r3214.
16300 Reported by: Ian Dall. Fixes Savannah bug #33133.
16301
b13f79a4
CW
163022011-04-21 Colin Watson <cjwatson@ubuntu.com>
16303
16304 Fix stack pointer handling in 16-bit relocator.
16305
16306 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16307 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16308 Fixes Ubuntu bug #683904.
16309
9b710a88
VS
163102011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * configure.ac: Bump version to 1.99~rc2.
16313
d97e7b59
VS
163142011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16317 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16318 * grub-core/lib/x86_64/setjmp.S: Likewise.
16319 * grub-core/lib/mips/setjmp.S: Likewise.
16320 * grub-core/lib/powerpc/setjmp.S: Likewise.
16321 * grub-core/lib/sparc64/setjmp.S: Likewise.
16322
0624551c
VS
163232011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16326 * grub-core/lib/efi/datetime.c: Likewise.
16327
e8f28d4c
VS
163282011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16331 New function.
16332 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16333 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16334 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16335
bba79a15
VS
163362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16339 bitmap.
16340 (grub_gfxterm_term_init): Likewise.
16341
abc474ef
VS
163422011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 Take into account the decorations the computing menu entry width.
16345
16346 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16347 (grub_gfxmenu_create_box): Register get_border_width.
16348 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16349 if available.
16350 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16351 get_border_width.
16352
e74b3947
EP
163532011-04-18 Endres Puschner <code@e7p.de>
16354
16355 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16356 Don't skip first class.
16357
34faa595
VS
163582011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16361 chunks.
16362 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16363
93a777e3
VS
163642011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 Complete 64-bit division support.
16367
16368 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16369 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16370 * include/grub/misc.h (grub_divmod64): Rename to ...
16371 (grub_divmod64_full): ... this.
16372 (grub_divmod64): New inline function.
16373
a5102d94
VS
163742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16377
f3fb7b36
VS
163782011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16381 performing the necessary test.
16382
9ac718b0
VS
163832011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16384
16385 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16386 (kfreebsd.elf): Likewise.
16387 (pc-chainloader.elf): Likewise.
16388 (ntldr.elf): Likewise.
16389
50d2cc5a
VS
163902011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 Identify RAID by its UUID rather than (guessed) name.
16393
16394 * grub-core/disk/raid.c (ascii2hex): New function.
16395 (grub_raid_open): Accept mduuid/%s specification.
16396 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16397 (get_mdadm_uuid): ... this.
16398 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16399
e03f7bea
VS
164002011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16403 to negative size.
16404
e74c3112
CW
164052011-04-13 Colin Watson <cjwatson@ubuntu.com>
16406
16407 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16408 btrfs subvolume.
16409 * util/grub.d/20_linux_xen.in: Likewise.
16410
78fa584f
CW
164112011-04-13 Colin Watson <cjwatson@ubuntu.com>
16412
16413 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16414 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16415
16416 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16417 Build a list of relevant visible mounts using the mnt_id and
16418 parent_mnt_id fields, and then scan that list at the end.
16419
9d5f8162
CW
164202011-04-12 Colin Watson <cjwatson@ubuntu.com>
16421
16422 * docs/grub.texi (normal): New section.
16423 (normal_exit): New section.
16424 (Embedded configuration): Add reference to normal.
16425 (GRUB only offers a rescue shell): Likewise.
16426 * docs/grub-dev.texi (Error Handling): Fix typo.
16427
09a9d66f
CW
164282011-04-12 Colin Watson <cjwatson@ubuntu.com>
16429
16430 * NEWS: Drop obsolete entry about probe-only btrfs support.
16431
0c676933
CW
164322011-04-12 Colin Watson <cjwatson@ubuntu.com>
16433
16434 * util/import_gcry.py: Fix typo.
16435
ec9f5e0d
VS
164362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * NEWS: Add btrfs support.
16439
fe6b2cba
VS
164402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
164412011-04-11 Colin Watson <cjwatson@ubuntu.com>
16442
16443 BtrFS support. Written by me (Vladimir) with important bugfixes and
16444 even more important testing by Colin.
16445
16446 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16447 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16448 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16449 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16450 mem_input_off and mem_input. All users updated to accept in-RAM input.
16451 (gzio_seek): New function.
16452 (test_zlib_header): Likewise.
16453 (grub_gzio_read): Likewise.
16454 (grub_zlib_decompress): Likewise.
16455 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16456 Accept partial and non-virtual mounts.
16457 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16458 avoid receiving /dev/dm-X as device.
16459 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16460 Handle bind and partial mounts.
16461 * grub-core/lib/crc.c: New file.
16462 * include/grub/deflate.h: Likewise.
16463 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16464 proto.
16465 * include/grub/lib/crc.h: New file.
16466
e745cf0c
VS
164672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 Implement automatic module license checking according to new GNU
16470 guidelines.
16471
16472 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16473 (grub_dl_load_core): Use grub_dl_check_license.
16474 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16475 (GRUB_MOD_LICENSE): Likewise.
16476 (GRUB_MOD_DUAL_LICENSE): Likewise.
16477 All modules updated.
16478
2a9bc016
CW
164792011-04-11 Colin Watson <cjwatson@ubuntu.com>
16480
16481 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16482 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16483 loaders.
16484 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16485
8a3bc88e
VS
164862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16489
af869a4a
VS
164902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16493 failed.
16494
9ee8d94f
VS
164952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16498 parenthesis in the middle of the filename.
16499
b01abe3e
VS
165002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16503 rather than trying to put initrd way too high.
16504 Reported by: Ryan Lortie <desrt@desrt.ca>
16505
335bda1e
VS
165062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16509 improperly removed string.
16510
5ca1a64d
VS
165112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16514 is_disk.
16515 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16516 (open_device) Likewise.
16517 (grub_util_biosdisk_close): Likewise.
d8ce9995 16518 Reported by: Mark Korenberg.
5ca1a64d 16519
cbac5b1e
AK
165202011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16521
16522 * util/grub-mkconfig_lib.in: Add missing quotes.
16523
088cdb65
CW
165242011-04-10 Colin Watson <cjwatson@ubuntu.com>
16525
16526 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16527 is NULL.
16528
8b8a81fa
VS
165292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 Dynamically count the number of lines for the lower banner.
16532
16533 * grub-core/normal/menu_entry.c (per_term_screen): New member
16534 num_entries.
16535 (print_down): Use num_entries.
16536 (update_screen): Likewise.
16537 (grub_menu_entry_run): Set num_entries.
16538 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16539 num_entries.
16540 (grub_print_message_indented): Move real part to ...
16541 (grub_print_message_indented_real): ... here. Additional argument
16542 dry_run.
16543 (draw_border): Additional argument num_entries.
16544 (print_message): Additional argument dry_run.
16545 (print_entries): Receive menu viewer data.
16546 (grub_menu_init_page): New argment num_entries.
16547 (menu_text_set_chosen_entry): Use num_entries.
16548 (grub_menu_try_text): Likewise.
16549 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16550 All users updated.
16551 (grub_ucs4_count_lines): New function.
16552 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16553 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16554 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16555 (grub_term_border_height): Likewise.
16556 (grub_term_num_entries): Likewise.
16557
277f955b
VS
165582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16561 Remove now unused string.
16562
536ce85a
CW
165632011-04-09 Colin Watson <cjwatson@ubuntu.com>
16564
16565 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16566 build system.
16567 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16568
16569 (Comment): Fix typo.
16570 (Getting started): General copy-editing.
16571 (Typical Development Experience): Likewise.
16572 (Error Handling): Likewise.
16573 (Video API): Likewise.
16574
2cf09e32
CW
165752011-04-09 Colin Watson <cjwatson@ubuntu.com>
16576
16577 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16578 throughout.
16579
1ec652f4
VS
165802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16583 directory.
16584
2c583728
CW
165852011-04-08 Colin Watson <cjwatson@ubuntu.com>
16586
16587 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16588 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16589 "development".
16590
d7a565e9
VS
165912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16594 grub_strcpy since the lines aren't necessarily 0-terminated.
16595
7c2e4909
VS
165962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16599 root on legacy.
16600
34c09785
VS
166012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16604 (GRUB_MOD_INIT): DEVICE isn't optional.
16605
6a6f8058
VS
166062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16609 word on new line if it's too long anyway. Fixes a hang.
16610
2e335e90
VS
166112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16614 const.
16615 * util/grub-setup.c (main): Reuse md device name if available.
16616 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16617 not GRUB name as argument.
16618 Based on patch by: Florian Wagner <fwagner>.
16619
10a7a867
VS
166202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16623 Place mbi on low memory for better compatibility.
16624
7a3d6cd9
VS
166252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16628
18dd6b47
VS
166292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
166302011-04-08 Colin Watson <cjwatson@ubuntu.com>
16631
16632 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16633 * conf/Makefile.common: Likewise.
18dd6b47 16634
3c0e3f14
VS
166352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16636
f7148863
VS
16637 * grub-core/normal/menu.c: Add missing include.
16638
166392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16642
6d1fa41f
MZ
166432011-04-08 Martin Zuther <mzuther@mzuther.de>
16644
16645 * util/grub-mkconfig.in: Ignore emacsen backup.
16646
478182a8
VS
166472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16650 on open.
16651 (grub_util_biosdisk_close): Likewise.
16652
72a89a54
VS
166532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16656 const attribute and use grub_isdigit.
16657
b5ebecfa
A
166582011-04-06 Andrey <dev_null@ukr.net>
16659
16660 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16661 gcc warning.
16662
7755f66e
VS
166632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16666 useful grub_dprintf's.
16667
461121ff
VS
166682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16671
2a961775
VS
166722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16675
adf594cc
VS
166762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 Output errors if theme loading failed.
16679
16680 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16681 grub_gfxterm_fullscreen on error paths to ...
16682 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16683 theme loading error.
16684
665900a3
VS
166852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16688 space for older compilers.
16689 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16690
a562b479
VS
166912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16694 and report them as not RAID members since they are useless for GRUB.
16695 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16696
850e9373
VS
166972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 Increase LVM implementation robustness in order not to crash on
16700 configurations like pvmove. Previously code assumed that in some places
16701 only lvs or only pvs are used whereas it seems that they are used
16702 interchangeably.
16703
16704 * grub-core/disk/lvm.c (read_node): New function.
16705 (read_lv): Use read_node.
16706 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16707 Match volumes only at the end when all lvs are found. Take both
16708 pvs (first) and lvs (second) into account.
16709 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16710 mirror_* into node_*. All users updated.
16711 (grub_lvm_stripe): Merge this ...
16712 (grub_lvm_mirror): ... and this ...
16713 (grub_lvm_node): ... into this. All users updated.
16714
6f332153
VS
167152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16718 of function to allow further scanning for LVMs.
16719
829ea451
VS
167202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16723 on failed seek as it breaks open fd reusage.
16724
09ceb9a5
VS
167252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * util/grub-install.in: Add a recommendation to use --recheck before
16728 reporting bugs.
16729
67e11623
VS
167302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16731
16732 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16733 are obtained.
16734
caee5efd
VS
167352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 GRUB developper manual based on existing Internals section and
16738 contributions by the various authors with active copyright assignment.
16739
16740 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16741 * docs/font_char_metrics.png: New file.
16742 * docs/font_char_metrics.txt: Likewise.
16743 * docs/grub-dev.texi: Likewise.
16744 * docs/grub.texi (Internals): Move from here ...
16745 * docs/grub-dev.texi: ... here.
16746
2cccc747
CW
167472011-04-01 Colin Watson <cjwatson@ubuntu.com>
16748
16749 Store the loopback device as data on loopback grub_disk structures,
16750 rather than the file it points to. This fixes use of freed memory
16751 if an existing loopback device is replaced.
16752
16753 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16754 disk->data, not dev->file.
16755 (grub_loopback_read): Adjust file assignment to match.
16756 Fixes Ubuntu bug #742967.
16757
186ae367
CW
167582011-04-01 Colin Watson <cjwatson@ubuntu.com>
16759
16760 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16761 when replacing an existing device.
16762
cfed2ad0
VS
167632011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16766 memory corruptions.
16767
16768 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16769 unsigned.
16770 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16771 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16772 (grub_jfs_read_inode): Likewise.
16773 (grub_jfs_opendir): Likewise. Remove now useless casts.
16774 (grub_jfs_getent): Likewise.
16775 Make ino a grub_uint32_t rather than int.
16776 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16777 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16778 division and module with bit operations.
16779 (grub_jfs_find_file): Make ino a grub_uint32_t.
16780 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16781
05d2ed32
CW
167822011-04-01 Colin Watson <cjwatson@ubuntu.com>
16783
16784 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16785 warning. (This was in fact always initialised before use, but GCC
16786 wasn't smart enough to prove that.)
16787 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16788
91dc6073
VS
167892011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16792 stack alignment.
16793 (efi_wrap_1): Likewise.
16794 (efi_wrap_2): Likewise.
16795 (efi_wrap_3): Likewise.
16796 (efi_wrap_4): Likewise.
16797 (efi_wrap_5): Likewise.
16798 (efi_wrap_6): Likewise.
16799 (efi_wrap_10): Likewise.
16800 Based on information by: Red Hat/Peter Jones.
16801
a8afc1d1
CW
168022011-03-31 Colin Watson <cjwatson@ubuntu.com>
16803
16804 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16805 set-but-not-used variable.
16806
a826cc7d
CW
168072011-03-31 Colin Watson <cjwatson@ubuntu.com>
16808
16809 * docs/grub.texi (Simple configuration): Be more explicit about
16810 GRUB_DEFAULT, and add an example.
16811 Reported by: Leslie Rhorer.
16812
875b67ba
CW
168132011-03-30 Colin Watson <cjwatson@ubuntu.com>
16814
16815 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16816 shell".
16817
fd7cd914
AS
168182011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16819
16820 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16821 * util/grub.d/20_linux_xen.in: Likewise.
16822
090b1b6a
VS
168232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16824
16825 * util/grub.d/10_linux.in: Try alternative config filenames where
16826 we parse config file.
16827 * util/grub.d/20_linux_xen.in: Likewise.
16828
baad885c
AS
168292011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16830
16831 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16832 * util/grub.d/20_linux_xen.in: Likewise.
16833
241e41f5
VS
168342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * grub-core/disk/raid.c (insert_array): Add few potentially
16837 useful grub_util_info.
16838 (grub_raid_register): Likewise.
16839
56445fb2
VS
168402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16843 Preserve partition number in mdadm code path.
16844
c871b1c6
VS
168452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16848 few potentially useful grub_util_info.
16849
5e631b4f
CW
168502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16853
2d5d0333
CW
168542011-03-30 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * docs/grub.texi (default): Use @example rather than nested
16857 itemized lists to avoid breaking gendocs.
16858
3d7ed04e
CW
168592011-03-30 Colin Watson <cjwatson@ubuntu.com>
16860
16861 * docs/grub.texi (Future): Update.
16862
abf04200 168632011-03-30 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * docs/grub.texi (Environment): New chapter.
16866 (Changes from GRUB Legacy): Link to "Environment block" section for
16867 details of limitations.
16868 (Simple configuration): Likewise. Link to documentation of gfxmode
16869 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16870 respectively.
16871 (Shell-like scripting): Note that normal variables are stored in the
16872 environment.
16873 (gettext): Link to documentation of lang and locale_dir.
16874 (list_env): New section.
16875 (load_env): New section.
16876 (save_env): New section.
16877
16878 (Reporting bugs): Fix typo.
16879
e1ad0edd
VS
168802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16883 the example.
16884
5d803174
VS
168852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * grub-core/term/at_keyboard.c (set_scancodes)
16888 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16889
2a2da1d0
CW
168902011-03-30 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * docs/grub.texi (Menu-specific commands): Remove some semantics
16893 that were true in GRUB Legacy but not in GRUB 2.
16894 (submenu): New section.
16895 (false): New section.
16896 (read): New section.
16897 (true): New section.
16898
a7527639
CW
168992011-03-30 Colin Watson <cjwatson@ubuntu.com>
16900
16901 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16902
169032011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16904
16905 * docs/grub.texi (Simple configuration): Explain some of the
16906 current limitations of grub-mkconfig.
8a748df2 16907 Reported by: Leslie Rhorer.
e30af029 16908
fc858482
VS
169092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Old macs search for boot.efi rather than for bootia32.efi.
16912
16913 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16914 * util/grub-mkrescue.in: Likewise.
16915 Suggested by: Peter Jones.
16916
e1eb511d
VS
169172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16920
70e75364
VS
169212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16924 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16925 (grub_lvm_mirror): New struct.
16926 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16927 (grub_lvm_iterate): Iterate only visible volumes.
16928 (grub_lvm_read): Factor out to ..
16929 (read_lv): ... this. Support mirrors.
16930 (grub_lvm_read): New wrapper function.
16931 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16932 stripped or mirrored.
16933
fc18f6a3
VS
169342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16937
5c650f4c
CW
169382011-03-29 Colin Watson <cjwatson@ubuntu.com>
16939
16940 * docs/grub.texi (loopback): New section.
16941
61d7156b
CW
169422011-03-29 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16945 removed -p option.
16946
994b8264
CW
169472011-03-29 Colin Watson <cjwatson@ubuntu.com>
16948
16949 * docs/grub.texi (BIOS installation): New section, partly based on
16950 previous text in other sections.
16951 (Installing GRUB using grub-install): Replace BIOS discussion with a
16952 cross-reference.
16953 (Images): Likewise.
16954
9e4d19e0
VS
169552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16958 [HAVE_DIOCGDINFO]: Add safety checks.
16959
a307c0b2
VS
169602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16963 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16964
b4db4f39
CW
169652011-03-29 Colin Watson <cjwatson@ubuntu.com>
16966
16967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16968 real_sb->size is zero (e.g. RAID-0), get the disk size from
16969 real_sb->data_size instead.
16970 Fixes Ubuntu bug #743136.
16971
35e5f84c
VS
169722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16975 printf clauses for printing size and start.
16976
d2e29d81
VS
169772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16980 Reported and tested by: Timothy Nikkel.
16981
ed5587af
VS
169822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16985 (dirty_region_add_real): ... this.
16986 (dirty_region_add): Don't discard margin refresh when performing
16987 scheduled repaint.
16988
a1dc717c
VS
169892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * grub-core/lib/relocator.c (allocate_regstart)
16992 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16993 terminals are capabple of malloc-free operation.
16994 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16995 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16996
9f3677d3
VS
169972011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16998
16999 * util/grub-setup.c: Copy the partition table zone if floppy support
17000 is disabled, even if no partition table is found.
17001
17002 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17003 during POST if an invalid partition table is contained in the PBR
17004 of the active partition when GRUB is installed to a partition.
17005
24148725
CW
170062011-03-28 Colin Watson <cjwatson@debian.org>
17007
17008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17009 comment.
17010
f329eda7
CW
170112011-03-28 Colin Watson <cjwatson@debian.org>
17012
17013 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17014 to be specific about what kind of RAID device we're scanning for.
17015
c482ad98
SG
170162011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17017
17018 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17019 return freed string.
17020
5ee04984
VS
170212011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17024
f4727da9
VS
170252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 Use libgeom on FreeBSD to detect partitions.
17028
17029 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17030 (grub-mkrelpath): Likewise.
17031 (grub-script-check): Likewise.
17032 (grub-editenv): Likewise.
17033 (grub-mkpasswd-pbkdf2): Likewise.
17034 (grub-fstest): Likewise.
17035 (grub-mkfont): Likewise.
17036 (grub-mkdevicemap): Likewise.
17037 (grub-probe): Likewise.
17038 (grub-setup): Likewise.
17039 (grub-ofpathname): Likewise.
17040 (grub-mklayout): Likewise.
17041 (example_unit_test): Likewise.
17042 (grub-menulst2cfg): Likewise.
17043 * grub-core/Makefile.core.def (grub-emu): Likewise.
17044 (grub-emu-lite): Likewise.
17045 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17046 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17047 define HAVE_DIOCGDINFO.
17048 (follow_geom_up) [FreeBSD]: New function.
17049 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17050 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17051 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17052 unconditionally of HAVE_DIOCGDINFO.
17053
82fe6c75
VS
170542011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17055
17056 Fix FreeBSD compilation problem.
17057
17058 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17059 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17060
4c6c9431
CW
170612011-03-24 Colin Watson <cjwatson@ubuntu.com>
17062
17063 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17064 Switch back to page zero before loading a kernel, since some kernel
17065 drivers expect that.
17066 Thanks to: Felix Kuehling.
17067
c7064d94
VS
170682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17071 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17072 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17073
3f71cded
VS
170742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17077 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17078
ef6de21a
VS
170792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17082 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17083 malloc is disabled.
17084
8bc66a2c
VS
170852011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17088 for modules headers when counting the needed allocation size.
17089
5657722c
VS
170902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17093 if no ASCII character is found to prevent crash.
17094
41a85f55
AK
170952011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17096
17097 * grub-core/video/bitmap.c (match_extension): Ignore case.
17098
59e1e5f1
VS
170992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17102
bd4d051a
VS
171032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/script/parser.y: Declare "time" as valid argument.
17106
bae7fcc1
PJ
171072011-03-23 Peter Jones <pjones@redhat.com>
17108
17109 Fix incorrect assert failure reporting.
17110
17111 * grub-core/tests/example_functional_test.c (example_test): Add
17112 a failure comment.
17113 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17114 (failure_start): ...this. Check that malloc succeeded.
17115 Don't call xvasprintf. Return failure struct.
17116 (failure_append_vtext): New function.
17117 (failure_append_text): Likewise.
17118 (add_failure): Likewise.
17119 (grub_test_assert_helper): Likewise.
17120 * include/grub/test.h (grub_test_assert_helper): New declaration.
17121 (grub_test_assert): Macro rewritten.
17122
537dc9be
VS
171232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17126
fa3e01bf
VS
171272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17130
b1d28404
VS
171312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17134 into GRUB-style one.
17135
2e3e2e09
VS
171362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17139 error and not grub_errno.
17140 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17141
ed57e557
VS
171422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17145 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17146
d1611f01
VS
171472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * grub-core/efiemu/i386/pc/cfgtables.c
17150 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17151 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17152 (grub_xnu_unlock): Likewise.
17153 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17154
7d4e39d6
VS
171552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17158 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17159 * grub-core/commands/hashsum.c (aliases): Likewise.
17160 * grub-core/commands/setpci.c (pci_registers): Likewise.
17161 * grub-core/disk/usbms.c (attach_hook): Likewise.
17162 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17163 (zio_checksum_table): Likewise.
17164 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17165 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17166 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17167 * grub-core/lib/relocator.c (leftovers): Likewise.
17168 (extra_blocks): Likewise.
17169 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17170 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17171 (modules_last): Likewise.
17172 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17173 (devices): Likewise.
17174 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17175 (modules_last): Likewise.
17176 * grub-core/normal/auth.c (users): Likewise.
17177 * grub-core/normal/context.c (initial_menu): Likewise.
17178 (current_menu): Likewise.
17179 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17180 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17181 (grub_serial_terminfo_input_template): Likewise.
17182 (grub_serial_terminfo_output_template): Likewise.
17183 (grub_serial_terminfo_input): Likewise.
17184 (grub_serial_terminfo_output): Likewise.
17185 (registered): Likewise.
17186 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17187
40fc4659
VS
171882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17191 grub_video_mode_type_t.
17192 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17193 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17194 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17195
2da48d28
VS
171962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * util/grub-install.in: Correct the x86-64 name as x86_64.
17199
9b43bf39
CW
172002011-03-11 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17203 initial chunk read from the kernel always includes GRUB's multiboot
17204 header, which is now outside the first sector.
17205
be1a7ce0
CW
172062011-03-09 Colin Watson <cjwatson@ubuntu.com>
17207
17208 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17209 cached mmap_size, so that this works correctly when called multiple
17210 times.
17211 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17212
83a3c48d
CW
172132011-03-09 Colin Watson <cjwatson@ubuntu.com>
17214
17215 * docs/grub.texi (Simple configuration): Tidy up formatting.
17216
57d75699
SJ
172172011-03-07 Szymon Janc <szymon@janc.net.pl>
17218
17219 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17220 Set-but-not-used variable removed.
17221
028501a0
VS
172222011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 Workaround yet another IEEE1275 bug.
17225
17226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17227 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17228 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17229 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17230 is set.
17231 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17232 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17233
d998657d
VS
172342011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17237 error.
17238
fee7cdd4
CW
172392011-02-11 Colin Watson <cjwatson@ubuntu.com>
17240
17241 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17242 empty, since in that case we can only generate either nothing or a
17243 syntactically invalid configuration file.
17244 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17245
97286eb5
CW
172462011-02-09 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17249 (Making a GRUB bootable CD-ROM): Likewise.
17250 (Invoking grub-mkrescue): New section.
17251 Reported by: Yann Dirson. Fixes Debian bug #612585.
17252
22b28eb3
CW
172532011-02-09 Colin Watson <cjwatson@ubuntu.com>
17254
17255 * util/grub-install.in: Remove unnecessary brackets from tr
17256 arguments.
17257 * util/grub.d/10_hurd.in: Likewise.
17258 * util/grub.d/10_kfreebsd.in: Likewise.
17259 * util/grub.d/10_linux.in: Likewise.
17260 * util/grub.d/20_linux_xen.in: Likewise.
17261 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17262
7e735e43
CW
172632011-02-08 Colin Watson <cjwatson@ubuntu.com>
17264
17265 * include/grub/file.h (not_easly_seekable): Rename to ...
17266 (not_easily_seekable): ... this. Update all users.
17267
800f1881
CW
172682011-01-28 Colin Watson <cjwatson@ubuntu.com>
17269
17270 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17271 grub-mkrescue.
17272
3281d3d6
VS
172732011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 * util/grub-mkimage.c (generate_image): Refuse to create the images
17276 bigger than the actual flash (512K) in Loongson machines. 512K is also
17277 the biggest chip supported by them.
17278
3533413c
VS
172792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17282
73ae4f4f
VS
172832011-01-22 Anthony DeRobertis <anthony@derobert.net>
17284
17285 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17286 super_offset field.
17287
37f4f608
VS
172882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * util/grub-install.in: Ignore install device on platforms
17291 where it doesn't make sense. Always use UUIDs except on pc, efi and
17292 sparc64.
17293 Reported by: Daniel Kahn Gillmor.
17294
03a4ccb5
VS
172952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17298
ffc8f4d8
VS
172992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17302 (iterate_real): Don't rely on partition being non-NULL.
17303
80f23be7
VS
173042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17307 supported platforms. Put a compile time assert for this rather than
17308 generate a warning with 32-bit shift.
17309
5d4f4dd5
VS
173102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17313 logical expression more readable.
17314
e489601a
VS
173152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17318 even if some elements have a name.
17319 Reported by: Alexander GQ Gerasiov.
17320
96e0a6ea
CW
173212011-01-22 Colin Watson <cjwatson@ubuntu.com>
17322
17323 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17324 path unreadable if `grub-probe -t abstraction' fails, for example if
17325 memberlist fails on an LVM volume group.
17326 Reported by: Darius Jahandarie.
17327
81431e2b
CW
173282011-01-22 Colin Watson <cjwatson@ubuntu.com>
17329
17330 * docs/grub.texi (Simple configuration): Document
17331 GRUB_PRELOAD_MODULES.
17332
5e79d66a
CW
173332011-01-17 Colin Watson <cjwatson@ubuntu.com>
17334
17335 * .bzrignore: Remove nonexistent grub-pbkdf2.
17336
646ada34
VS
173372011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 * configure.ac: Bump version to 1.99~rc1.
17340
04360337
VS
173412011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17344 for safety.
17345
46c9db88
VS
173462011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17349 module.
17350
173512011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17352
17353 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17354
4fbf1852
VS
173552011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17358 diskdevid.
17359
f1632d4d
VS
173602011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 Fix compilation on cygwin.
17363
17364 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17365 -R .drectve on cygwin.
17366 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17367 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17368 (COND_CYGWIN): New condition.
17369 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17370 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17371 not @TARGET_OBJ2ELF@.
17372 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17373 type to determine whether aux is to be used.
17374
0b5e127b
VS
173752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17378 realpath'ed device string.
17379 Handle floppy (somewhat).
17380 Issue error in unknown case rather than garbage.
17381 Reported by: Axel Beckert.
17382
173b71e9
VS
173832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * util/grub.d/00_header.in (load_video): Handle the case when no video
17386 drivers available.
17387 Thanks to: Axel Beckert.
17388
f8f479db
VS
173892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17392 variable. Fixes problem on big endian platforms.
17393
8fc0a245
VS
173942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17397 It doesn't work well there.
17398
b8494fbe
VS
173992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17402 warning.
17403 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17404 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17405 counter.
17406
b44a558c
VS
174072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Use alias->path rather than buggy "canon".
17410
17411 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17412 (ofdisk_hash_add): New argument curcan. All users updated.
17413
51fa856c
CW
174142011-01-11 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17417
9da068a5
VS
174182011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17421 loadmask before doing any calculations. Use correct type for offset.
17422 (grub_linux_load64): Likewise.
17423
86205c94
CW
174242011-01-11 Colin Watson <cjwatson@ubuntu.com>
17425
17426 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17427 with NULL.
17428 (console_grub_equivalences_unshift): Likewise.
17429 Reported by: Daniel Dehennin.
17430
4531a206
VS
174312011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17434 (set_env_limn_ro): Likewise.
17435 (GRUB_MOD_INIT): Likewise.
17436 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17437 ARRAY_SIZE while on it.
17438 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17439 * grub-core/normal/context.c (grub_env_export): Move from here ...
17440 * grub-core/kern/env.c (grub_env_export): ... here.
17441 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17442 prefix.
17443 * grub-core/kern/main.c (grub_main): Export root and prefix.
17444 * include/grub/env.h (grub_env_export): Export.
17445 Reported by: Seth Goldberg.
17446
45146057
VS
174472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17450 Take into account space used by ELF sections and multiboot palette.
17451 Reported by: Grégoire Sutre.
17452
f093110b
VS
174532011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 * BUGS: New file.
17456
3395fe52
VS
174572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 Pass more appropriate video id to Linux.
17460
17461 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17462 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17463 fill have_vga.
17464 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17465 shift params->lfb_size.
17466 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17467
c2fa6cbb
VS
174682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17471
b3ff6ff0
VS
174722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17475 separator and pass bootpath/devid even if only one of them is available.
17476 Reported by: Seth Goldberg.
17477
ae67942e
VS
174782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17481 implementations bug on them.
17482
17483 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17484 memory.
17485 (filter_memory_map): Likewise.
17486
d570097a
VS
174872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17490 Reported by: nebuchadnezzar.
17491
a508e776
VS
174922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17495 Reported by: nebuchadnezzar.
17496
dcb883b1
VS
174972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 Submenu default support.
17500
17501 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17502 auto_boot. All users updated.
17503 Declared static.
17504 Handle chosen and default with submenus.
17505 (grub_menu_execute_with_fallback): Declared static.
17506 Don't notify failure if autobooted. Upper level does it.
17507 (menuentry_eq): New function.
17508 (get_entry_number): Use menuentry_eq.
17509 (show_menu): New parameter "autobooted". All users updated.
17510 (grub_show_menu): Likewise.
17511 * include/grub/normal.h (grub_show_menu): Likewise.
17512 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17513 (grub_menu_execute_with_fallback): Likewise.
17514
6fef99b4
VS
175152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 * util/grub-mklayout.c (usage): Update help text.
17518
47a77af5
VS
175192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17522
ce6bb3ee
VS
175232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * util/grub-menulst2cfg.c (main): Trim the line.
17526
db87be2a
VS
175272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17530 (grub_machine_init): Don't check amount of low memory as reportedly
17531 INT 12h can be broken and if low memory is too low we wouldn't have
17532 gotten into grub_machine_init anyway.
17533
c49849cc
VS
175342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17537 (grub_machine_mmap_iterate): Take low memory into account
17538
b1969b30
VS
175392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17542 badfs.
17543 Reported by: TiCPU.
17544
cf0eaf13
VS
175452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17548 members errors.
17549
1f060f39
GS
175502011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17551
17552 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17553 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17554
a21e5672
GS
175552011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17556
17557 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17558 openbsd and netbsd types being in part_bsd module.
17559
c88172fa
VS
175602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17563 (_FILE_OFFSET_BITS): Likewise.
17564 Reported by: Seth Goldberg.
17565
53798c4b
GS
175662011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17567
17568 * configure.ac: Check for libdevmapper header.
17569
e7121b69
VS
175702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17573 avoid aliasing.
17574 (fzap_lookup): Likewise.
17575 (dnode_get): Likewise.
17576 (make_mdn): Likewise.
17577 (zfs_mount): Likewise.
17578 (fzap_iterate): Use temporary pointer to avoid aliasing.
17579 (grub_zfs_read): Likewise.
17580 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17581 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17582 pointers to avoid aliasing.
17583 (grub_cmd_xnu_kernel64): Likewise.
17584 (grub_xnu_load_driver): Likewise.
17585
fc836af9
VS
175862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17587
17588 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17589 aliasing warning.
17590 (grub_cmd_terminal_output): Likewise.
17591 Reported and tested by: Grégoire Sutre.
17592
f9f37648
VS
175932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17596 warning.
17597 Reported and tested by: Grégoire Sutre.
17598
ec1dfd63
VS
175992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * configure.ac: Do CPU substitution even if it's specified explicitly.
17602 Reported and tested by: Alain Greppin.
17603
9462775a
VS
176042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17607 Reported and tested by: Alain Greppin.
17608
0fd48e35
VS
176092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 Satisfy some bison versions need for inttypes.h.
17612
17613 * grub-core/lib/posix_wrap/inttypes.h: New file.
17614 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17615 (int16_t): Likewise.
17616 (int32_t): Likewise.
17617 (int64_t): Likewise.
17618 Reported and tested by: Alain Greppin.
17619
43f1bc83
VS
176202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17623 Silence spurious warning.
17624 Reported and tested by: Alain Greppin.
17625
64d1f041
SJ
176262011-01-07 Szymon Janc <szymon@janc.net.pl>
17627
17628 * docs/grub.texi (Support automatic decompression): Update with xz
17629 decompression support.
17630
25953e10
SJ
176312011-01-07 Szymon Janc <szymon@janc.net.pl>
17632
17633 Improve loaders' kernel command line handling.
17634
17635 * grub-core/lib/cmdline.c: New file.
17636 * include/grub/lib/cmdline.h: Likewise.
17637 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17638 grub_create_loader_cmdline to create kernel command line.
17639 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17640 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17641 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17642 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17643 (linux): Add lib/cmdline.c on common.
17644
e72d259f
VS
176452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17648 inopos might be unaligned.
17649
c0cf26da
VS
176502011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17653 endian transformations.
17654 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17655 Based on report by: Doug Nazar.
17656
0ca09e6c
DN
176572011-01-07 Doug Nazar <nazard.michi@gmail.com>
17658
17659 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17660 array->members[i].start_sector.
17661 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17662
014b6806
VS
176632011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17666 Reported and tested by: Grégoire Sutre.
17667
415502c2
CW
176682011-01-06 Colin Watson <cjwatson@ubuntu.com>
17669
17670 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17671 avoid causing test failures by clearing the screen.
17672
71b6a2b7
CW
176732011-01-06 Colin Watson <cjwatson@ubuntu.com>
17674
17675 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17676 Fix prefix check to handle the case where dir ends with a slash
17677 (most significantly, "/" itself).
17678 Reported by: Michael Vogt.
17679
b3f8d28a
VS
176802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 Run terminfo_cls on initing terminfo output to clear the screen and
17683 move the cursor to (0,0).
17684
17685 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17686 Call grub_terminfo_output_init.
17687 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17688 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17689 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17690
4c3e4f37
VS
176912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17694 only when needed.
17695
488f71f1
VS
176962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17699 CTRL.
17700
18a38098
VS
177012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17702
17703 The E820 type 5 is BADRAM, not EXEC_CODE.
17704
17705 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17706 (GRUB_E820_BADRAM): New define.
17707 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17708 into reserved. Propagate BADRAM.
17709 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17710 (GRUB_E820_BADRAM): New define.
17711
9eae2084
VS
177122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17715 Ignore the memory post-4G.
17716 (grub_relocator_firmware_alloc_region): Additional debug statement.
17717
ebc71d28
VS
177182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17721 names.
17722 Reported by: David Pravec.
17723
446fa400
VS
177242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17727 BIOSes.
17728
a0159f37
VS
177292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17730
17731 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17732 Prevent overflow.
17733 (grub_reed_solomon_recover): Likewise.
17734
e5146ca1
VS
177352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17736
17737 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17738
177392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17740
17741 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17742 variable.
17743
5b1bdf12
CW
177442011-01-04 Colin Watson <cjwatson@ubuntu.com>
17745
17746 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17747 descriptions of extract_legacy_entries_source and
17748 extract_legacy_entries_configfile.
17749 Reported by: Seung Soo, Ha.
17750
99d925aa
CW
177512011-01-03 Colin Watson <cjwatson@ubuntu.com>
17752
17753 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17754 on devices that do not implement function 0.
17755
4af0504b
DV
177562011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17757
17758 * grub-core/fs/hfsplus.c: Make parent unsigned.
17759 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17760 overflows.
17761 (grub_hfsplus_cmp_extkey): Likewise
17762
469ee10a
VS
177632011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * util/grub-install.in: Correctly use bootloader_id and not
17766 GRUB_DISTRIBUTOR on efibootmgr line.
17767
323a8e9c
VS
177682011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17771
1b394975
IC
177722010-12-31 Ian Campbell <ijc@hellion.org.uk>
17773
17774 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17775 Xen and reorder menu item wording to make it clearer that this entry
17776 will launch Xen. Print separate messages when loading Xen and
17777 Linux.
17778
275bff5f
VS
177792010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17782 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17783 loop in case of incorrect amiga partmap.
17784
307806cb
VS
177852010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17786
17787 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17788 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17789 Reported by:EHeM.
17790
b12b923e
VS
177912010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17794 spurious warning.
17795 Reported by: crocket
17796
14b48a19
VS
177972010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17798
17799 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17800 Preload EFIemu.
17801 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17802
693db2df
VS
178032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17806 is loaded
17807 (grub_cmd_xnu_kextdir): Likewise.
17808 (grub_cmd_xnu_splash): Likewise.
17809
c7638645
VS
178102010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 Avoid using Reed-Solomon with 0 redundancy.
17813
17814 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17815 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17816 or 0 redundancy.
17817 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17818 (grub_reed_solomon_recover): Likewise.
17819
25dd4780
VS
178202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 Don't use disk subsystem in freebsd_boot.
17823
17824 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17825 (freebsd_biosdev): Likewise.
17826 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17827 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17828
0b2db943
VS
178292010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Handling of files of unknown size is currently limited. They can't be
17832 used e.g. for initrd or modules. Moreover gzip handling of not
17833 easily seekable files is buggy. Disable unknown file size for now. May
17834 be inefficient but works.
17835
17836 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17837 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17838
5c408d0f
MP
178392010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17840
17841 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17842 floppy probe.
17843
190a011a
JD
178442010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17845
17846 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17847
022d01b8
SL
178482010-12-25 Shea Levy <shlevy>
17849
17850 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17851
c4855fdc
VS
178522010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17855 Windows Server 2008.
17856 Reported by: Devin Giddings.
17857
0354b867
VS
178582010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17861 writing an error message because of async power management.
17862 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17863 (grub_reboot): Likewise.
17864
ab66c69f
JU
178652010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17866
17867 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17868 keep unit tests from failing when they shouldn't.
17869
1426ef35
CW
178702010-12-21 Colin Watson <cjwatson@ubuntu.com>
17871
17872 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17873 previous patch increased the size of the RS code by 20 bytes (at
17874 least with gcc-4.4), so increase this by 20 bytes to match.
17875 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17876
20641b6b
CW
178772010-12-21 Colin Watson <cjwatson@ubuntu.com>
17878
17879 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17880 scratch area. Make sure to initialise chosen in standalone mode as
17881 well as non-standalone.
17882 Reported by: Robert Hooker and Andy Whitcroft.
17883 Tested by: Andy Whitcroft.
17884
d060ad60
CW
178852010-12-21 Colin Watson <cjwatson@ubuntu.com>
17886
17887 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17888 constructing a new unescaped string and passing it to grub_xputs in
17889 one go, rather than passing characters to grub_printf one at a time.
17890
b889cfad
CW
178912010-12-21 Colin Watson <cjwatson@ubuntu.com>
17892
17893 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17894 initialising utf16.
17895
4e01b6c8
CW
178962010-12-21 Colin Watson <cjwatson@ubuntu.com>
17897
17898 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17899 comment. Add an extra layer of quotation, requiring the output of
17900 this function to be used in a printf format string.
17901 (gettext_printf): New function.
17902 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17903 Extract translatable strings from here-documents and use a temporary
17904 variable instead, so that xgettext can find them.
17905 * util/grub.d/10_kfreebsd.in: Likewise.
17906 * util/grub.d/10_linux.in: Likewise.
17907 * util/grub.d/20_linux_xen.in: Likewise.
17908
17909 * po/grub.d.sed: New file.
17910 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17911 arguments. Set c-format flags on all strings extracted from
17912 util/grub.d/ (xgettext refuses to include these itself for strings
17913 it extracted from a shell file, but these really are c-format).
17914
5318fe98
VS
179152010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17918 Avoid next pointing to nowhere.
17919
6c85b743
VS
179202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17923 rather than assuming than rootblock is exactly in the middle.
17924 (grub_affs_label): Likewise.
17925
a2a08a35
VS
179262010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17929 reserved_first_sector to 0.
17930 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17931 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17932 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17933
7059d1ec
VS
179342010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Fix handling of UTF-16 UDF labels.
17937
17938 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17939 (read_string): .. here.
17940 (grub_udf_label): Use read_string.
17941
30aff4cb
BC
179422010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17943
17944 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17945 editor under argument scope.
17946 Reported by: Jordan Uggla
17947
5cf86f4b
VS
179482010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17951
32570200
CW
179522010-12-18 Colin Watson <cjwatson@ubuntu.com>
17953
17954 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17955 line, and other keys scroll an entire page (previous handling was
17956 for \r and \n to scroll a page and other keys to scroll two lines).
17957
e1dffcf2
VS
179582010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17961 Set ptrdest to correct get_physical_target_address rather than
17962 incorrect get_virtual_current_address.
17963
b04298cf 179642010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17965
17966 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17967 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17968
5367ecd3
CW
179692010-12-10 Colin Watson <cjwatson@ubuntu.com>
17970
17971 * .bzrignore: Ignore grub-core/rs_decoder.S.
17972
1fb430f8
CW
179732010-12-10 Colin Watson <cjwatson@ubuntu.com>
17974
17975 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17976 .mo/.mo.gz opening sequence to ...
17977 (grub_mofile_open_lang): ... here.
17978 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17979 * util/grub.d/00_header.in (grub_lang): Include country part of
17980 locale.
17981 Reported by: Mario Limonciello.
17982
a94a6671
RM
179832010-12-09 Robert Millan <rmh@gnu.org>
17984
17985 * NEWS: Document addition of ZFS support.
17986
24b7938b
CW
179872010-12-04 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17990 rather than `/ 2', as the latter requires -Wa,--divide which would
17991 require bumping our minimum binutils version.
17992
bddc3ef6
BC
179932010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17994
17995 * util/grub-script-check.c (main): Print script line number on
17996 error.
17997
bf78d5b2
RM
179982010-12-01 Robert Millan <rmh@gnu.org>
17999
18000 * grub-core/fs/zfs/zfs.c: New file.
18001 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18002 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18003 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18004 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18005
18006 * include/grub/zfs/dmu.h: Likewise.
18007 * include/grub/zfs/dmu_objset.h: Likewise.
18008 * include/grub/zfs/dnode.h: Likewise.
18009 * include/grub/zfs/dsl_dataset.h: Likewise.
18010 * include/grub/zfs/dsl_dir.h: Likewise.
18011 * include/grub/zfs/sa_impl.h: Likewise.
18012 * include/grub/zfs/spa.h: Likewise.
18013 * include/grub/zfs/uberblock_impl.h: Likewise.
18014 * include/grub/zfs/vdev_impl.h: Likewise.
18015 * include/grub/zfs/zap_impl.h: Likewise.
18016 * include/grub/zfs/zap_leaf.h: Likewise.
18017 * include/grub/zfs/zfs.h: Likewise.
18018 * include/grub/zfs/zfs_acl.h: Likewise.
18019 * include/grub/zfs/zfs_znode.h: Likewise.
18020 * include/grub/zfs/zil.h: Likewise.
18021 * include/grub/zfs/zio.h: Likewise.
18022 * include/grub/zfs/zio_checksum.h: Likewise.
18023
18024 * Makefile.util.def: Build ZFS into libgrubmods.
18025 * grub-core/Makefile.core.def: Build zfs.mod.
18026
3f0f3831
SJ
180272010-11-30 Szymon Janc <szymon@janc.net.pl>
18028
18029 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18030 variable.
18031 * grub-core/commands/wildcard.c (match_files): Likewise.
18032
3a4253b2
RM
180332010-11-30 Robert Millan <rmh@gnu.org>
18034
18035 * grub-core/loader/i386/bsd.c
18036 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18037 whether kernel is loaded using grub_loader_is_loaded(), rather
18038 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18039 certain error conditions.
18040
8c317b27
RM
180412010-11-30 Robert Millan <rmh@gnu.org>
18042
c5c9cd3e
RM
18043 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18044 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18045
49d3ab46
VS
180462010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 Avoid using tricks for initialising endian variables.
18049
18050 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18051 Make const.
18052 (GRUB_MOD_INIT): Don't byte-swap.
18053 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18054 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18055 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18056 (grub_swap_bytes32_compile_time): Likewise.
18057 (grub_cpu_to_le32_compile_time): Likewise.
18058 (grub_cpu_to_le16_compile_time): Likewise.
18059
f420a804
VS
180602010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * util/grub-setup.c (setup): Stop recommending --force. People who
18063 understand the dangers of blocklists are able to find this option
18064 anyway and the ones who don't shouldn't use it anyway.
18065
4e7db17b
RM
180662010-11-26 Robert Millan <rmh@gnu.org>
18067
18068 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18069 Update all users.
18070
9be57a0d
CW
180712010-11-26 Colin Watson <cjwatson@ubuntu.com>
18072
18073 Fix LVM-on-RAID probing.
18074
18075 * util/grub-probe.c (probe): Remember which disk was detected as
18076 RAID (perhaps an LVM physical volume). Use that disk's raidname
18077 rather than that of the top-level disk.
18078
2c7859b3 180792010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18080
d7647bb6
BC
18081 Fix cmdline argument quotes for setparams command of menuentry
18082 definitions.
7e623b0d
BC
18083
18084 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18085 quotes for arguments.
f866fe80 18086 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18087 grub_strchrsub function instead.
f866fe80 18088
7955bea0 18089 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18090
74f72a64
CW
180912010-11-24 Colin Watson <cjwatson@ubuntu.com>
18092
18093 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18094 effort by skipping "." and ".." entries up-front.
18095 Suggested by: Michael Lazarev.
18096
5a407278
CW
180972010-11-24 Colin Watson <cjwatson@ubuntu.com>
18098
18099 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18100 ldflags to ldadd, to fix link line ordering.
18101 (none_decompress): Likewise.
18102
3030d8ec
CW
181032010-11-24 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18106 platforms.
18107 (grub-emu-lite): Remove kern/emu/cache.S.
18108
b7fbac12
CW
181092010-11-23 Colin Watson <cjwatson@ubuntu.com>
18110
18111 * util/deviceiter.c (compare_devices): If the by-id link for a
18112 device couldn't be resolved, fall back to sorting by the by-id link
18113 rather than segfaulting.
18114 Reported and tested by: Daniel Mierswa.
18115
5225f328
CW
181162010-11-23 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18119 ldflags, to fix link line ordering.
18120
038b3ce8
CW
181212010-11-23 Colin Watson <cjwatson@ubuntu.com>
18122
18123 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18124 linkers are picky about this.
18125
bf16e98e
CW
181262010-11-23 Colin Watson <cjwatson@ubuntu.com>
18127
18128 * grub-core/Makefile.am (command.lst): Adjust sed expression
18129 ordering so that extended and priority commands aren't treated as
18130 ordinary commands.
18131
7242bab6
CW
181322010-11-23 Colin Watson <cjwatson@ubuntu.com>
18133
18134 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18135 Remove byte-swapping function calls, which are not valid in
18136 structure initialisers.
18137 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18138 non-const.
18139 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18140 grub_gpt_partition_type_bios_boot.
18141
14e8b279
CW
181422010-11-22 Colin Watson <cjwatson@ubuntu.com>
18143
18144 Fix test program build on GNU/kFreeBSD.
18145
18146 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18147 $(LIBNVPAIR)' library dependencies.
18148
e6f63338 181492010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18150
18151 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18152
cf8ffc38
CW
181532010-11-22 Colin Watson <cjwatson@ubuntu.com>
18154
18155 * util/grub-install.in: Remove excessive quoting that broke
18156 installations to RAID devices.
18157
7f8b0fd7
VS
181582010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18161 bootloader version instead of 0.
18162
dfd240b1
VS
181632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18166 warning.
18167
7b61e609
VS
181682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18171 retrieve the metadat sector if size isn't known.
18172 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18173
9dfe92d0
RM
181742010-11-18 Robert Millan <rmh@gnu.org>
18175
18176 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18177 with grub_memcmp().
18178
41cc919e
VS
181792010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18182 arrow.
18183 Reported by: Jordan Uggla.
18184
1afcc914
VS
181852010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 Make better UTF compliant.
18188
18189 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18190 sequences as incorrect.
18191 (grub_is_valid_utf8): Likewise.
18192 (grub_utf8_to_ucs4): Likewise.
18193 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18194 (grub_ucs4_to_utf8_alloc): Likewise.
18195 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18196
f1808884
VS
181972010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 Make legacy_source behave like source.
18200
18201 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18202 grub_show_menu.
18203 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18204
24ec575b
CW
182052010-11-16 Colin Watson <cjwatson@debian.org>
18206
18207 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18208 (-Wunused implies -Wunused-parameter, but not vice versa).
18209
72b7c7aa
CW
182102010-11-16 Colin Watson <cjwatson@ubuntu.com>
18211
18212 * configure.ac: Make error messages less confusing by testing for
18213 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18214 accepted, but produces a diagnostic if something else is wrong).
18215
e98937aa
VS
182162010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18219 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18220 (now unused).
18221 (grub_keyboard_controller_init)
18222 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18223 read the initial state since controller isn't inited yet.
18224
f6bbabc3
VS
182252010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18228 allocate_regbeg may need to create new chunk header.
18229
22e7dbb2
VS
182302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Fix quoting in legacy parser.
18233
18234 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18235 single quotes.
18236 (grub_legacy_parse): Likewise.
18237 Reported by: Jordan Uggla.
18238 Tested by: Jordan Uggla.
18239
03f80960
VS
182402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 Don't add -lgcc on i386 and x86_64.
18243
18244 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18245 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18246 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18247
779dc15b
VS
182482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * configure.ac: Add -Wno-trampolines when supported.
18251
d20a3b37
MV
182522010-11-14 Modestas Vainius <modax@debian.org>
18253
18254 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18255 fakeraid.
18256
e5360933
GC
182572010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18258
18259 Add generic logical block size support for UDF.
18260
18261 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18262 (GRUB_UDF_BLKSZ): Removed.
18263 (struct grub_udf_data): New field "lbshift" to hold the logical block
18264 size of the file system in log2 format. All users updated.
18265 (sblocklist): Change type to unsigned.
18266 (grub_udf_mount): Change type of "sblklist" to unsigned.
18267 Move AVDP search before VRS recognition, because the latter requires
18268 knowledge of the logical block size, which is detected during the
18269 former.
18270 Detect and validate logical block size during AVDP search, adding
18271 support for block sizes 512, 1024 and 4096.
18272 Make VRS recognition independent of block size.
18273
cb0229c5
GC
182742010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18275
18276 Properly handle deleted files on UDF.
18277
18278 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18279 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18280 set.
18281
406858a8
GC
182822010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18283
18284 Support reading files larger than 2 GiB.
18285
18286 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18287 "offset" to grub_off_t.
18288 (grub_udf_read_file): Likewise for parameter "pos".
18289
130da6a7
VS
182902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18293 unavailable.
18294 (Simple configuration): Refer to Changes from GRUB Legacy about
18295 save_env availability.
18296
65e93f6b
VS
182972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * util/grub-install.in: Ignore empty partition table detection
18300 instead of trying to include part_ module.
18301
1fd08bf1
VS
183022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18305 LVM on RAID support.
18306
de1a024f
VS
183072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18308
18309 Properly define WORDS_BIGENDIAN in wrapped environments.
18310
18311 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18312 definition.
18313 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18314
18315 Reported by: Manoel Rebelo Abranches.
18316 Tested by: Manoel Rebelo Abranches.
18317
bc5dd0b9
VS
183182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * util/grub-mkconfig.in: Fix quoting.
18321
58c184be
VS
183222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 Support big ext2 files.
18325
18326 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18327 (grub_ext2_read_block): Support triple indirect blocks.
18328 (grub_ext2_read_file): Use 64-bit types and read size_high.
18329 (grub_ext2_open): Read size_high.
18330 Reported by: Ximin Luo.
18331 Tested by: Manoel Rebelo Abranches.
18332
5f0c02b3
VS
183332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 * util/grub-install.in: Handle filenames containing spaces.
18336 Reported by: Jordan Uggla.
18337 Tested by: Jordan Uggla.
18338
4417aae6
VS
183392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * util/grub-mkconfig.in (grub_script_check): New variable.
18342 Use grub_script_check instead of grub-script-check.
18343 Reported by: Barry Jackson.
18344
7625a68e
VS
183452010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * docs/grub.texi (menu): Correct the order.
18348 Reported by: D. Hugh Redelmeier.
18349
10001ac5
VS
183502010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18353 jump.
18354
9c4cf53b
MRA
183552010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18356
10001ac5
VS
18357 * include/grub/elfload.h (grub_elf32_size): New parameter.
18358 All users updated.
9c4cf53b
MRA
18359 Return maximum segments alignment.
18360 (grub_elf64_size): Likewise.
18361 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18362 Return maximum segments alignment.
18363 (grub_elf64_size): Likewise.
18364 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18365 (grub_linux_claimmap_iterate): New function. Uses the
18366 "available" property in the "memory" node for memory allocation
18367 for kernel in the PowerPC loader.
9c4cf53b
MRA
18368 (grub_linux_load32): Correctly find linux entry point offset.
18369 (grub_linux_load64): Likewise.
18370
d2bf06bf
RM
183712010-11-07 Robert Millan <rmh@gnu.org>
18372
18373 On mips-yeeloong, build with -march=loongson2f when this flag is
18374 available (GCC >= 4.4).
18375 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18376 `-march=mips3'.
18377 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18378 or otherwise add -march=mips3.
18379
898c99a2
BC
183802010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18381
87220a68
BC
18382 Suppress shell expansion on echo '*' and echo "*" like cases.
18383 Reported by: Jordan Uggla.
898c99a2
BC
18384
18385 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18386 string arguments before shell expansion.
18387 * tests/grub_cmd_echo.in: New testcases.
18388
4f9b406a
RM
183892010-11-07 Robert Millan <rmh@gnu.org>
18390
18391 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18392 transition.
18393
80c6d25e
VS
183942010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * grub-core/kern/emu/hostdisk.c
18397 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18398
4a1a0153
VS
183992010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18402 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18403 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18404
34706ddc
VS
184052010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18408
6972dea9
VS
184092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * util/grub-install.in: Replace useless recomendation to pass
18412 --modules with a recomendation to report a bug.
18413
9c693bd6
VS
184142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18415
18416 Properly register serial terminfo.
18417 Reported by: Jordan Uggla
18418
18419 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18420 const.
18421 (grub_serial_terminfo_output_template): Likewise.
18422 (grub_cmd_serial): Register "serial" with terminfo.
18423 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18424 grub_serial_terminfo_output.
18425
6c9e4c0c
RM
184262010-11-05 Robert Millan <rmh@gnu.org>
18427
18428 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18429 needed).
18430
b9b3839f
RM
184312010-11-05 Robert Millan <rmh@gnu.org>
18432
18433 On Yeeloong, pass machine type information to Linux.
18434
18435 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18436 (LOONGSON_MACHTYPE): New macro, set to
18437 "machtype=lemote-yeeloong-2f-8.9inches".
18438 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18439 additional argument to Linux.
18440
1a3aaff4
RM
184412010-11-04 Robert Millan <rmh@gnu.org>
18442
18443 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18444 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18445 (its SATA disks are detected as slaveless IDE master drives on
18446 kFreeBSD).
18447 Reported by Carsten Aulbert.
18448
a75f4f62
CW
184492010-11-02 Colin Watson <cjwatson@ubuntu.com>
18450
18451 * util/bin2h.c (main): Fix spelling error in generated output.
18452
33b4b0c6
GS
184532010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18454
18455 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18456
2b36fbf4
VS
184572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18460 vga= option is supplied.
18461
74aaf558
VS
184622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18465 * util/grub.d/10_kfreebsd.in: Likewise.
18466 * util/grub.d/10_linux.in: Likewise.
18467 * util/grub.d/20_linux_xen.in: Likewise.
18468
6428dec3
VS
184692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18470
18471 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18472 argument as an argument to no-argument option.
18473
f8729d98
VS
184742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * util/grub.d/10_linux.in: Add missing load_video with explicit
18477 GRUB_GFXPAYLOAD_LINUX.
18478
89d68fa6
VS
184792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18482
3a1197cd
VS
184832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18486 elements with invlid index.
18487 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18488 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18489 members.
18490 * include/grub/raid.h (grub_raid_member): New struct.
18491 (grub_raid_array): Transform devices and start_sector into usage of
18492 grub_raid_member. All users updated
18493 (allocated_devs): New member.
18494
71574288
VS
184952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18498 is modified
18499
8d40ec65
BC
185002010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18501
18502 NetBSD build fix for getline function conflict from gnulib.
18503
18504 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18505 components that depend on gnulib headers.
18506 (libgrubmods.a): Renamed from earlier libgrub.a.
18507 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18508
95b9257e
VS
185092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18512 install rather than creating a broken install.
18513
26c53dc6
VS
185142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * util/grub-setup.c (argp): Remove misleading example of installing to
18517 a partition.
18518
4171b3c5
VS
185192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * util/grub-setup.c (setup): Clarify the error message.
18522
18568d18
VS
185232010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18526
4f6a2e21
VS
185272010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * grub-core/kern/emu/misc.c
18530 (grub_make_system_path_relative_to_its_root)
18531 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18532
185332010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18534
18535 * grub-core/kern/emu/misc.c
18536 (grub_make_system_path_relative_to_its_root): Revert r2882.
18537
e138c458
VS
185382010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18541 useless field head. All users updated.
18542 (free_subchunk): Correct handling of IN_REGION subchunk.
18543
0cbcdf0e
CW
185442010-10-22 Colin Watson <cjwatson@ubuntu.com>
18545
18546 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18547 (Supported kernels): Likewise.
18548
b65ea155
GS
185492010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18550
18551 Make mktemp invocations portable.
18552
18553 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18554 exit if mktemp fails.
18555 * tests/grub_script_blockarg.in: Likewise.
18556 * tests/partmap_test.in: Likewise.
18557 * tests/util/grub-shell-tester.in: Likewise.
18558 * tests/util/grub-shell.in: Likewise.
18559 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18560 * Makefile.am: Likewise, and chain shell commands with `&&'
18561 instead of ';'.
18562 * util/grub-mkrescue.in: Use the same explicit template as above, and
18563 exit if mktemp fails.
18564
05f43cdd
BC
185652010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18566
18567 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18568 Linux kernel, reported by Dennis Schridde.
18569
800e6a9b
SJ
185702010-10-17 Szymon Janc <szymon@janc.net.pl>
18571
18572 * grub-core/normal/auth.c (grub_auth_check_authentication):
18573 Set-but-not-used variable removed.
18574
d82df574
VS
185752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18578 32-bit linux protocol.
18579
7bced458
VS
185802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18583 cursor shape for sanity.
18584
5b027690
VS
185852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * docs/grub.texi (Installation): Document buggy BIOS install.
18588
ba5f65cf
VS
185892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * docs/grub.texi (Installation): Indent.
18592
fdf2ec9c
VS
185932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 * util/grub-setup.c (setup): New parameter allow_floppy.
18596 (arguments): New member allow_floppy.
18597 (argp_parser): Handle --allow-floppy.
18598 (main): Pass allow_floppy.
18599 * util/grub-install.in: New option --allow-floppy passed though to
18600 grub-setup.
18601
861dfd4c
VS
186022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * util/grub-install.in: Handle partitionless disks.
18605
f77a8c24
VS
186062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * util/grub-setup.c (setup): Don't clean blocklists before readability
18609 verfification.
18610
27d9ee32
VS
186112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * docs/grub.texi (Installation): Document embedding zone. Remove
18614 obsolete grub-install example.
18615
6bdda8f8
SJ
186162010-10-16 Szymon Janc <szymon@janc.net.pl>
18617
18618 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18619 Set-but-not-used variable ifdef'ed.
18620 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18621 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18622 variable removed.
18623 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18624 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18625 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18626 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18627 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18628 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18629 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18630 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18631 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18632 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18633 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18634 Likewise.
18635
e19b016b
VS
186362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18639 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18640 enum value.
18641
6c8d3002
VS
186422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18645 synonym to _S5_. Needed for some DSDTs.
18646
c32b51c9
VS
186472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 Userspace ACPI parser debugging.
18650
18651 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18652 headers and add relevant defines. Don't include standard headers.
18653 (main) [GRUB_DSDT_TEST]: New function.
18654 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18655 Don't declare functions.
18656
fbfbeb39
VS
186572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 Remove dead grub_efi_mm_fini.
18660
18661 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18662 (ALLOCATED_PAGES_SIZE): Likewise.
18663 (MAX_ALLOCATED_PAGES): Likewise.
18664 (allocated_pages): Likewise.
18665 (grub_efi_allocate_pages): Don't record allocated pages.
18666 (grub_efi_free_pages): Likewise.
18667 (grub_efi_mm_init): Likewise.
18668 (grub_efi_mm_fini): Removed.
18669
65f7ed7c
VS
186702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18673 (grub_efi_mm_init): Take into account the memory map size increase.
18674
24977b44
VS
186752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18676
18677 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18678 (serial_hw_put): Wait based on real time rather than port reads. Don't
18679 roken ports.
18680 * include/grub/serial.h (grub_serial_port): New field broken.
18681
1eb01cd2
RM
186822010-10-16 Robert Millan <rmh@gnu.org>
18683
18684 * grub-core/kern/emu/misc.c
18685 (grub_make_system_path_relative_to_its_root): Fix premature return
18686 when processing non-root ZFS filesystems.
5f8b440b 18687 Reported by Sergio Talens-Oliag.
1eb01cd2 18688
2d5fed60
RM
186892010-10-15 Robert Millan <rmh@gnu.org>
18690
18691 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18692 guarantee compressed ones are processed first.
18693
d0f4c1ea
VS
186942010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18697 grub_efiemu_autocore.
18698
d87c681f
VS
186992010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18702 rather than 0x1b.
18703 (grub_console_getkey): Use correct jae opcode rather than ja.
18704
219b3564
RM
187052010-10-12 Robert Millan <rmh@gnu.org>
18706
18707 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18708 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18709 variable. All references updated.
18710
18711 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18712
20c6bb7e
VS
187132010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 Correctly distinguish mdraid flavours.
18716
18717 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18718 (insert_array): New argument raid.
18719 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18720 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18721 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18722
74baff84
VS
187232010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18726 handling of special keys.
18727
3ef068df 187282010-10-02 Aleš Nesrsta <starous@volny.cz>
18729
c7980ad9
VS
18730 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18731 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18732
a9455194 187332010-10-02 Aleš Nesrsta <starous@volny.cz>
18734
c7980ad9
VS
18735 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18736 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18737 users updated.
a9455194 18738 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18739 Use right endpoint when querying descriptor.
a9455194 18740
441cfe65
VS
187412010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 Clear out 0x80 color bit on EFI.
18744 Tested by: decoder
18745 Reported by: decoder and meta tech.
18746
18747 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18748 (grub_console_setcolorstate): Clear out 0x80 bit.
18749 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18750 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18751 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18752
bf26bcc4
VS
187532010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18756 Set to "auto".
18757
6e3c515d
VS
187582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18761 mo_file after freeing.
18762
e6d983ba
VS
187632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18766
74ccb5b5
VS
187672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18770 flags.
18771
17821956
VS
187722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18775 usage.
18776
ee74fa48
VS
187772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18780
18781 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18782 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18783 and terminfo.h when needed.
18784 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18785 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18786 (terminfo): Enable only on terminfokernel.
18787 (extcmd): Likewise.
18788 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18789 * include/grub/lib/arg.h: Likewise.
18790 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18791 incorrect usage of ->.
18792
aa438e68
VS
187932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18796 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18797
57994012
VS
187982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Fix coreboot compilation.
18801
18802 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18803 Take VBE info into account even if only text is supported.
18804 (fill_vbe_info): Take into account the case when only VGA text
18805 is supported.
18806 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18807 on coreboot, multiboot and qemu.
18808
2a406611
VS
188092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18812 debug messages.
18813 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18814
d33613fc
VS
188152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18818 parameters.
18819
44a1b432
VS
188202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18823 if they were BSD-style.
18824
edde54e6
VS
188252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * grub-core/boot/i386/pc/lnxboot.S: Replace
18828 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18829 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18830
b65830fa
VS
188312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 Write embedding zone using Reed-Solomon.
18834
18835 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18836 * grub-core/Makefile.am (rs_decoder.S): New target.
18837 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18838 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18839 (multiboot): Move to RS part.
18840 (post_reed_solomon): New label.
18841 (grub_boot_drive): Move to non-RS part since it's modified in memory
18842 on boot.
18843 Include rs_decoder.S.
18844 * grub-core/lib/reed_solomon.c: New file.
18845 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18846 New definition.
18847 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18848 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18849 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18850 * include/grub/partition.h (grub_partition_map): Change prototype of
18851 embed to allow returning additional sectors.
18852 * include/grub/reed_solomon.h: New file.
18853 * util/grub-setup.c (setup): Handle Reed-Solomon.
18854
0b4b227f
CW
188552010-09-28 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18858 i386 and x86-64 definedness tests.
18859
f772623b
YB
188602010-09-27 Yves Blusseau <blusseau@zetam.org>
18861
18862 Fix generation of kernel_syms.lst
18863
18864 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18865 ASM_PREFIX
18866
8e57a6ca
RM
188672010-09-26 Robert Millan <rmh@gnu.org>
18868
18869 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18870
18871 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18872 the pool is an array of devices, iterate through it and return the
18873 first device that passes a stat() test (instead of blindly returning
18874 the first one).
18875
f9130836
RM
188762010-09-26 Robert Millan <rmh@gnu.org>
18877
18878 Build fixes for GNU/kFreeBSD.
18879
18880 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18881 to programs that require ZFS conversion.
18882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18883 kernels that don't have FLOPPY_MAJOR.
18884
96510faf
BC
188852010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18886
18887 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18888
449333eb
BC
188892010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18890
18891 Fix grub-emu build.
18892
18893 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18894 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18895 mdraid09 and mdraid1x.
18896
e1fd1939
CW
188972010-09-24 Colin Watson <cjwatson@ubuntu.com>
18898
18899 Re-enable grub-extras.
18900
18901 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18902 avoid confusing Automake. Run autogen only twice, once for the top
18903 level and once for grub-core. Add Makefile.util.def and
18904 Makefile.core.def from extra modules to the appropriate autogen
18905 invocations. If Makefile.common exists in an extra module, include
18906 it in both Makefile.util.am and grub-core/Makefile.core.am;
18907 similarly, include any Makefile.util.common file in Makefile.util.am
18908 and any Makefile.core.common file in grub-core/Makefile.core.am.
18909 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18910 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18911 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18912 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18913
18914 * gentpl.py (gvar_add): Turn GVARS into a set.
18915 (global_variable_initializers): Sort global variables on output.
18916 (vars_init): New function.
18917 (first_time): Likewise.
18918 (library): Ensure that non-global variable initialisations are
18919 emitted before the first time we emit code for a library block.
18920 Append to variables rather than setting them. Only emit
18921 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18922 each conditional path.
18923 (program): installdir() emits an Autogen macro, so must be passed to
18924 var_add rather than gvar_add.
18925 (data): Likewise.
18926 (script): Likewise.
18927 (rules): New function, centralising handling for different target
18928 types. Set up Guile association lists for first_time and vars_init,
18929 and send most output to a diversion so that variable initialisations
18930 can be emitted first.
18931 (module_rules): Use new rules function.
18932 (kernel_rules): Likewise.
18933 (image_rules): Likewise.
18934 (library_rules): Likewise.
18935 (program_rules): Likewise.
18936 (script_rules): Likewise.
18937 (data_rules): Likewise.
18938
18939 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18940
18941 * .bzrignore: Add contrib and grub-core/contrib. Remove
18942 grub-core/Makefile.gcry.am.
18943
1d12cf29
YB
189442010-09-24 Yves Blusseau <blusseau@zetam.org>
18945
18946 * grub-core/lib/LzFind.c: Add missing include.
18947 * grub-core/lib/LzmaEnc.c: Likewise.
18948 * grub-core/script/lexer.c: Likewise.
18949 * grub-core/script/yylex.l: Likewise.
18950 * util/grub-macho2img.c: Likewise.
18951 * util/grub-menulst2cfg.c: Likewise.
18952 * util/grub-mklayout.c: Likewise.
18953 * util/grub-mkpasswd-pbkdf2.c
18954 * util/grub-mkrelpath.c: Likewise.
18955 * util/resolve.c: Likewise.
18956
dd363028
BC
189572010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18958
18959 * Makefile.util.def (example_unit_test): Add
18960 grub-core/gnulib/libgnu.a.
18961
f5a109e2
GS
189622010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18963
18964 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18965
6d0fa83c
VS
189662010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Support xz compression on yeeloong.
18969
18970 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18971 * configure.ac: Check for LZMA.
18972 * grub-core/Makefile.core.def (xz_decompress): New target.
18973 (none_decompress): Likewise.
18974 * grub-core/boot/decompressor/minilib.c: New file.
18975 * grub-core/boot/decompressor/none.c: Likewise.
18976 * grub-core/boot/decompressor/xz.c: Likewise.
18977 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18978 * grub-core/kern/mips/cache_flush.S: Likewise.
18979 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18980 * grub-core/kern/mips/startup.S: Move first stage to ...
18981 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18982 nomacro.
18983 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18984 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18985 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18986 Allocate statically.
18987 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18988 Allocate statically or use scratch. Don't check CRC32.
18989 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18990 Allocate statically. Don't check CRC32.
18991 * include/grub/decompressor.h: New file.
18992 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18993 Removed.
18994 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18995 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18996 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18997 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18998 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18999 * util/grub-mkimage.c (grub_compression_t): New type.
19000 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19001 (image_target_desc): New field default_compression.
19002 (image_targets): Adjust yeeloong targets.
19003 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19004 (compress_kernel): New parameter comp.
19005 (generate_image): Likewise. Handle new compression case.
19006 (options): New option --compression
19007 (help): Likewise.
19008 (main): Handle new option.
19009
1b655af6
GS
190102010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19011
19012 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19013
8f03f0b5
CW
190142010-09-22 Colin Watson <cjwatson@ubuntu.com>
19015
19016 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19017 typo in __i386__ conditional.
19018
7835dfd3
VS
190192010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19022 include.
19023
e255597e
VS
190242010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19025
6d0fa83c 19026 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19027
19028 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19029 new tags as supported.
19030 (acpiv2_size): New function.
19031 (grub_multiboot_get_mbi_size): Take new tags into account.
19032 (grub_multiboot_make_mbi): Add new tags.
19033 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19034
6cc14051 190352010-09-21 Aleš Nesrsta <starous@volny.cz>
19036
19037 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19038 Added missing configuration of USB device.
19039
df7769d8
CW
190402010-09-21 Colin Watson <cjwatson@ubuntu.com>
19041
19042 * grub-core/normal/menu_entry.c (run): Make sure we always return
19043 a value.
19044
b031012d
CW
190452010-09-21 Colin Watson <cjwatson@ubuntu.com>
19046
19047 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19048 NumberOfPages is UINT64 according to the UEFI specification, not
19049 UINTN. Fix printf format.
19050
174de8f3
CW
190512010-09-21 Colin Watson <cjwatson@ubuntu.com>
19052
19053 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19054 `err' to grub_usb_err_t.
19055 Reported and tested by: KESHAV P.R.
19056
d7dbe923
CW
190572010-09-21 Colin Watson <cjwatson@ubuntu.com>
19058
19059 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19060 tpart non-const, so that we can assign to it. (Since this is a
19061 typedef, the constness refers to the pointer rather than what it
19062 points to.)
19063
8d5e2af3
CW
190642010-09-21 Colin Watson <cjwatson@ubuntu.com>
19065
19066 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19067 $(top_srcdir)/grub-core/gnulib as well as
19068 $(top_builddir)/grub-core/gnulib.
19069 Reported by: KESHAV P.R.
19070
5c527783
CW
190712010-09-21 Colin Watson <cjwatson@ubuntu.com>
19072
19073 * util/grub-install.in: Fix the bootloader ID option to be
19074 consistently --bootloader-id, not --bootloader_id.
19075 Reported by: KESHAV P.R.
19076
d309a16e
CW
190772010-09-21 Colin Watson <cjwatson@ubuntu.com>
19078
19079 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19080 check hash checksum." consistently translatable.
19081
b830cd16
YB
190822010-09-21 Yves Blusseau <blusseau@zetam.org>
19083
19084 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19085 $(top_builddir).
19086
c4fe27a8
CW
190872010-09-21 Colin Watson <cjwatson@ubuntu.com>
19088
19089 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19090 (GRUB_MOD_INIT): Register sha1sum command.
19091 (GRUB_MOD_FINI): Unregister sha1sum command.
19092
a4c1d277
YB
190932010-09-21 Yves Blusseau <blusseau@zetam.org>
19094
19095 Keep boot and grub directory names in sync with utils scripts
19096
19097 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19098 * config.h.in: Add previous macros.
19099 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19100 * util/grub-install.in: Use $bootdir and $grubdir variables.
19101
4eff79d2
CW
191022010-09-21 Colin Watson <cjwatson@ubuntu.com>
19103
19104 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19105 convert partition names to disk names if the new `convert' parameter
19106 is set.
19107 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19108 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19109 disk in its own right. This can happen with Xen disk images.
19110
934d7e44
YB
191112010-09-21 Yves Blusseau <blusseau@zetam.org>
19112
19113 * util/grub-editenv.c: Update strings to avoid warnings when generating
19114 grub.pot file.
19115 * util/grub-setup.c: Likewise.
934d7e44 19116
df3367cc
VS
191172010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * configure.ac: Change version to 1.99~beta0.
19120
77a94e98
VS
191212010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19124 Add BADRAM.
19125 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19126 Likewise.
19127 * include/multiboot.h: Resynced with specification.
19128 * include/multiboot2.h: Likewise.
19129
269004c1
CW
191302010-09-21 Colin Watson <cjwatson@ubuntu.com>
19131
19132 Fix po directory handling.
19133
19134 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19135 * grub-core/gnulib/Makefile.am: Import gettext module.
19136 * m4/gnulib-cache.m4: Likewise.
19137 * m4/gnulib-comp.m4: Likewise.
19138 * m4/gettext.m4: New file, from gnulib.
19139 * m4/glibc2.m4: Likewise.
19140 * m4/iconv.m4: Likewise.
19141 * m4/intdiv0.m4: Likewise.
19142 * m4/intl.m4: Likewise.
19143 * m4/intldir.m4: Likewise.
19144 * m4/intlmacosx.m4: Likewise.
19145 * m4/intmax.m4: Likewise.
19146 * m4/inttypes-pri.m4: Likewise.
19147 * m4/lcmessage.m4: Likewise.
19148 * m4/lib-ld.m4: Likewise.
19149 * m4/lib-link.m4: Likewise.
19150 * m4/lib-prefix.m4: Likewise.
19151 * m4/lock.m4: Likewise.
19152 * m4/nls.m4: Likewise.
19153 * m4/po.m4: Likewise.
19154 * m4/printf-posix.m4: Likewise.
19155 * m4/progtest.m4: Likewise.
19156 * m4/threadlib.m4: Likewise.
19157 * m4/uintmax_t.m4: Likewise.
19158 * m4/visibility.m4: Likewise.
19159 * po/Makefile.am: Remove.
19160 * po/Makefile.in.in: New file, from gettext.
19161 ($(DOMAIN).pot-update): Support POTFILES-shell.
19162 * po/Makevars: New file.
19163 * po/POTFILES-shell: Rename to ...
19164 * po/POTFILES-shell.in: ... this. Update.
19165 * po/POTFILES: Rename to ...
19166 * po/POTFILES.in: ... this. Update.
19167 * po/Rules-quot: New file, from gettext.
19168 * po/boldquot.sed: Likewise.
19169 * po/en@boldquot.header: Likewise.
19170 * po/en@quot.header: Likewise.
19171 * po/insert-header.sin: Likewise.
19172 * po/quot.sed: Likewise.
19173 * po/remove-potcdate.sin: Likewise.
19174
3e0fa5d0
VS
191752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19178
ade9bd66
VS
191792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 * util/grub.d/20_linux_xen.in: Use submenus.
19182
fc55cc4c
VS
191832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 Support submenus.
19186
19187 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19188 parameter submenu. All users updated.
19189 * grub-core/normal/main.c (free_menu): Rename to ...
19190 (grub_normal_free_menu): ... this. Made global.
19191 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19192 if requested.
19193 * grub-core/normal/menu_entry.c (screen): New field submenu.
19194 (make_screen): Set submenu.
19195 (run): Open new context if requested.
19196 * include/grub/menu.h (grub_menu_entry): New field submenu.
19197 * include/grub/normal.h (grub_normal_free_menu): New proto.
19198
600cedf7
VS
191992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 Menu entries extractor.
19202
19203 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19204 variants.
19205 (GRUB_MOD_INIT): Register new variants.
19206 (GRUB_MOD_FINI): Unregister new variants.
19207 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19208 into grub_cmd_legacy_source.
19209 (grub_cmd_legacy_source): Implement extractor variants.
19210 (GRUB_MOD_INIT): Register new variants.
19211 (GRUB_MOD_FINI): Unregister new variants.
19212 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19213 as an extractor.
19214 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19215 search as an extractor.
19216 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19217 test as an extractor.
19218 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19219 as an extractor.
19220 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19221 (grub_env_new_context): New function.
19222 (grub_env_context_open): Likewise.
19223 (grub_env_extractor_open): Likewise.
19224 (grub_env_extractor_close): Likewise.
19225 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19226 grub_extractor_level.
19227 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19228 * include/grub/env.h (grub_env_extractor_open): New proto.
19229 (grub_env_extractor_close): Likewise.
19230 * include/grub/normal.h (grub_extractor_level): New external variable.
19231
7bda3a87
VS
192322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 Make cutmem accept a region specification.
19235 Suggested by: Samuel Thibault
19236
19237 * grub-core/mmap/mmap.c (parsemem): New function.
19238 (grub_cmd_cutmem): Handle new arguments.
19239
2ea57f88
VS
192402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 New command cutmem.
19243
19244 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19245 (GRUB_MOD_INIT): Register new command.
19246 (GRUB_MOD_FINI): Unregister new command.
19247
74342e31
VS
192482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 Support some annoying BSD and Minix subpartitions.
19251
19252 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19253 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19254 Properly handle concatenation.
19255 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19256 * grub-core/normal/completion.c (iterate_partition): Likewise.
19257 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19258 contain partition. All users updated.
19259 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19260 struct.
19261 (grub_openbsdlabel_partition_map): Likewise.
19262 (bsdlabel_partition_map_iterate): Rename to ..
19263 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19264 (bsdlabel_partition_map_iterate): New function.
19265 (netopenbsdlabel_partition_map_iterate): Likewise.
19266 (netbsdlabel_partition_map_iterate): Likewise.
19267 (openbsdlabel_partition_map_iterate): Likewise.
19268 (GRUB_MOD_INIT): Register new partmaps.
19269 (GRUB_MOD_FINI): Unregister new partmaps.
19270 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19271 (grub_partition_msdos_iterate): ... this. All users updated.
19272 Don't support embedding other than in a minix partition.
19273 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19274 proto.
19275 * include/grub/partition.h (grub_partition): New field msdostype.
19276 * util/grub-install.in: Handle openbsd and netbsd types being in
19277 part_bsd module.
19278
1e8d555b
VS
192792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19282
19283 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19284 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19285 (mdraid09): ... this.
19286 (mdraid1x): New module.
19287 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19288 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19289
899d8af4
VS
192902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19293 vsprintf.
19294
40901acd
CW
192952010-09-20 Colin Watson <cjwatson@ubuntu.com>
19296
19297 * grub-core/commands/efi/lsefimmap.c: Correct header.
19298 * NEWS: Update.
19299
dfe3b247
CW
193002010-09-20 Colin Watson <cjwatson@ubuntu.com>
19301
19302 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19303 as printf format strings; the translations might contain '%' which
19304 could cause a crash.
19305 (main): Likewise.
19306 * util/grub-fstest.c (argp_parser): Likewise.
19307 * util/grub-setup.c (argp_parser): Likewise.
19308 (main): Likewise.
19309
3286a4b4
VS
193102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 Use argp in grub-fstest.
19313
19314 * util/grub-fstest.c: Don't include getopt.h.
19315 Include argp.h.
19316 (root): New variable.
19317 (args_count): Likewise.
19318 (nparm): Likewise.
19319 (num_disks): Likewise.
19320 (images): Likewise.
19321 (cmd): Likewise.
19322 (debug_str): Likewise.
19323 (args): Likewise.
19324 (options): Transformed to argp.
19325 (usage): Removed.
19326 (main): Split argument parsing into ...
19327 (argp_parser): ... this. Changed to argp format.
19328 (argp): New variable.
19329 (main): Use argp_parse.
19330
3dccbe4b
TG
193312010-09-20 Tristan Gingold <gingold@free.fr>
193322010-09-20 Robert Millan <rmh.grub@aybabtu.com>
193332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/commands/efi/lsefimmap.c: New file.
19336 * grub-core/Makefile.core.def (lsefimmap): New module.
19337 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19338
38c259a7
VS
193392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 Pause the execution (10s max) if any errors are displayed so the user
19342 has a chance to see them.
19343
19344 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19345 (grub_print_error): Increment grub_err_printed_errors.
19346 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19347 execution if any errors were displayed.
19348 (show_menu): Remove old code for pause.
19349 * grub-core/normal/menu_entry.c (run): Likewise.
19350 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19351 users updated.
19352 (grub_normal_get_char_counter): Likewise.
19353 * include/grub/err.h (grub_err_printed_errors): New external variable.
19354 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19355
f218b09c
VS
193562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 Support multiboot VBE info.
19359
19360 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19361 Take VBE info into account.
19362 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19363 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19364 Call fill_vbe_info when appropriate.
19365 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19366 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19367 as supported.
19368 (grub_multiboot_get_mbi_size): Take new tags into account.
19369 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19370 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19371 Call fill_vbe_tag when appropriate.
19372 (grub_multiboot_make_mbi): Properly align tags.
19373 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19374 function.
19375 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19376 proto.
19377 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19378
a9cc5438
VS
193792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19380
19381 Suport manual terminal geometry specification.
19382
19383 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19384 Save state in grub_ofconsole_terminfo_output.
19385 (grub_ofconsole_term): Use grub_terminfo_getwh.
19386 (grub_ofconsole_getwh): Removed.
19387 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19388 (grub_serial_term): Use grub_terminfo_getwh.
19389 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19390 (options): New struct.
19391 (OPTION_*): New enum.
19392 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19393 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19394 width and height.
19395 (grub_terminfo_getwh): New proto.
19396 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19397
1a8fed20
VS
193982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 Handle legacy "terminal" command.
19401
19402 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19403 and FLAG_TERMINAL.
19404 (legacy_commands): Add terminal and title.
19405 (grub_legacy_parse): Handle terminal. Simplify title handling.
19406
41e9c57d
VS
194072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19410 parameters overflow.
19411
61c874c5
CW
194122010-09-20 Colin Watson <cjwatson@ubuntu.com>
19413
19414 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19415 widthspec.h.
19416
19417 * docs/grub.texi (Shell-like scripting): Document `!'.
19418 (Network): Simplify using new i386-pc-pxe format. Mention
19419 grub-mknetdir.
19420
19421 * NEWS: Update.
19422
943682b4
CW
194232010-09-20 Colin Watson <cjwatson@ubuntu.com>
19424
19425 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19426 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19427 when needed.
19428
6d3d698d
CW
194292010-09-20 Colin Watson <cjwatson@ubuntu.com>
19430
19431 * grub-core/commands/efi/lsefisystab.c: Correct header.
19432 * grub-core/commands/efi/lssal.c: Likewise.
19433 * grub-core/commands/testload.c: Likewise.
19434
c982589f
CW
194352010-09-20 Colin Watson <cjwatson@ubuntu.com>
19436
19437 * util/grub-mkrescue.in: Add explicit root argument to --set to
19438 prevent the UUID being interpreted as an argument to --set (matches
19439 previous change to prepare_grub_to_access_device).
19440
a63c31b6
CW
194412010-09-20 Colin Watson <cjwatson@ubuntu.com>
19442
19443 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19444 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19445 the verbosity of later #ifs.
19446 (find_partition_start): Define this function on FreeBSD too.
19447 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19448 function.
19449 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19450 on FreeBSD.
19451
6439b8ee
YB
194522010-09-20 Yves Blusseau <blusseau@zetam.org>
19453
19454 * util/grub-editenv.c: Use argp instead of getopt.
19455
c5930ec8
YB
194562010-09-20 Yves Blusseau <blusseau@zetam.org>
19457
19458 * util/grub-setup.c: Use argp instead of getopt.
19459
15c69261
YB
194602010-09-20 Yves Blusseau <blusseau@zetam.org>
19461
19462 Use gnulib-tool to create gnulib source files.
19463
19464 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19465 grub-core/gnulib directories
19466 * .bzignore: Add **/.deps and autogenerated gnulib files
19467 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19468 of gnulib macros, add grub-core/gnulib/Makefile
19469 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19470 include m4 directory to aclocal.
19471 * Makefile.util.def: Remove direct compilation of gnulib source files
19472 and use the new grub-core/gnulib/libgnu.a.
19473 * build-aux/config.rpath: move config.rpath from top directory to
19474 build-aux
19475 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19476 in gnulib headers
19477 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19478 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19479 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19480 header.
19481 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19482 string.
19483
e511c9f5
YB
194842010-09-20 Yves Blusseau <blusseau@zetam.org>
19485
19486 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19487 grub-core/genmod.sh and grub-core/gensyminfo.sh
19488
c2dede05
BC
194892010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19490
19491 Add a test for echo command options.
19492
19493 * tests/grub_cmd_echo.in: New test.
19494 * Makefile.util.def: Rules for new test.
19495
c55f5018
SJ
194962010-09-20 Szymon Janc <szymon@janc.net.pl>
19497
19498 Remove crc.mod and move crc command to hashsum.mod.
19499 Remove lib/crc.c - users updated to use gcrypt implementation.
19500
19501 * grub-core/commands/crc.c: Removed.
19502 * grub-core/Makefile.core.def (crc): Module removed.
19503 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19504 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19505 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19506 * grub-core/lib/crc.c: Removed.
19507 * include/grub/lib/crc.h: Removed.
19508 * Makefile.util.def (crc): Remove lib/crc.c
19509 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19510 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19511 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19512 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19513 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19514 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19515
e0337366
VS
195162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19519
742f9232
VS
195202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 Split config.h for util and core.
19523
19524 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19525 (ADDR32): Likewise.
19526 (DATA32): Likewise.
19527 (BSS_START_SYMBOL): Likewise.
19528 (END_SYMBOL): Likewise.
19529 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19530 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19531 * config.h.in: New file.
19532 * configure.ac: Use config-util.h as config define file.
19533 Rename MACHINE into GRUB_MACHINE. All users updated.
19534 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19535 updated.
19536 (NESTED_FUNC_ATTR): Likewise.
19537 Substitue new variables.
19538 (COND_HAVE_ASM_USCORE): New conditional.
19539 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19540 (kernel_syms.lst): Use ASM_PREFIX.
19541 * grub-core/kern/emu/console.c: Include config-util.h.
19542 * grub-core/kern/emu/misc.c: Likewise.
19543 * grub-core/kern/emu/mm.c: Likewise.
19544 * include/grub/emu/misc.h: Likewise.
19545 * include/grub/libgcc.h: Likewise.
19546
39feb0e8
VS
195472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19550 constants usage.
19551 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19552 Fix GRUB_TERM_KEY_* constants usage.
19553 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19554
9af6dac3
VS
195552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19558 print pointer.
19559 * grub-core/bus/usb/uhci.c: Remove empty define.
19560 (grub_uhci_check_transfer): Add missing cast.
19561 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19562 print pointer.
19563 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19564 PRIuGRUB_SIZE.
19565 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19566
d6d94820
VS
195672010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/Makefile.core.def (legacycfg): Add
19570 lib/i386/pc/vesa_modes_table.c on emu.
19571
3572f2b6
BC
195722010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19573
19574 Reduce number of temporary files generated by build system.
19575
19576 * grub-core/gencmdlist.sh: Removed.
19577 * grub-core/genfslist.sh: Removed.
19578 * grub-core/genhandlerlist.sh: Removed.
19579 * grub-core/genmodsrc.sh: Removed.
19580 * grub-core/genpartmaplist.sh: Removed.
19581 * grub-core/genparttoollist.sh: Removed.
19582 * grub-core/gentermiinallist.sh: Removed.
19583 * grub-core/genvideolist.sh: Removed.
19584
19585 * grub-core/genmod.sh.in: New file.
19586 * grub-core/gensyminfo.sh.in: New file.
19587
19588 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19589 * conf/Makefile.extra-dist: Update with new files.
19590 * gentpl.py: Remove rules related to unnecessary temporary files.
19591 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19592 and und-* files.
19593 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19594 genmod.sh scripts.
19595 * grub-core/bus/usb/uhci.c: Remove empty #define.
19596 * grub-core/genmoddep.awk: Updated with new syminfo format.
19597 * util/bash-completion.d/Makefile.am: Add config.log to
19598 CLEANFILES.
19599
c836b030
YB
196002010-09-19 Yves Blusseau <blusseau@zetam.org>
19601
19602 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19603
2f4e8053
BC
196042010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19605
19606 * util/grub-mkconfig.in: Check the config script for syntax errors
19607 before saving.
19608
75831c34
CW
196092010-09-19 Colin Watson <cjwatson@ubuntu.com>
196102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19613 platforms.
19614 * util/grub-install.in: Add EFI and IEEE1275 support.
19615 * util/i386/efi/grub-install.in: Removed.
19616 * util/ieee1275/grub-install.in: Likewise.
19617
eaf41b25
VS
196182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19621 (grub_cmd_cmosclean): Likewise.
19622 (GRUB_MOD_INIT): Register command cmosclean.
19623 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19624 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19625
1a9130dd
CPE
196262010-09-18 Carles Pina i Estany <carles@pina.cat>
196272010-09-18 Aleš Nesrsta <starous@volny.cz>
196282010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 Add keyboard layouts support.
19631
19632 * Makefile.util.def (grub-mklayout): New file.
19633 (grub-kbdcomp): New script.
19634 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19635 Add keyboard_layouts.h.
19636 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19637 commands/boot.c on yeeloong.
19638 (keylayouts): New module.
19639 * grub-core/bus/usb/ohci.c
19640 * grub-core/bus/usb/uhci.c
19641 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19642 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19643 (attach_root_port): Likewise.
19644 (poll_nonroot_hub): Likewise.
19645 (grub_usb_poll_devices): Likewise.
19646 (detach_device): Close transfer.
19647 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19648 function.
19649 (grub_usb_bulk_setup_readwrite): Likewise.
19650 (grub_usb_bulk_finish_readwrite): Likewise.
19651 * grub-core/commands/keylayouts.c: New file.
19652 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19653 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19654 aliases.
19655 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19656 support scancode 2.
19657 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19658 * include/grub/keyboard_layouts.h: New file.
19659 * util/grub-mklayout.c: New file.
19660 * util/grub-kbdcomp.in: Likewise.
19661
a1d84a5e
VS
196622010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 Unify memory types.
19665
19666 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19667 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19668 types.
19669 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19670 (grub_upper_mem): Likewise.
19671 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19672 * include/grub/memory.h (grub_memory_type_t): New enum.
19673 All users updated.
19674
9696382e
VS
196752010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * grub-core/Makefile.core.def (lsapm): New module.
19678 * grub-core/commands/i386/pc/lsapm.c: New file.
19679 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19680 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19681 Likewise.
19682 * include/grub/i386/pc/apm.h: New file.
19683 * include/multiboot.h (multiboot_apm_info): New struct.
19684
196852010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 GRUB-legacy configuration file support.
19688
19689 * Makefile.util.def (grub-menulst2cfg): New util.
19690 * docs/man/grub-menulst2cfg.h2m: New file.
19691 * grub-core/Makefile.core.def (legacycfg): New module.
19692 * grub-core/commands/legacycfg.c: New file.
19693 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19694 (grub_normal_add_menu_entry): ... this.
19695 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19696 (grub_normal_set_password): ...this.
19697 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19698 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19699 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19700 * grub-core/lib/legacy_parse.c: New file.
19701 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19702 * include/grub/i386/pc/vesa_modes_table.h: New file.
19703 * include/grub/legacy_parse.h: Likewise.
19704 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19705 * util/grub-menulst2cfg.c: New file.
19706
bf8d1338
CW
197072010-09-17 Colin Watson <cjwatson@ubuntu.com>
19708
19709 * grub-core/kern/emu/hostdisk.c
19710 (convert_system_partition_to_system_disk): Initialise node.
19711
9c0bad2e
CW
197122010-09-17 Colin Watson <cjwatson@ubuntu.com>
19713
19714 * grub-core/kern/emu/hostdisk.c
19715 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19716 leak.
19717 Reported and based on patch by: Modestas Vainius.
19718
a939d135
CW
197192010-09-17 Colin Watson <cjwatson@ubuntu.com>
19720
19721 Fix DM-RAID probing with recent versions of device-mapper udev
19722 rules.
19723
19724 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19725 canonicalise device paths under /dev/mapper/.
19726 (convert_system_partition_to_system_disk): Compare the
19727 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19728 path, since device nodes under /dev/mapper/ are often symlinks.
19729
0f7ee3c9
YB
197302010-09-17 Yves Blusseau <blusseau@zetam.org>
19731
19732 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19733
10854d0d
YB
197342010-09-16 Yves Blusseau <blusseau@zetam.org>
19735
19736 * configure.ac: Avoid some annoying error messages if freetype-config
19737 program is not found.
19738
108538d8
CW
197392010-09-16 Colin Watson <cjwatson@ubuntu.com>
19740
19741 Support RAID on virtio devices, and others.
19742
19743 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19744 Rename to ...
19745 [__MINGW32__] (grub_find_device): ... this.
19746 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19747 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19748 reasonable default if dir is NULL.
19749 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19750 ...
19751 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19752 (grub_guess_root_device): Update callers.
19753 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19754
19755 * util/raid.c (grub_util_getdiskname): Remove.
19756 (grub_util_raid_getmembers): Use grub_find_device rather than
19757 grub_util_getdiskname.
19758
e5bfc130
CW
197592010-09-16 Colin Watson <cjwatson@ubuntu.com>
19760
19761 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19762 needing to be compiled with serial support.
19763 (ls): Indicate that multiple files are accepted.
19764 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19765 indicate that multiple files are accepted.
19766
be458ae2
CW
197672010-09-16 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19770 libgrub_a_init.c, and util/bash-completion.d/grub.
19771
cb731b5e
VS
197722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * util/grub-setup.c (setup): Fix incorrect container semantics.
19775
35139e8a
VS
197762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19779 misusage.
19780 Reported by: J. Nick Terry
19781
e50fca4a
VS
197822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 Move embedding routines to partmap sources files.
19785
19786 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19787 [GRUB_UTIL]: New variable.
19788 (gpt_partition_map_iterate): Set part.parent.
19789 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19790 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19791 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19792 New function.
19793 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19794 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19795 (grub_partition_map) [GRUB_UTIL]: New field embed.
19796 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19797 (setup): Use ->embed.
19798
f00478b7
VS
197992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19802 function.
19803 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19804 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19805
2b94e3ff
YB
198062010-09-15 Yves Blusseau <blusseau@zetam.org>
19807
19808 Add function to get completions from usage.
19809
19810 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19811 completions from usage. Use LC_ALL=C to get options properly.
19812
2e04a006
VS
198132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * grub-core/gnulib/basename-lgpl.c: Imported.
19816 * grub-core/gnulib/basename.c: Likewise.
19817 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19818 * grub-core/gnulib/dirname.c: Likewise.
19819 * grub-core/gnulib/dirname.h: Likewise.
19820 * grub-core/gnulib/stripslash.c: Likewise.
19821
5dcdf93a
VS
198222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * grub-core/gnulib/error.c: Resynced.
19825 * grub-core/gnulib/getopt.c: Likewise.
19826 * grub-core/gnulib/getopt_int.h: Likewise.
19827 * grub-core/gnulib/regex.h: Likewise.
19828 * grub-core/gnulib/regex_internal.c: Likewise.
19829 * grub-core/gnulib/regex_internal.h: Likewise.
19830
014f47b7
SJ
198312010-09-15 Szymon Janc <szymon@janc.net.pl>
19832
19833 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19834 CRC calculations and validity checks.
19835 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19836 calculations.
19837
dd521a4a
SJ
198382010-09-15 Szymon Janc <szymon@janc.net.pl>
19839
19840 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19841
79c4eeb9
VS
198422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 Fix incorrect echo options handling.
19845 Reported by: Yves Blusseau.
19846
19847 * include/grub/command.h (grub_command_flags_t): New flags
19848 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19849 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19850 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19851
ed80f7d5
VS
198522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19855 users updated.
19856 (GRUB_COMMAND_FLAG_MENU): Likewise.
19857 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19858 (GRUB_COMMAND_FLAG_TITLE): Removed.
19859 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19860 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19861 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19862 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19863 (grub_command_flags_t): New enum. All users updated.
19864
5fe7620a
SG
198652010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19866
19867 Fix solaris compilation.
19868
19869 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19870 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19871 (grub-emu-list): Likewise.
19872
545b752f
VS
198732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 Remove deprecated root command.
19876
19877 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19878 updated.
19879
6c1a338c
VS
198802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * util/i386/pc/grub-setup.c: Merge this ...
19883 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19884 * util/grub-setup.c: ... into this.
19885 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19886 New struct.
19887
198882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19891 possible.
19892
d2ea4551
VS
198932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19896 allocate p.
19897
3c3b5040
VS
198982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19901 explicit root argument to set to prevent UUID to be interpreted as
19902 argument to set.
19903
b71c3fae
VS
199042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19907
275433e6
VS
199082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 Don't export grub_gate_a20.
19911
19912 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19913 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19914 to ...
19915 (grub_gate_a20): ... this. All users updated.
19916 * include/grub/i386/pc/init.h: Removed. All users updated.
19917
a5dbb1f1
VS
199182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 Create euro.pf2 which supports most European languages.
19921
19922 * Makefile.am (grubdata_DATA): Add euro.pf2.
19923 (euro.pf2): New target.
19924 (CLEANFILES): Add euro.pf2.
19925
62a747cb
VS
199262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * configure.ac: Disable emu-usb by default to prevent inadvertent
19929 device takeover.
19930
608e43b1
VS
199312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 Disable usbserial on grub-emu since our libusb code isn't good enough
19934 yet.
19935
19936 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19937 (usbserial_pl2303): Likewise.
19938 (usbserial_ftdi): Likewise.
19939
94564f81
VS
199402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * include/grub/disk.h (grub_disk): Remove has_partitions.
19943 All users updated.
19944 * disk/loopback.c (grub_loopback): Remove has_partitions.
19945 All users updated.
19946 (options): Remove partitions. All users updated.
19947 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19948 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19949 actual partition table is found.
19950
3352800b
VS
199512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Remove readability checks (too many false negatives).
19954
19955 * util/grub-install.in: Remove readability checks.
19956 * util/grub-mkconfig.in: Likewise.
19957 * util/grub.d/10_hurd.in: Likewise.
19958 * util/grub.d/10_kfreebsd.in: Likewise.
19959 * util/grub.d/10_linux.in: Likewise.
19960 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19961 way.
19962
2419f17a
VS
199632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 Enable acpi shutdown on all ACPI platforms.
19966
19967 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19968 on coreboo, multiboot and EFI.
19969 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19970 (grub_acpi_halt): Likewise.
19971 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19972 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19973 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19974 * grub-core/lib/i386/halt.c (grub_halt)
19975 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19976
0575c7c3
VS
199772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19980 context.
19981
54ac3cd1
VS
199822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19985 * grub-core/video/efi_uga.c: Likewise.
19986
b2a30ac5
VS
199872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 Filter devaliases and never open same device twice.
19990
19991 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19992 (last_ihandle): Likewise.
19993 (ofdisk_hash_ent): New member shortest.
19994 (ofdisk_hash_add): Add canonical path too.
19995 (scan): New function.
19996 (grub_ofdisk_iterate): Iterate over hashed entries.
19997 (compute_dev_path): Don't add :0.
19998 (grub_ofdisk_open): Don't really open the disk.
19999 (grub_ofdisk_close): Avoid closing unrelated disk.
20000 (grub_ofdisk_read): Implement reopen logic.
20001 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20002 New function.
20003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20004 New proto.
20005
fb53b340
VS
200062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 Fix sparc64.
20009
20010 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20011 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20012 right address. Add sparc64_ieee1275_ldflags.
20013 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20014 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20015 to grub_host_to_target_addr
20016 (load_image): Likewise.
20017
f452b040
VS
200182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 * grub-core/normal/completion.c (complete_file): Handle device
20021 containing slash.
20022 Fix based on patch by Doug Nazar.
20023
9b5b2541
VS
200242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 grub-mknetdir script.
20027
20028 * Makefile.util.def (grub-mknetdir): New module.
20029 * tests/util/grub-shell.in: Support boot=net
20030 * util/grub-mknetdir.in: New file.
20031
9d2be652
VS
200322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 videoinfo on non-vbe.
20035
20036 * grub-core/Makefile.core.def (vbeinfo): Removed.
20037 (vbetest): Removed.
20038 (videoinfo): New module.
20039 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20040 * grub-core/commands/i386/pc/vbetest.c: Removed.
20041 * grub-core/commands/videoinfo.c: New file.
20042 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20043 specification.
20044 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20045 as vbetest.
20046 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20047 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20048 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20049 mode_number. New parameter mode. All users updated.
20050 (grub_video_gop_iterate): New function.
20051 (grub_video_efi_gop): New member iterate.
20052 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20053 (grub_vbe_set_video_mode): Remove setting useless fields.
20054 (vbe2videoinfo): New function.
20055 (grub_video_vbe_iterate): Likewise.
20056 (grub_video_vbe_setup): Use vbe2videoinfo.
20057 (grub_video_vbe_print_adapter_specific_info): New function.
20058 (grub_video_vbe_adapter): New fields iterate and
20059 print_adapter_specific_info.
20060 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20061 All users updated.
20062 (grub_video_mode_info): New field mode_number.
20063 (grub_video_adapter): New fields iterate and
20064 print_adapter_specific_info.
20065
179503f5
TG
200662010-09-13 Tristan Gingold <gingold@free.fr>
200672010-09-13 Robert Millan <rmh.grub@aybabtu.com>
200682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * grub-core/commands/efi/lsefisystab.c: New file.
20071 * grub-core/commands/efi/lssal.c: Likewise.
20072 * grub-core/Makefile.core.def (lsacpi): New module.
20073 (lsefisystab): Likewise.
20074 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20075 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20076 (grub_efi_sal_system_table): New struct.
20077 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20078 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20079 (grub_efi_sal_system_table_platform_features): Likewise.
20080 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20081 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20082 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20083 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20084
cf9827de
VS
200852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Support explicit user claim that a device is BIOS-visible.
20088
20089 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20090 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20091 * grub-core/kern/emu/hostdisk.c
20092 (convert_system_partition_to_system_disk): Support mdX.
20093 (find_system_device): New parameter add. All users updated.
20094 (grub_util_biosdisk_is_present): New function.
20095 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20096 proto.
20097
53f0eb1f
VS
200982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 Search hints support.
20101
20102 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20103 All users updated.
20104
b23ffd70
YB
201052010-09-13 Yves Blusseau <blusseau@zetam.org>
20106
20107 Bash completion script for util commands
20108
20109 * Makefile.am: Add util/bash-completion.d directory
20110 * configure.ac: Likewise.
20111 * util/bash-completion.d/Makefile.am: New file.
20112 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20113
d547dc28
VS
201142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20117 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20118 Reported by: Yves Blusseau.
20119
2fc8ccb9
VS
201202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20123 partition size and offset.
20124
d8a84076
VS
201252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20128
84fb3b3d
VS
201292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20130
20131 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20132
768ec2e2
VS
201332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20136 (grub_xvasprintf): Likewise.
20137
4870900f
VS
201382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20141
faca6bec
VS
201422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20145 args ending with NULL.
20146
201472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20148
20149 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20150 pointer.
20151
3c70f225
SJ
201522010-09-11 Szymon Janc <szymon@janc.net.pl>
20153
20154 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20155
4df7996d
VS
201562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 Shutdown using ACPI.
20159
20160 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20161 * grub-core/commands/acpihalt.c: New file.
20162 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20163 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20164 (grub_acpi_halt): New proto.
20165 (GRUB_ACPI_SLP_EN): New const.
20166 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20167 (GRUB_ACPI_OPCODE_*): New enum.
20168 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20169
126b4c32
TG
201702010-09-11 Tristan Gingold <gingold@free.fr>
201712010-09-11 Robert Millan <rmh.grub@aybabtu.com>
201722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * commands/lsacpi.c: New file.
20175 * grub-core/Makefile.core.def (lsacpi): New module.
20176 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20177 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20178 (grub_acpi_madt_entry_header): New struct.
20179 (grub_acpi_madt): Likewise.
20180 (grub_acpi_madt_entry_interrupt_override): Likewise.
20181 (grub_acpi_madt_entry_sapic): Likewise.
20182 (grub_acpi_madt_entry_lsapic): Likewise.
20183 (grub_acpi_madt_entry_platform_int_source): Likewise.
20184 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20185 (PRIuGRUB_UINT32_T): Likewise.
20186 (PRIxGRUB_UINT64_T): Likewise.
20187
1aa4fe88
VS
201882010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20189
20190 Implement loading palette on ieee1275_fb.
20191
20192 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20193 (have_setcolors): Likewise.
20194 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20195 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20196 (grub_video_ieee1275_set_palette): Implement.
20197
25761e13
VS
201982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
201992010-09-11 Colin Watson <cjwatson@ubuntu.com>
20200
20201 * util/grub-install.in (grub_partition): New variable.
20202 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20203 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20204 Fixes a bug reported by Yves Blusseau.
20205
050abaea
VS
202062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 Fix emu on mipsel.
20209
20210 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20211 =grub_cpu_flush_cache on all mips and not only yeeloong.
20212 * configure.ac (COND_mips): New conditional.
20213 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20214 platforms.
20215 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20216 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20217 [GRUB_LINKER_HAVE_INIT]: New function.
20218 (grub_emu_post_init): Likewise.
20219 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20220 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20221 * include/grub/cache.h (_mips): Include mips/cache.h.
20222 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20223 LVM and RAID prototypes.
20224 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20225 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20226 function.
20227
5ed7d816
CW
202282010-09-10 Colin Watson <cjwatson@ubuntu.com>
20229
20230 * util/grub-install.in: Don't try to verify core.img until after
20231 running grub-mkimage to create it.
20232
90367e04
RM
202332010-09-10 Robert Millan <rmh@gnu.org>
20234
20235 * util/grub.d/10_hurd.in: Add misc readability checks.
20236 * util/grub.d/10_kfreebsd.in: Likewise.
20237 * util/grub.d/10_linux.in: Likewise.
20238
c452fa66
CW
202392010-09-10 Colin Watson <cjwatson@ubuntu.com>
20240
20241 * util/grub-install.in: ${imgext} won't be defined here until the
20242 install branch is merged. For the meantime, only verify core.img on
20243 i386-pc and sparc64-ieee1275 platforms.
20244
c38fe9f4
RM
202452010-09-10 Robert Millan <rmh@gnu.org>
20246
20247 Solaris support in grub_find_zpool_from_dir(). Thanks
20248 Seth Goldberg for referring to getextmntent() facility.
20249
20250 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20251 `sys/mkdev.h'.
20252 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20253 `<sys/mnttab.h>'.
20254 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20255 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20256 method for finding zpool name.
20257
905f7773
CW
202582010-09-10 Colin Watson <cjwatson@ubuntu.com>
20259
20260 grub-fstest needs the host and hostfs modules while other utilities
20261 actively require those modules to be absent, so grub-fstest needs
20262 its own initialisation and finalisation code.
20263
20264 * Makefile.am (grub_fstest.pp): New target.
20265 (grub_fstest_init.lst): Likewise.
20266 (grub_fstest_init.c): Likewise.
20267 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20268
fb90b546
RM
202692010-09-10 Robert Millan <rmh@gnu.org>
20270
20271 * configure.ac: Check for `struct statfs.f_fstypename' and
20272 `struct statfs.f_mntfromname'.
20273
20274 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20275 kFreeBSD-specific code.
20276
66d4bea5
RM
202772010-09-10 Robert Millan <rmh@gnu.org>
20278
20279 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20280 on ZFS. Now non-main filesystems are supported as / too.
20281
b6a690ee
CW
202822010-09-09 Colin Watson <cjwatson@ubuntu.com>
20283
20284 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20285 and grub-core/disk/host.c to ...
20286 (grub-fstest): ... here. Having the host disk implementation
20287 present confuses grub-probe and other utility programs.
20288
20289 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20290 when writing to a file, not when writing to stdout.
20291
8901b00c 202922010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20293
20294 * tests/partmap_test.in: New test for partitions.
20295 * Makefile.util.def: Rules for new test.
20296
7bf45fdd
RM
202972010-09-09 Robert Millan <rmh@gnu.org>
20298
20299 * util/grub-probe.c (probe): Fix a pair of unhandled error
20300 conditions.
20301
4dfbc574
RM
203022010-09-09 Robert Millan <rmh@gnu.org>
20303
20304 Basic Btrfs support (detection and UUID).
20305
20306 * grub-core/fs/btrfs.c: New file.
20307 * Makefile.util.def (library): Register btrfs.c.
20308 * grub-core/Makefile.core.def: Likewise.
20309
6b8e78ae
RM
203102010-09-08 Robert Millan <rmh@gnu.org>
20311
20312 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20313 with (optional) parameters to specify device and relative path.
20314 * util/grub-install.in: Use is_path_readable_by_grub() to
20315 verify readability of a few critical files.
20316 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20317 verify readability of grub.cfg.new.
20318
27f21a8b
VS
203192010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 Split minix.mod into minix.mod and minix2.mod.
20322
20323 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20324 * grub-core/Makefile.core.def (minix2): New module.
20325 * grub-core/fs/minix.c: Use definitions instead of runtime version
20326 checking.
20327 * grub-core/fs/minix2.c: New file.
20328
c0e53ea5
YB
203292010-09-08 Yves Blusseau <blusseau@zetam.org>
20330
20331 Add new --boot-directory option to replace --root-directory
20332
20333 * util/grub-install.in: Add new --boot-directory option
20334 * util/grub-reboot.in: Likewise.
20335 * util/grub-set-default.in: Likewise.
20336
b9fe6ea2
YB
203372010-09-08 Yves Blusseau <blusseau@zetam.org>
20338
20339 * util/grub-mkconfig.in: Use new variable.
20340
d87aedff
YB
203412010-09-08 Yves Blusseau <blusseau@zetam.org>
20342
20343 * configure.ac: Define some useful variables.
20344
e55e8495
VS
203452010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20348 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20349 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20350 Use terminfo and don't use cursor-on/cursor-off unless it's known
20351 to work.
20352 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20353 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20354
6fa6d675
CW
203552010-09-08 Colin Watson <cjwatson@ubuntu.com>
20356
20357 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20358 starts with "(,", fill the drive containing the loaded image in
20359 between those two characters, but expect that a full partition
20360 specification including partition map names will follow.
20361
92f2aef0
RM
203622010-09-08 Robert Millan <rmh@gnu.org>
20363
20364 * configure.ac: Remove `--enable-grub-fstest' option.
20365 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20366
20367 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20368 `grub-fstest' instead of `grub-probe' for readability verification.
20369 * util/grub-probe.c (probe): Remove readability verification kludge.
20370
99fd620d
RM
203712010-09-08 Robert Millan <rmh@gnu.org>
20372
20373 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20374 initializing `GRUB_FS'.
20375
058e30ac 203762010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20377
20378 Not command (!) support to GRUB script.
20379
20380 * tests/grub_script_not.in: New test.
20381 * Makefile.util.def: Rules for new test.
20382
20383 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20384 ! command as a special case.
20385 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20386
b61d05ed 203872010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20388
058e30ac 20389 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20390 grub_free.
b61d05ed 20391
4d69c786 203922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20393
20394 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20395
aa3119c4 203962010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20397
20398 * docs/grub.texi (Shell-like scripting): Documentation for break,
20399 continue, shift and return commands.
20400
db0f7e3d
VS
204012010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 Rename CD-ROM to cd on BIOS.
20404
20405 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20406 "cd".
20407 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20408
88b87c93
VS
204092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20412 * util/grub-probe.c (main): Likewise.
20413 * util/i386/pc/grub-setup.c (main): Likewise.
20414 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20415 Reported and debugged by: alexxy
20416
294f324d
VS
204172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20420 diagnostic info.
20421
d7ee3441
JS
204222010-09-05 Jo Shields <directhex@apebox.org>
20423
20424 * util/grub.d/30_os-prober.in: Add missing classes.
20425
d7e06c1f
VS
204262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * docs/grub.texi (Theme file format): Document new position format.
20429
fc157e53
VS
204302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20433 a table. Use @code instead of @verbatim.
20434
506e9a1c
CB
204352010-09-05 Colin D Bennett <colin@gibibit.com>
20436
20437 Gfxmenu documentation.
20438
20439 * docs/grub.texi (Theme file format): New chapter.
20440
f0aff67c
SJ
204412010-09-05 Szymon Janc <szymon@janc.net.pl>
20442
20443 * grub-core/Makefile.core.def (xzio): New module.
20444 * grub-core/io/xzio.c: New file.
20445 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20446 * grub-core/lib/xzembed/xz_config.h: Likewise.
20447 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20448 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20449 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20450 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20451 * grub-core/lib/xzembed/xz_private.h: Likewise.
20452 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20453 * include/grub/file.h (grub_file_filter_id): New compression filter
20454 GRUB_FILE_FILTER_XZIO.
20455
82a85062
VS
204562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20459 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20460 size.
20461
3579415d
VS
204622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20465 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20466
5124ae6d
VS
204672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 Uncompressed checksum support.
20470
20471 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20472 (check_list): New parameter uncompress.
20473 (grub_cmd_hashsum): Handle --uncompress.
20474
9aadb3d1
VS
204752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 Reintroduce testload.
20478
20479 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20480 from here ...
20481 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20482 (GRUB_MOD_INIT): New function.
20483 (GRUB_MOD_FINI): Likewise.
20484 * grub-core/Makefile.core.def (testload): New module.
20485
a17792c3
SJ
204862010-09-05 Szymon Janc <szymon@janc.net.pl>
20487
20488 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20489 (uint8_t): New type.
20490 (uint16_t): Likewise.
20491 (uint32_t): Likewise.
20492 (uint64_t): Likewise.
20493
b81e40a3
SJ
204942010-09-05 Szymon Janc <szymon@janc.net.pl>
20495
20496 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20497
fc2ef117
VS
204982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20501 Made static.
20502 (grub_gzfile_open): Removed. All users updated.
20503 (GRUB_MOD_INIT): New function.
20504 (GRUB_MOD_FINI): Likewise.
20505 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20506 (grub_file_filters_enabled): Likewise.
20507 (grub_file_open): Handle filters.
20508 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20509 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20510 * include/grub/file.h (grub_file_filter_id_t): New type.
20511 (grub_file_filter_t): Likewise.
20512 (grub_file_filters_all): New extern variable.
20513 (grub_file_filters_enabled): Likewise.
20514 (grub_file_filter_register): New inline function.
20515 (grub_file_filter_unregister): Likewise.
20516 (grub_file_filter_disable): Likewise.
20517 (grub_file_filter_disable_compression): Likewise.
20518 * include/grub/gzio.h: Removed.
20519
35ee15e0
BC
205202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20521
20522 Filename expansion support for wildcards in GRUB script.
20523
20524 * tests/grub_script_expansion.in: New test.
20525 * Makefile.util.def: Rule for new test.
20526
20527 * grub-core/commands/wildcard.c: New file, implements filename
20528 expansion support for GRUB script.
20529 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20530 * grub-core/script/argv.c: Cosmetic changes.
20531 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20532 Refactored to perform wildcard expansion on arguments.
20533 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20534 struct.
20535
20536 * tests/util/grub-shell.in: Fix quoting for read input.
20537
5f0c4aca
BC
205382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20539
20540 Support for updating environment variables with matched substrings
20541 of regexp.
20542
20543 * tests/grub_cmd_regexp.in: New test.
20544 * Makefile.util.def: Rule for new test.
20545
20546 * grub-core/commands/regexp.c: New option -s to update environment
20547 variables with regexp matches.
20548
3759a35f
SJ
205492010-09-04 Szymon Janc <szymon@janc.net.pl>
20550
20551 * include/grub/file.h (grub_file): New member not_easly_seekable.
20552 (grub_file_seekable): New inline function.
20553 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20554 easily seekable.
20555 (grub_gzio_open): Set not_easly_seekable.
20556 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20557 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20558
ed8c6dec
BC
205592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20560
20561 Support for options to appear multiple times on cmdline.
20562
20563 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20564 * grub-core/commands/extcmd.c: Support for repeatable option.
20565 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20566 repeatable option support.
20567
20568 Refactor menuentry into a regular command.
20569
20570 * grub-core/commands/menuentry.c: New file, menuentry command
20571 implementation.
20572 * grub-core/Makefile.core.def: Rule update for normal.mod.
20573 * grub-core/normal/main.c: Moved menuentry creation to
20574 grub-core/commands/menuentry.c.
20575 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20576 (grub_menu_execute_entry_real): Removed.
20577 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20578 function.
20579 (grub_script_execute_menuentry): Removed.
20580 * grub-core/script/parser.y (menuentry): Removed.
20581 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20582 * grub-core/script/yylex.l (menuentry): Removed.
20583 * include/grub/menu.h (grub_menu_init): New prototype.
20584 (grub_menu_fini): New prototype.
20585 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20586 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20587 (grub_script_execute_sourcecode): New prototype.
20588
dacd0cf0
BC
205892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20590
20591 "return" command for GRUB script functions.
20592
20593 * tests/grub_script_return.in: New test.
20594 * Makefile.util.def: Rules for new test.
20595
20596 * grub-core/script/execute.c (grub_script_return): New function.
20597 * grub-core/script/main.c: Register/unregister return commaond.
20598 * include/grub/script_sh.h (grub_script_return): New prototype.
20599
52e72f9d
BC
206002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20601
20602 "setparams" command to update positional parameters.
20603
20604 * tests/grub_script_setparams.in: New test.
20605 * Makefile.util.def: Rules for new test.
20606
20607 * grub-core/script/argv.c (grub_script_argv_make): New function.
20608 * grub-core/script/execute.c (replace_scope): New function.
20609 (grub_script_setparams): New function.
20610 * grub-core/script/lexer.c: Remove unused variables.
20611 * grub-core/script/main.c: Register/unregister setparams command.
20612 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20613 (grub_script_setparams): New prototype.
20614
25b60c91
BC
206152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20616
20617 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20618 grub_free order.
20619
37e7bf68
BC
206202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20621
20622 Support for passing block of commands as an argument to extcmds.
20623
20624 * Makefile.util.def: Rules for new test.
20625 * tests/grub_script_blockarg.in: New test.
20626 * grub-core/tests/test_blockarg.c: New file, block argument
20627 command used in the test.
20628
20629 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20630 (grub_register_extcmd_prio): New function prototype.
20631 (grub_extcmd_dispatcher): New function prototype.
20632 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20633 type.
20634 * include/grub/script_sh.h (struct grub_script): New members
20635 `children', `next_siblings' and `refcnt' for block arguments and
20636 reference counting.
20637 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20638 (grub_script_arg): New member `script' for block argument.
20639 (grub_script_argv): New member `script' for block argument.
20640 (grub_parser_param): New member `scripts' for block argument.
20641 (grub_script_mem_free): New extern function prototype.
20642 (grub_script_ref): New function prototype.
20643 (grub_script_unref): New function prototype.
20644
20645 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20646 extcmd form to support block arguments.
20647 * grub-core/script/argv.c: Block arguments support.
20648 * grub-core/script/execute.c: Likewise.
20649 * grub-core/script/lexer.c: Likewise.
20650 * grub-core/script/main.c: Likewise.
20651 * grub-core/script/script.c: Likewise.
20652 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20653 non-terminals.
20654
20655 * grub-core/commands/acpi.c: Update extcmd implementations with
20656 grub_extcmd_context_t.
20657 * grub-core/commands/cat.c: Likewise.
20658 * grub-core/commands/echo.c: Likewise.
20659 * grub-core/commands/extcmd.c: Likewise.
20660 * grub-core/commands/hashsum.c: Likewise.
20661 * grub-core/commands/hdparm.c: Likewise.
20662 * grub-core/commands/help.c: Likewise.
20663 * grub-core/commands/hexdump.c: Likewise.
20664 * grub-core/commands/i386/cpuid.c: Likewise.
20665 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20666 * grub-core/commands/i386/pc/halt.c: Likewise.
20667 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20668 * grub-core/commands/iorw.c: Likewise.
20669 * grub-core/commands/keystatus.c: Likewise.
20670 * grub-core/commands/loadenv.c: Likewise.
20671 * grub-core/commands/ls.c: Likewise.
20672 * grub-core/commands/lspci.c: Likewise.
20673 * grub-core/commands/memrw.c: Likewise.
20674 * grub-core/commands/probe.c: Likewise.
20675 * grub-core/commands/search_wrap.c: Likewise.
20676 * grub-core/commands/setpci.c: Likewise.
20677 * grub-core/commands/sleep.c: Likewise.
20678 * grub-core/disk/loopback.c: Likewise.
20679 * grub-core/hello/hello.c: Likewise.
20680 * grub-core/loader/i386/bsd.c: Likewise.
20681 * grub-core/loader/xnu.c: Likewise.
20682 * grub-core/term/gfxterm.c: Likewise.
20683 * grub-core/term/serial.c: Likewise.
20684 * grub-core/tests/lib/functional_test.c: Likewise.
20685
888d1500
BC
206862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20687
20688 Multi-line quoted strings support.
20689
20690 * grub-core/script/lexer.c (append_newline): Removed.
20691 (grub_script_lexer_yywrap): Refactored.
20692 (grub_script_lexer_init): Refactored.
20693 * grub-core/script/yylex.l (yywrap): New function.
20694 (grub_lexer_resplit): New function.
20695 (grub_lexer_unput): New function.
20696 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20697 and resplit.
20698 * tests/grub_script_echo1.in: Added few more testcases.
20699
dda060dd
VS
207002010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 * grub-core/kern/misc.c: Don't add abort alias in utils.
20703 Reported by: echoline.
20704
6556eba9
BC
207052010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20706
20707 Add missing files into "make dist" tarball for other platforms.
20708
20709 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20710 * conf/Makefile.common (dist_noinst_DATA): New variable.
20711 * conf/Makefile.extra-dist: Added missing make dist files.
20712 * grub-core/Makefile.core.def: Likewise.
20713
c8e7bf5f
VS
207142010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20715
20716 Compress grub_prefix.
20717
20718 * grub-core/boot/i386/pc/lnxboot.S: Use
20719 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20720 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20721 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20722 GRUB_MACHINE_PREFIX_END. All users updated.
20723 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20724 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20725 + 0x40.
20726 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20727 * util/grub-mkimage.c (image_target_desc): Change data_end to
20728 prefix_end. All users updated.
20729
a7c00cdb
VS
207302010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20731
20732 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20733 value.
20734 (grub_openbsd_boot): Likewise.
20735 (grub_netbsd_boot): Likewise.
20736 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20737 (grub_xnu_boot): Likewise.
20738
9f915872
VS
207392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * configure.ac: Clean LIBS variable after tests.
20742
efa1bee7
CW
207432010-09-02 Colin Watson <cjwatson@ubuntu.com>
20744
20745 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20746
61d720e5
VS
207472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20750 echo if libdevmapper will be used.
20751
ef8e0ec8
IT
207522010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20753
20754 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20755 constant for the same file.
20756
03e261d8
VS
207572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20760
c2a4eba6
CW
207612010-09-02 Colin Watson <cjwatson@ubuntu.com>
20762
20763 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20764 grub-core/*.pp.
20765
9056cbf3
CW
207662010-09-02 Colin Watson <cjwatson@ubuntu.com>
20767
20768 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20769 required by the boot protocol.
20770
20771 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20772 ebp and edi members.
20773 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20774 state.ebp and state.edi.
20775 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20776 %ebp and %edi according to grub_relocator32_ebp and
20777 grub_relocator32_edi respectively.
20778 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20779 and state.edi.
20780
529cc99a
VS
207812010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20782
20783 Add i386-pc-pxe image target.
20784
20785 * util/grub-mkimage.c (image_target_desc): New enum value
20786 IMAGE_I386_PC_PXE.
20787 (image_targets): New target i386-pc-pxe.
20788 (generate_image): Handle i386-pc-pxe image.
20789
9a093920
VS
207902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20791
20792 Fix grub_pxe_scan.
20793
20794 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20795 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20796 All users updated.
20797 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20798 (grub_pxe_pxenv): Correct type.
20799
f9cefc4e
CW
208002010-09-01 Colin Watson <cjwatson@ubuntu.com>
20801
20802 * NEWS: Document most of the important changes since 1.98.
20803
4066f57f
CW
208042010-09-01 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20807 generated manual page) a little.
20808
da2891f9
CW
208092010-09-01 Colin Watson <cjwatson@ubuntu.com>
20810
20811 * docs/grub.texi: Add myself as an author.
20812
ad717fae
VS
208132010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * Makefile.util.def (libgrub.a): Add missing sunpc.
20816 Reported by: Seth Goldberg.
20817
eefe8abd
VS
208182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 Interrupt wrapping and code simplifications.
20821
9494ef9a
VS
20822 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20823 x86_noieee1275 which are functionaly equivalent in this case.
20824 (grub-install): Make source on each platform explicit. Enable on
20825 all noemu.
20826 * gentpl.py (x86_efi_pc): Removed group.
20827 (x86_noefi): Likewise.
20828 (i386_noefi): Likewise.
20829 (x86_noieee1275): Likewise.
20830 (i386_noieee1275): Likewise.
20831 (i386_noefi_noieee1275): Likewise.
20832 (i386_pc_qemu_coreboot): Likewise.
20833 (i386_coreboot_multiboot): Likewise.
20834 (i386_pc_coreboot_multiboot_qemu): Likewise.
20835 (x86_noefi_mips): Likewise.
20836 (noieee1275): Likewise.
20837 (ieee1275_mips): Likewise.
20838 (noemu_noieee1275): Likewise.
20839 (cmos): New group.
20840 (usb): Likewise.
20841 (videoinkernel): Likewise.
20842 (videomodules): Likewise.
eefe8abd 20843 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20844 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20845 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20846 include/grub/loader.h, include/grub/msdos_partition.h,
20847 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20848 include/grub/machine/console.h, include/grub/machine/vga.h,
20849 include/grub/machine/vbe.h, include/grub/machine/init.h,
20850 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20851 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20852 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20853 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20854 * grub-core/Makefile.core.def (kernel): Explicit the source for
20855 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20856 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20857 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20858 Use videoinkernel tag.
20859 (usb): Enable on all usb.
20860 (usbserial_common): Likewise.
20861 (usbserial_pl2303): Likewise.
20862 (usbserial_ftdi): Likewise.
20863 (uhci): Enable on all x86.
20864 (ohci): Enable on all pci.
20865 (cmostest): Enable on all CMOS.
20866 (acpi): Include commands/acpi.c on all platforms.
20867 (halt): Add relevant lib/*/halt.c.
20868 (hdparm): Enable on all pci.
20869 (lspci): Likewise.
20870 (usbtest): Enable on all usb.
20871 (ata): Enable on all pci.
20872 (ata_pthru): Likewise.
20873 (usbms): Enable on all usb.
20874 (usb_keyboard): Likewise.
20875 (font): Use tag videomodules.
20876 (bufio): Likewise.
20877 (datetime): Use tag cmos. Enable on all noemu.
20878 (mmap): Use tags common and x86.
20879 (gfxterm): Use tag videomodules.
20880 (bitmap): Likewise.
20881 (bitmap_scale): Likewise.
20882 (video_fb): Likewise.
20883 (video): Likewise.
20884 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20885 adjust padding accordingly. All users updated.
20886 (grub_ohci_transaction): Fix bad format specification.
20887 (GRUB_MOD_INIT): Add asserts for struct size.
20888 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20889 (grub_alloc_td): Likewise.
20890 (grub_free_queue): Likewise.
20891 (grub_uhci_transfer): Likewise.
20892 (grub_uhci_transaction): Fix bad format specification.
20893 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20894 (grub_usb_bulk_readwrite): Likewise.
20895 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20896 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20897 Made static.
20898 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20899 Made static.
20900 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20901 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20902 Transformed into C.
20903 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20904 Moved from here ...
20905 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20906 ... here. Transformed into C. Made static.
20907 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20908 Moved from here ...
20909 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20910 ... here. Transformed into C. Made static.
20911 * grub-core/kern/i386/pc/startup.S
20912 (grub_biosdisk_check_int13_extensions): Moved from here ...
20913 * grub-core/disk/i386/pc/biosdisk.c
20914 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20915 Made static.
20916 * grub-core/kern/i386/pc/startup.S
20917 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20918 * grub-core/disk/i386/pc/biosdisk.c
20919 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20920 Transformed into C. Made static.
20921 * grub-core/kern/i386/pc/startup.S
20922 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20923 * grub-core/disk/i386/pc/biosdisk.c
20924 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20925 Transformed into C. Made static.
20926 * grub-core/kern/i386/pc/startup.S
20927 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20928 * grub-core/disk/i386/pc/biosdisk.c
20929 (grub_biosdisk_get_diskinfo_standard): ... here.
20930 Transformed into C. Made static.
20931 * grub-core/kern/i386/pc/startup.S
20932 (grub_biosdisk_get_num_floppies): Moved from here ...
20933 * grub-core/disk/i386/pc/biosdisk.c
20934 (grub_biosdisk_get_num_floppies): ... here.
20935 Transformed into C. Made static.
20936 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20937 New function.
20938 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20939 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20940 Transformed into C. Made static.
20941 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20942 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20943 Transformed into C. Made static.
20944 * grub-core/kern/i386/ieee1275/init.c: Removed.
20945 * grub-core/kern/i386/misc.S: Likewise.
20946 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20947 Splitted from here ...
20948 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20949 Transformed into C. Made static. All users updated.
20950 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20951 Transformed into C. Made static. All users updated.
20952 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20953 Moved from here...
20954 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20955 Transformed into C. Made static. All users updated.
20956 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20957 Moved from here...
20958 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20959 Transformed into C. Made static. All users updated.
20960 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20961 Removed (replaced by C version).
20962 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20963 Moved from here...
20964 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20965 Transformed into C. Made static.
20966 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20967 Moved from here...
20968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20969 ... here. Transformed into C.
20970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20971 Moved from here...
20972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20973 ... here. Transformed into C.
20974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20975 Moved from here...
20976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20977 ... here. Transformed into C. Made static.
20978 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20979 Moved from here...
20980 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20981 ... here. Transformed into C.
21ed554b
VS
20982 * grub-core/kern/i386/pc/startup.S
20983 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20984 * grub-core/video/i386/pc/vbe.c
20985 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20986 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20987 Moved from here...
20988 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20989 ... here. Transformed into C.
20990 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20991 Moved from here...
20992 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20993 ... here. Transformed into C.
20994 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20995 Moved from here...
20996 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20997 ... here. Transformed into C.
20998 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20999 Moved from here...
21000 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21001 ... here. Transformed into C.
21002 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21003 Moved from here...
21004 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21005 ... here. Transformed into C. Made static.
21006 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21007 Moved from here...
21008 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21009 ... here. Transformed into C. Made static.
21010 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21011 Moved from here...
21012 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21013 ... here. Transformed into C. Made static.
21014 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21015 pxe_rm_entry as third argument.
21016 (grub_bios_interrupt): New function.
21017 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21018 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21019 of calling grub_stop.
21020 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21021 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21022 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21023 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21024 * grub-core/lib/i386/halt.c: Moved from here ...
21025 * grub-core/lib/i386/halt.c: ... here.
21026 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21027 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21028 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21029 grub_stop_floppy.
21030 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21031 * include/grub/i386/coreboot/init.h: Removed.
21032 * include/grub/i386/multiboot/init.h: Likewise.
21033 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21034 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21035 * include/grub/i386/pc/int.h: New file.
21036 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21037 (grub_pxe_scan): Removed.
21038 (grub_pxe_call): Update prototype.
21039 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21040 prototypes.
21041 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21042 * include/grub/i386/qemu/init.h: Removed.
21043 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21044 noreturn.
21045 (grub_halt): Likewise.
21046 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21047 (grub_reboot): Likewise.
21048 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21049 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21050 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21051
215dd471
RM
210522010-08-30 Robert Millan <rmh@gnu.org>
21053
21054 * NEWS: Document addition of ZFS support in `grub-install' and
21055 `grub-mkconfig'.
21056
ebd65b82
BC
210572010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21058
21059 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21060 dprintf output.
21061
11721d19
VS
210622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 Remove leftover embedding of font objects.
21065
21066 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21067 * util/grub-install.in (font): Removed.
21068 * util/grub-mkimage.c (generate_image): Remove font support. All users
21069 updated.
21070
37837d4e
VS
210712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21072
21073 Remove leftover embedding of font objects.
21074
21075 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21076 * util/grub-install.in (font): Removed.
21077 * util/grub-mkimage.c (generate_image): Remove font support. All users
21078 updated.
21079
b4c1aae0
VS
210802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21083 Reported by: Ian Turner
b4c1aae0 21084
8920a08d
VS
210852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21086
21087 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21088 timeout to avoid indefinite boot stalling.
21089
f21db033
VS
210902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21093 (grub_env_write_color_highlight): Likewise.
21094
9a9de209
VS
210952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * grub-core/normal/term.c (print_more): Return to normal and not
21098 to standard state after printing "---MORE---".
21099
3dca01d7
VS
211002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21103 Mask out the bit 0x80 since it has other meaning that specifiing color.
21104
0b986c40
VS
211052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21106
21107 New relocator. Allows for more kernel support and more straightforward
21108 loader writing.
21109
21110 * Makefile.am (BOOTTARGET): New variable.
21111 (QEMU32): Likewise.
21112 (linux.init.x86_64): New target.
21113 (linux.init.i386): Likewise.
21114 (multiboot.elf): Likewise.
21115 (kfreebsd.elf): Likewise.
21116 (kfreebsd.aout): Likewise.
21117 (pc-chainloader.elf): Likewise.
21118 (pc-chainloader.bin): Likewise.
21119 (ntldr.elf): Likewise.
21120 (ntldr.bin): Likewise.
21121 (multiboot2.elf): Likewise.
21122 (kfreebsd.init.x86_64): Likewise.
21123 (kfreebsd.init.i386): Likewise.
21124 (knetbsd.init.i386): Likewise.
21125 (kopenbsd.init.i386): Likewise.
21126 (knetbsd.init.x86_64): Likewise.
21127 (kopenbsd.init.x86_64): Likewise.
21128 (linux-initramfs.i386): Likewise.
21129 (linux-initramfs.x86_64): Likewise.
21130 (kfreebsd-mfsroot.i386.img): Likewise.
21131 (knetbsd.image.i386): Likewise.
21132 (kopenbsd.image.i386): Likewise.
21133 (kopenbsd.image.x86_64): Likewise.
21134 (knetbsd.miniroot-image.i386.img): Likewise.
21135 (kfreebsd-mfsroot.x86_64.img): Likewise.
21136 (knetbsd.image.x86_64): Likewise.
21137 (knetbsd.miniroot-image.x86_64.img): Likewise.
21138 (kfreebsd-mfsroot.i386.gz): Likewise.
21139 (bootcheck-kfreebsd-i386): Likewise.
21140 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21141 (bootcheck-kfreebsd-x86_64): Likewise.
21142 (knetbsd.miniroot-image.i386.gz): Likewise.
21143 (bootcheck-knetbsd-i386): Likewise.
21144 (bootcheck-kopenbsd-i386): Likewise.
21145 (bootcheck-kopenbsd-x86_64): Likewise.
21146 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21147 (bootcheck-knetbsd-x86_64): Likewise.
21148 (bootcheck-linux-i386): Likewise.
21149 (bootcheck-linux-x86_64): Likewise.
21150 (bootcheck-linux16-i386): Likewise.
21151 (bootcheck-linux16-x86_64): Likewise.
21152 (bootcheck-multiboot): Likewise.
21153 (bootcheck-multiboot2): Likewise.
21154 (bootcheck-kfreebsd-aout): Likewise.
21155 (bootcheck-pc-chainloader): Likewise.
21156 (bootcheck-ntldr): Likewise.
21157 (CLEANFILES): Add new targets.
21158 (BOOTCHECKS): New variable.
21159 (.PHONY): Add bootchecks.
21160 (SUCCESSFUL_BOOT_STRING): New variable.
21161 (BOOTCHECK_TIMEOUT): Likewise.
21162 (bootcheck): New target
21163 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21164 * configure.ac: Correct efiemu excuse.
21165 * docs/grub.texi (Supported kernels): New chapter.
21166 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21167 include/grub/mm_private.h. Simplify inclusion of
21168 include/grub/boot.h, include/grub/loader.h
21169 and include/grub/msdos_partition.h
21170 (KERNEL_HEADER_FILES) [i386_coreboot]:
21171 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21172 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21173 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21174 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21175 include/grub/machine/loader.h.
21176 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21177 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21178 extra_dist.
21179 (pci.mod): Enable on i386-multiboot.
21180 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21181 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21182 i386-qemu.
21183 (relocator.mod): Rewritten.
21184 (aout.mod): Enable on all x86.
21185 (bsd.mod): Likewise.
21186 (ntldr.mod): New module.
21187 (linux.mod): Use loader/i386/linux.c on all x86.
21188 (xnu.mod): Enable on all x86.
21189 (vga_text.mod): disable on EFI and QEMU.
21190 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21191 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21192 * grub-core/efiemu/loadcore.c: Likewise.
21193 * grub-core/efiemu/main.c: Likewise.
21194 (grub_efiemu_exit_boot_services): Removed.
21195 (grub_efiemu_finish_boot_services): Likewise.
21196 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21197 function.
21198 * grub-core/efiemu/i386/nocfgtables.c: New file.
21199 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21200 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21201 (grub_efi_finish_boot_services): Moved from here ...
21202 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21203 Fille finish memory map and related data.
21204 (finish_mmap_buf): New variable.
21205 (grub_efi_uintn_t finish_mmap_size): Likewise.
21206 (grub_efi_uintn_t finish_key): Likewise.
21207 (grub_efi_uintn_t finish_desc_size): Likewise.
21208 (grub_efi_uint32_t finish_desc_version): Likewise.
21209 (grub_efi_is_finished): Likewise.
21210 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21211 finished.
21212 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21213 (grub_elf64_phdr_iterate): Likewise.
21214 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21215 (grub_os_area_size): Likewise.
21216 (grub_machine_init): Don't reserve os area.
21217 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21218 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21219 * grub-core/kern/i386/loader.S: Removed.
21220 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21221 (grub_os_area_size): Likewise.
21222 (grub_machine_init): Don't reserve os area.
21223 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21224 Don't call grub_dl_unload_all.
21225 Don't include loader.S.
21226 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21227 Declare the memory after _end as available.
21228 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21229 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21230 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21231 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21232 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21233 * include/grub/mm_private.h (grub_mm_header): ... here.
21234 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21235 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21236 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21237 (grub_mm_region): ..here. Removed addr. Added pre_size.
21238 All users updated.
21239 * grub-core/kern/mm.c (base): Renamed to ...
21240 (grub_mm_base): ... this. Made global.
21241 (grub_real_malloc): Alloc from end of region.
21242 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21243 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21244 * grub-core/kern/powerpc/cache_flush.S: ... here.
21245 * grub-core/lib/efi/relocator.c: New file.
21246 * grub-core/lib/i386/relocator.c: Rewritten.
21247 * grub-core/lib/i386/relocator16.S: New file.
21248 * grub-core/lib/i386/relocator32.S: Likewise.
21249 * grub-core/lib/i386/relocator64.S: Likewise.
21250 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21251 * grub-core/lib/i386/relocator_common.S: New file.
21252 * grub-core/lib/ieee1275/relocator.c: Likewise.
21253 * grub-core/lib/mips/relocator.c: Rewritten.
21254 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21255 stylistic adjustments.
21256 * grub-core/lib/powerpc/relocator.c: New file.
21257 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21258 * grub-core/lib/relocator.c: Rewritten.
21259 * grub-core/lib/x86_64/relocator_asm.S: New file.
21260 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21261 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21262 (bsd_tag): New struct.
21263 (tags): New variable.
21264 (tags_last): Likewise.
21265 (netbsd_module): New struct.
21266 (netbsd_mods): New variable.
21267 (netbsd_mods_last): Likewise.
21268 (openbsd_opts): New parameter "serial".
21269 (OPENBSD_SERIAL_ARG): New definition.
21270 (netbsd_opts): New parameter "serial".
21271 (NETBSD_SERIAL_ARG): New definition.
21272 (grub_freebsd_add_meta): Reorganised into ...
21273 (grub_bsd_add_meta): ...this. All users updated.
21274 (grub_freebsd_add_mmap): Reorganised into ...
21275 (generate_e820_mmap): ...this...
21276 (grub_bsd_add_mmap): ...and this. All users updated.
21277 (grub_freebsd_list_modules): Use tags.
21278 (grub_netbsd_add_meta_module): New function.
21279 (grub_netbsd_list_modules): Likewise.
21280 (grub_freebsd_boot): Use relocator and finish EFI.
21281 (grub_openbsd_boot): Likewise.
21282 (grub_netbsd_setup_video): New function.
21283 (grub_netbsd_add_modules): Likewise.
21284 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21285 and finish EFI.
21286 (grub_bsd_unload): Unload tags.
21287 (grub_bsd_load_aout): Use relocator.
21288 (grub_bsd_elf32_size_hook): New function.
21289 (grub_bsd_elf32_hook): Use relocator.
21290 (grub_bsd_elf64_size_hook): New function.
21291 (grub_bsd_elf64_hook): Use relocator.
21292 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21293 (grub_bsd_load): Zero-out openbsd_ramdisk.
21294 (grub_bsd_load): Use relocator.
21295 (grub_cmd_openbsd): Support serial.
21296 (grub_cmd_netbsd): Support modules.
21297 (grub_cmd_freebsd_module): Use relocator.
21298 (grub_netbsd_module_load): New function.
21299 (grub_cmd_netbsd_module): Likewise.
21300 (grub_cmd_openbsd_ramdisk): Likewise.
21301 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21302 kopenbsd_ramdisk.
21303 (GRUB_MOD_FINI): Unregister new commands.
21304 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21305 (grub_freebsd_load_elfmodule_obj): Use relocator.
21306 (grub_freebsd_load_elfmodule): Likewise.
21307 (grub_freebsd_load_elf_meta): Likewise.
21308 (grub_netbsd_load_elf_meta): New function.
21309 (grub_openbsd_find_ramdisk): Likewise.
21310 * grub-core/loader/i386/bsd_helper.S: Removed.
21311 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21312 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21313 * grub-core/loader/i386/efi/linux.c: Likewise.
21314 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21315 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21316 (DEFAULT_VIDEO_MODE): Likewise.
21317 (real_mode_target): New variable.
21318 (prot_mode_target): Likewise.
21319 (initrd_mem_target): Likewise.
21320 (relocator): Likewise.
21321 (efi_mmap_buf): Likewise.
21322 (efi_mmap_size): Likewise.
21323 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21324 (free_pages): Use relocator.
21325 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21326 (grub_linux_setup_video): Return error.
21327 (grub_linux_trampoline_start): Removed.
21328 (grub_linux_trampoline_end): Likewise.
21329 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21330 andd video parameters depending on firmware.
21331 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21332 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21333 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21334 (grub_cmd_initrd): Use relocator.
21335 * grub-core/loader/i386/linux_trampoline.S: Removed.
21336 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21337 (elf_sec_entsize): Likewise.
21338 (elf_sec_shstrndx): Likewise.
21339 (elf_sections): Likewise.
21340 (grub_multiboot_load): Use relocator.
21341 (grub_multiboot_get_mbi_size): Account for sections.
21342 (grub_multiboot_make_mbi): Use relocator and support sections.
21343 (grub_multiboot_add_elfsyms): New function.
21344 (grub_multiboot_free_mbi): Free sections.
21345 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21346 (grub_linux_real_target): Likewise.
21347 (grub_linux_real_chunk): Likewise.
21348 (grub_linux16_prot_size): Likewise.
21349 (grub_linux16_boot): Use relocator.
21350 (grub_linux_unload): Unload relocator.
21351 (grub_cmd_linux): Use relocator.
21352 (grub_cmd_initrd): Likewise.
21353 * grub-core/loader/i386/pc/ntldr.c: New file.
21354 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21355 Don't try to guess CPU frequency.
21356 (grub_xnu_set_video): Stretch bitmap.
21357 (grub_xnu_boot): Use relocator.
21358 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21359 (grub_linux_unload): Free relocator.
21360 (grub_linux_load32): Use relocator.
21361 (grub_linux_load64): Likewise.
21362 (grub_cmd_initrd): Likewise.
21363 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21364 (grub_multiboot_unload): Unload relocator.
21365 (grub_cmd_multiboot): Use relocator.
21366 (grub_cmd_module): Likewise.
21367 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21368 Use relocator and support sections.
21369 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21370 (elf_sec_entsize): Likewise.
21371 (elf_sec_shstrndx): Likewise.
21372 (elf_sections): Likewise.
21373 (grub_multiboot_load): Use relocator.
21374 (grub_multiboot_get_mbi_size): Account for sections.
21375 (grub_multiboot_make_mbi): Use relocator and support sections.
21376 (grub_multiboot_add_elfsyms): New function.
21377 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21378 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21379 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21380 Prototype changed. All users updated.
21381 (grub_xnu_align_heap): Simplified.
21382 (grub_xnu_writetree_toheap): Likewise.
21383 (grub_xnu_unload): Unload relocator.
21384 (grub_cmd_xnu_kernel): Use relocator.
21385 (grub_cmd_xnu_kernel64): Likewise.
21386 (grub_xnu_register_memory): Simplified.
21387 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21388 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21389 EFI is finished.
21390 (grub_console_checkkey): Likewise.
21391 (grub_console_getkey): Likewise.
21392 (grub_console_getwh): Likewise.
21393 (grub_console_getxy): Likewise.
21394 (grub_console_gotoxy): Likewise.
21395 (grub_console_cls): Likewise.
21396 (grub_console_setcolorstate): Likewise.
21397 (grub_console_setcursor): Likewise.
21398 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21399 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21400 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21401 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21402 * grub-core/tests/boot/kernel-8086.S: Likewise.
21403 * grub-core/tests/boot/kernel-i386.S: Likewise.
21404 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21405 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21406 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21407 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21408 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21409 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21410 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21411 * grub-core/tests/boot/linux.cfg: Likewise.
21412 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21413 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21414 * grub-core/tests/boot/linux16.cfg: Likewise.
21415 * grub-core/tests/boot/multiboot.cfg: Likewise.
21416 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21417 * grub-core/tests/boot/ntldr.cfg: Likewise.
21418 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21419 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21420 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21421 New definition.
21422 * include/grub/dl.h (grub_dl_unload_all): Removed.
21423 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21424 (grub_efi_finish_boot_services): Change prototype.
21425 (grub_efi_is_finished): New variable.
21426 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21427 Changed prototype.
21428 (grub_efiemu_finish_boot_services): Removed.
21429 (grub_machine_efiemu_init_tables): New prototype.
21430 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21431 (grub_elf64_phdr_iterate): Likewise.
21432 * include/grub/i386/bsd.h: Include relocator.h.
21433 (freebsd_tag_header): New struct.
21434 (grub_openbsd_bios_mmap): Removed.
21435 (grub_unix_real_boot): Removed.
21436 (grub_freebsd_load_elfmodule32): Changed prototype.
21437 (grub_freebsd_load_elfmodule_obj64): Likewise.
21438 (grub_freebsd_load_elf_meta32): Likewise.
21439 (grub_freebsd_load_elf_meta64): Likewise.
21440 (grub_freebsd_add_meta): Removed.
21441 (grub_netbsd_load_elf_meta32): New prototype.
21442 (grub_netbsd_load_elf_meta64): Likewise.
21443 (grub_bsd_add_meta): Likewise.
21444 (grub_openbsd_ramdisk_descriptor): New struct.
21445 (grub_openbsd_find_ramdisk32): New prototype.
21446 (grub_openbsd_find_ramdisk64): Likewise.
21447 * include/grub/i386/coreboot/loader.h: Removed.
21448 * include/grub/i386/efi/loader.h: Likewise.
21449 * include/grub/i386/ieee1275/loader.h: Likewise.
21450 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21451 to grub_uint32_t.
21452 * include/grub/i386/loader.h: Removed.
21453 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21454 value.
21455 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21456 (grub_phys_addr_t): New type.
21457 (grub_vtop): New inline function.
21458 (grub_map_memory): Likewise.
21459 (grub_unmap_memory): Likewise.
21460 * include/grub/i386/multiboot/loader.h: Removed.
21461 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21462 (NETBSD_BTINFO_CONSOLE): New definition.
21463 (NETBSD_BTINFO_SYMTAB): Likewise.
21464 (NETBSD_BTINFO_MODULES): Likewise.
21465 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21466 (grub_netbsd_bootinfo): New struct.
21467 (grub_netbsd_btinfo_common): Use explicit bitsize.
21468 (grub_netbsd_btinfo_mmap_entry): Removed.
21469 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21470 (grub_netbsd_btinfo_bootdisk): New struct.
21471 (grub_netbsd_btinfo_symtab): Likewise.
21472 (grub_netbsd_btinfo_serial): Likewise.
21473 (grub_netbsd_btinfo_modules): Likewise.
21474 (grub_netbsd_btinfo_framebuf): Likewise.
21475 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21476 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21477 Likewise.
21478 (grub_openbsd_bootargs): Use explicit bitsize.
21479 (grub_openbsd_bootarg_console): New struct.
21480 (GRUB_OPENBSD_COM_MAJOR): New definition.
21481 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21482 * include/grub/i386/pc/efiemu.h: Removed.
21483 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21484 * include/grub/i386/qemu/loader.h: Removed.
21485 * include/grub/i386/relocator.h: Rewritten.
21486 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21487 * include/grub/mips/memory.h: New file.
21488 * include/grub/mips/multiboot.h: Rewritten.
21489 * include/grub/mips/relocator.h: Rewritten.
21490 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21491 (grub_vtop): New function.
21492 (grub_map_memory): Likewise.
21493 (grub_unmap_memory): Likewise.
21494 * include/grub/misc.h (ALIGN_DOWN): New definition.
21495 * include/grub/mm.h (grub_mm_check_real): New proto.
21496 (GRUB_MM_CHECK): New definition.
21497 * include/grub/mm_private.h: New file.
21498 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21499 (grub_multiboot_get_mbi_size): Removed.
21500 (grub_multiboot_make_mbi): Change prottype.
21501 (grub_multiboot_set_accepts_video): New proto.
21502 (grub_multiboot_add_elfsyms): Likewise.
21503 (grub_multiboot_payload_eip): New variable.
21504 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21505 New prototype.
21506 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21507 New definition.
21508 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21509 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21510 * include/grub/powerpc/ieee1275/loader.h: Removed.
21511 * include/grub/powerpc/memory.h: New file.
21512 * include/grub/powerpc/relocator.h: Likewise.
21513 * include/grub/relocator.h: Likewise.
21514 * include/grub/relocator_private.h: Likewise.
21515 * include/grub/sparc64/ieee1275/loader.h: Removed.
21516 * include/grub/x86_64/memory.h: New file.
21517 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21518 (grub_xnu_heap_malloc): Likewise.
21519 (grub_xnu_heap_real_start): Removed.
21520 (grub_xnu_heap_start): Likewise.
21521 (grub_xnu_relocator): New variable.
21522 (grub_xnu_heap_target_start): Likewise.
21523 * tests/util/grub-shell.in: Support non-pc.
21524 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21525
5303b85d
VS
215262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21529 on malloc error.
21530 (grub_bidi_logical_to_visual): Check that malloc succeded.
21531 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21532 puts.
21533 (grub_xputs_normal): Likewise.
21534
d768d159
VS
215352010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21538 extra_dist.
21539
215402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21543
5bf84df4
VS
215442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21547
3626810e
VS
215482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21551 dprintf.
21552
a7363f53
BC
215532010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21554
21555 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21556
902f75f6
VS
215572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * grub-core/normal/term.c (print_more): Fix a memory leak.
21560 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21561 (grub_xputs_normal): Likewise.
21562
3c707967
VS
215632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21566 the begining of the string
21567
2053cc07
VS
215682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/script/script.c (grub_script_parse): Free parsed on
21571 failure.
21572
46422ebf
VS
215732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21576 on failure.
21577
9e0fa3f6
VS
215782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21581 return.
21582
3393cf16
VS
215832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21586 (scroll_up): Fix a memory leak.
21587
b17540cb
VS
215882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21591 errors.
21592
67140446
VS
215932010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 Handle USB pendrives exposed as floppies.
21596
21597 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21598 floppy.
21599 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21600 Check for partitions on all devices.
21601
e35e46fc
VS
216022010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21605 (readkey): Likewise.
21606
d24c6190
BC
216072010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21608
21609 Multiple variable names support to "export" command.
21610
21611 * normal/context.c (grub_cmd_export): "export" command supports
21612 multiple variable names.
21613
04ddcc6a
ST
216142010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21615
21616 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21617 --target=drive output to Mach device name.
21618
0c8b61d8
BC
216192010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21620
21621 New Automake based build system for GRUB.
21622
21623 * ABOUT-NLS: New file.
21624 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21625 in Makefile.util.def file.
21626 * Makefile.util.def: New file. Autogen build definitions file for
21627 GRUB host utils.
21628 * conf/Makefile.common: New file. Common variables for GRUB host
21629 utils and target modules.
21630 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21631 * docs/Makefile.am: New file. Automake file for docs.
21632 * gentpl.py: New file. Python script to generate Autogen
21633 template.
21634 * grub-core/Makefile.am: New file. GRUB target modules' rules
21635 that doesn't fit in Makefile.core.def file.
21636 * grub-core/Makefile.core.def: New file. Autogen build
21637 definitions file for GRUB target modules.
21638 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21639 specific setjmp.S file.
21640 * po/Makefile.am: New file.
21641
21642 * .bzrignore: New ignores.
21643 * INSTALL: New requirements, without Ruby.
21644 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21645 * autogen.sh: Updated to invoke autogen as necessary.
21646 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21647 and defines for Automake conditionals.
21648 * geninit.sh: Refactoring.
21649
21650 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21651 necessary.
21652 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21653 New prototype.
21654
21655 * include/grub/test.h: Fix functional test modules' naming.
21656 * grub-core/tests/example_functional_test.c: Fix test module name.
21657
21658 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21659 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21660 * util/grub-editenv.c: Likewise.
21661 * util/grub-fstest.c: Likewise.
21662 * util/grub-mkdevicemap.c: Likewise.
21663 * util/grub-mkfont.c: Likewise.
21664 * util/grub-mkimage.c: Likewise.
21665 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21666 * util/grub-probe.c: Likewise.
21667 * util/grub-script-check.c: Likewise.
21668 * util/i386/pc/grub-setup.c: Likewise.
21669 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21670
21671 * tests/util/grub-shell.in: Fix override directory path.
21672 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21673 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21674
21675 * util/lvm.c: Update #includes.
21676 * util/raid.c: Likewise.
21677 * util/resolve.c: Likewise.
21678 * grub-core/bus/emu/pci.c: Likewise.
21679 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21680 * grub-core/lib/posix_wrap/string.h: Likewise.
21681 * grub-core/kern/emu/main.c: Likewise.
21682
21683 * grub-core/gensymlist.sh: New file. Script for generating kernel
21684 symbols file.
21685 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21686
21687 * grub-core/gentrigtables.c: Fix unused variable warnings.
21688
21689 * Makefile.in: Removed.
21690 * conf/any-emu.rmk: Removed.
21691 * conf/common.rmk: Removed.
21692 * conf/i386-coreboot.rmk: Removed.
21693 * conf/i386-efi.rmk: Removed.
21694 * conf/i386-ieee1275.rmk: Removed.
21695 * conf/i386-multiboot.rmk: Removed.
21696 * conf/i386-pc.rmk: Removed.
21697 * conf/i386-qemu.rmk: Removed.
21698 * conf/i386.rmk: Removed.
21699 * conf/mips-yeeloong.rmk: Removed.
21700 * conf/mips.rmk: Removed.
21701 * conf/powerpc-ieee1275.rmk: Removed.
21702 * conf/sparc64-ieee1275.rmk: Removed.
21703 * conf/tests.rmk: Removed.
21704 * conf/x86-efi.rmk: Removed.
21705 * conf/x86_64-efi.rmk: Removed.
21706 * gendistlist.sh: Removed.
21707 * geninitheader.sh: Removed.
21708 * genkernsyms.sh.in: Removed.
21709 * genmk.rb: Removed.
21710 * gensymlist.sh.in: Removed.
21711 * mkinstalldirs: Removed.
21712 * boot: Moved ...
21713 * grub-core/boot: ... to here.
21714 * bus: Moved ...
21715 * grub-core/bus: ... to here.
21716 * commands: Moved ...
21717 * grub-core/commands: ... to here.
21718 * disk: Moved ...
21719 * grub-core/disk: ... to here.
21720 * efiemu: Moved ...
21721 * grub-core/efiemu: ... to here.
21722 * font: Moved ...
21723 * grub-core/font: ... to here.
21724 * fs: Moved ...
21725 * grub-core/fs: ... to here.
21726 * gencmdlist.sh: Moved ...
21727 * grub-core/gencmdlist.sh: ... to here.
21728 * genemuinit.sh: Moved ...
21729 * grub-core/genemuinit.sh: ... to here.
21730 * genemuinitheader.sh: Moved ...
21731 * grub-core/genemuinitheader.sh: ... to here.
21732 * genfslist.sh: Moved ...
21733 * grub-core/genfslist.sh: ... to here.
21734 * genhandlerlist.sh: Moved ...
21735 * grub-core/genhandlerlist.sh: ... to here.
21736 * genmoddep.awk: Moved ...
21737 * grub-core/genmoddep.awk: ... to here.
21738 * genmodsrc.sh: Moved ...
21739 * grub-core/genmodsrc.sh: ... to here.
21740 * genpartmaplist.sh: Moved ...
21741 * grub-core/genpartmaplist.sh: ... to here.
21742 * genparttoollist.sh: Moved ...
21743 * grub-core/genparttoollist.sh: ... to here.
21744 * genterminallist.sh: Moved ...
21745 * grub-core/genterminallist.sh: ... to here.
21746 * gentrigtables.c: Moved ...
21747 * grub-core/gentrigtables.c: ... to here.
21748 * genvideolist.sh: Moved ...
21749 * grub-core/genvideolist.sh: ... to here.
21750 * gettext: Moved ...
21751 * grub-core/gettext: ... to here.
21752 * gfxmenu: Moved ...
21753 * grub-core/gfxmenu: ... to here.
21754 * gnulib: Moved ...
21755 * grub-core/gnulib: ... to here.
21756 * hello: Moved ...
21757 * grub-core/hello: ... to here.
21758 * hook: Moved ...
21759 * grub-core/hook: ... to here.
21760 * io: Moved ...
21761 * grub-core/io: ... to here.
21762 * kern: Moved ...
21763 * grub-core/kern: ... to here.
21764 * lib: Moved ...
21765 * grub-core/lib: ... to here.
21766 * loader: Moved ...
21767 * grub-core/loader: ... to here.
21768 * mmap: Moved ...
21769 * grub-core/mmap: ... to here.
21770 * normal: Moved ...
21771 * grub-core/normal: ... to here.
21772 * partmap: Moved ...
21773 * grub-core/partmap: ... to here.
21774 * parttool: Moved ...
21775 * grub-core/parttool: ... to here.
21776 * script: Moved ...
21777 * grub-core/script: ... to here.
21778 * term: Moved ...
21779 * grub-core/term: ... to here
21780 * tests/example_functional_test.c: Moved ...
21781 * grub-core/tests/example_functional_test.c: ... to here.
21782 * tests/lib/functional_test.c: Moved ...
21783 * grub-core/tests/lib/functional_test.c: ... to here.
21784 * tests/lib/test.c: Moved ...
21785 * grub-core/tests/lib/test.c: ... to here.
21786 * video: Moved ...
21787 * grub-core/video: ... to here.
21788
645586e6
BC
217892010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21790
21791 Replace --enable-grub-emu-modules with grub-emu-lite.
21792
21793 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21794 cache.S.
21795
21796 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21797 * kern/emu/full.c: New file. For grub-emu specific initialization.
21798 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21799 * kern/emu/main.c: Call initialization function grub_emu_init.
21800
21801 * Makefile.in: Include grub-emu-lite in install.
21802 * commands/parttool.c: Use grub_no_autoload to differentiate
21803 between grub-emu and grub-emu-lite.
21804 * include/grub/misc.h: New variable grub_no_autoload.
21805
21806 * conf/any-emu.rmk: New rules for grub-emu-lite.
21807 * configure.ac: Remove --enable-grub-emu-modules.
21808 * genmk.rb: Cleanup unnecessary rules.
21809 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21810
21811 * normal/main.c: Don't load list files on grub-emu-lite.
21812 * util/misc.c (grub_arch_sync_caches): Removed.
21813
f86a4030
CW
218142010-08-23 Colin Watson <cjwatson@ubuntu.com>
21815
21816 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21817 grub-mkimage rather than grub-mkelfimage.
21818 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21819
06776944
VS
218202010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21823 a key after CapsLock or NumLock. It's just a qemu bug.
21824
df262419
VS
218252010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21828 needed by libusb wrapper.
21829
b40ea81b
ST
218302010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21831
21832 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21833
dee50575
VS
218342010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21837 --nounzip is passed.
21838
fb1d7b79
VS
218392010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 USB hotunplugging and USB serial support.
21842
21843 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21844 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21845 (grub_uhci_transfer): Respect timeout and set *actual.
21846 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21847 non-standard length.
21848 (grub_usb_device_attach): Autoload modules.
21849 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21850 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21851 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21852 users updated.
21853 (grub_usb_add_hub): Fill nports and children.
21854 (attach_root_port): Receive hub instead of controller.
21855 All users updated. Fill hub->devices.
21856 (grub_usb_root_hub): Allocate hub->devices.
21857 (detach_device): New function.
21858 (poll_nonroot_hub): Fill children and detach devices.
21859 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21860 actual arguments. All users updated.
21861 (grub_usb_bulk_read_extended): New function.
21862 * bus/usb/serial/common.c: New file.
21863 * bus/usb/serial/ftdi.c: Likewise.
21864 * bus/usb/serial/pl2303.c: Likewise.
21865 * commands/terminal.c (handle_command): Support wildcard.
21866 * commands/usbtest.c: Output "Unknown" instead of empty string.
21867 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21868 (usbserial_common_mod_SOURCES): New variable.
21869 (usbserial_common_mod_CFLAGS): Likewise.
21870 (usbserial_common_mod_LDFLAGS): Likewise.
21871 (pkglib_MODULES): Add usbserial_pl2303.mod.
21872 (usbserial_pl2303_mod_SOURCES): New variable.
21873 (usbserial_pl2303_mod_CFLAGS): Likewise.
21874 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21875 (pkglib_MODULES): Add usbserial_ftdi.mod.
21876 (usbserial_ftdi_mod_SOURCES): New variable.
21877 (usbserial_ftdi_mod_CFLAGS): Likewise.
21878 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21879 (pkglib_MODULES): Add serial.mod.
21880 (serial_mod_SOURCES): New variable.
21881 (serial_mod_CFLAGS): Likewise.
21882 (serial_mod_LDFLAGS): Likewise.
21883 * conf/i386-pc.rmk: Likewise.
21884 * conf/mips-yeeloong.rmk: Likewise.
21885 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21886 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21887 * disk/usbms.c (first_available_slot): New variable.
21888 (grub_usbms_attach): Don't reuse free slots due to potential cache
21889 problems.
21890 * include/grub/serial.h: Moved to ..
21891 * include/grub/ns8250.h: ...this.
21892 * include/grub/serial.h: New file.
21893 * include/grub/term.h (grub_term_poll_usb): New variable.
21894 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21895 readkey. All users updated.
21896 (grub_terminfo_output_state): Pass term to put.
21897 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21898 (grub_usb_controller_dev): Add timeout and actual arguments to
21899 transfer. All users updated.
21900 (grub_usb_interface): New field detach_data.
21901 (grub_usb_device): New fields children and nports.
21902 (grub_usb_ep_type_t): New type.
21903 (grub_usb_get_ep_type): New function.
21904 (grub_usb_bulk_read_extended): Likewise.
21905 * include/grub/usbdesc.h (grub_usb_desc): New type.
21906 * include/grub/usbserial.h: New file.
21907 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21908 * kern/term.c (grub_term_poll_usb): New variable.
21909 (grub_getkey): Call grub_term_poll_usb if set.
21910 (grub_checkkey): Likewise.
21911 (grub_getkeystatus): Likewise.
21912 * term/serial.c: Moved controller-specific parts to ...
21913 * term/ns8250.c: ... here.
21914 * term/serial.c: Mostly rewritten.
21915 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21916 according to spec.
21917
21a313de
RM
219182010-08-20 Robert Millan <rmh@gnu.org>
21919
21920 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21921 a separate module and maybe other interesting combinations.
21922
21923 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21924 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21925 (kfreebsd_entry): Add generic filesystem module load routine.
21926 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21927
63c734a6
CW
219282010-08-20 Colin Watson <cjwatson@ubuntu.com>
21929
21930 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21931 "numcenter" (I misunderstood the purpose of this entry).
21932 * docs/grub.texi (sendkey): Likewise.
21933
c4d16542
CW
219342010-08-20 Colin Watson <cjwatson@ubuntu.com>
21935
21936 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21937 status flag options; simply omitting the option is equivalent and
21938 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21939 (keysym_table): Rename "num5numlock" to "numlock".
21940 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21941 can uniformly say that only the last of multiple `sendkey'
21942 invocations has any effect.
21943 * docs/grub.texi (sendkey): New section.
21944
93541d66
CW
219452010-08-19 Colin Watson <cjwatson@ubuntu.com>
21946
21947 * commands/i386/pc/sendkey.c (options): Fix three typos.
21948
b4ece5e1
VS
219492010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 Implement sendkey support.
21952
21953 * commands/i386/pc/sendkey.c: New file.
21954 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21955 (sendkey_mod_SOURCES): New variable.
21956 (sendkey_mod_CFLAGS): Likewise.
21957 (sendkey_mod_LDFLAGS): Likewise.
21958
51f1f5af
CW
219592010-08-18 Colin Watson <cjwatson@ubuntu.com>
21960
21961 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21962 fix warnings from Autoconf.
21963
9da94e05
CW
219642010-08-18 Colin Watson <cjwatson@ubuntu.com>
21965
21966 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21967 to avoid false positives with some assemblers that output things
21968 like "someprefix_func" as part of their output.
21969
729a0f2e
RM
219702010-08-15 Robert Millan <rmh@gnu.org>
21971
21972 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21973 errors.
21974 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21975 grub_get_libzfs_handle() errors.
21976
f3710e08
RM
219772010-08-14 Robert Millan <rmh@gnu.org>
21978
21979 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21980 filesystem is not ZFS.
21981
7a3c13de
BC
219822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21983
21984 Fix for misspelled color names defaulting to black/black (bug
21985 reported by Doug Nazar)
21986
21987 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21988 status to prototype.
21989 * normal/color.c (grub_parse_color_name_pair): Return failure
21990 status.
21991 (grub_env_write_color_normal): Ignore bad color names.
21992 (grub_env_write_color_highlight): Likewise.
21993 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21994
ab8ba50d
BC
219952010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21996
21997 "shift" command support to GRUB script.
21998
21999 * include/grub/script_sh.h (grub_script_shift): New prototype.
22000 * script/execute.c (grub_script_shift): New function.
22001 * script/main.c (grub_script_init): Register shift command.
22002 (grub_script_fini): Unregister shift command.
22003 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22004
22005 * tests/grub_script_shift.in: New testcase.
22006 * conf/tests.rmk: Rules for new testcase.
22007
4d61999e
BC
220082010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22009
22010 "continue" command support to GRUB script.
22011
22012 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22013 (grub_script_break): Continue support.
22014 * script/main.c (grub_script_init): Register continue command.
22015 (grub_script_fini): Unregister continue command.
22016
22017 * tests/grub_script_continue.in: New testcase.
22018 * conf/tests.rmk: Rules for new testcase.
22019
4df51e00
BC
220202010-08-12 BVK Chaitanya <bvk@dbook>
22021
22022 "break" command support to GRUB script.
22023
22024 * conf/common.rmk: Rule updates to grub-script-check.
22025 * include/grub/misc.h (grub_min): New function.
22026 * include/grub/script_sh.h (grub_script_init): New prototype.
22027 (grub_script_fini): New prototype.
22028 (grub_script_break): New prototype.
22029 * script/main.c (grub_script_init): New function.
22030 (grub_script_fini): New function.
22031 * script/execute.c (grub_script_break): New function.
22032 * normal/main.c: Calls to grub_script_{init,fini}.
22033 * util/grub-script-check.c (grub_script_break): New function.
22034
22035 * tests/grub_script_break.in: New testcase.
22036 * conf/tests.rmk: Rules for new test case.
22037
f12c8420
BC
220382010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22039
22040 Function parameters support to GRUB script.
22041
22042 * script/yylex.l (VARIABLE): Regular expression update.
22043 * script/function.c (grub_script_function_call): Moved ...
22044 * script/execute.c (grub_script_function_call): ... to here.
22045 (grub_script_execute_arglist_to_argv): Removed.
22046 (grub_script_arglist_to_argv): New function.
22047 * script/argv.c: New file.
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 * include/grub/script_sh.h (grub_script_argv): New struct.
22053 (grub_script_argv_free): New function.
22054 (grub_script_argv_next): Likewise.
22055 (grub_script_argv_append): Likewise.
22056 (grub_script_argv_split_append): Likewise.
22057
22058 * conf/common.rmk (normal.mod): New source script/argv.c.
22059
22060 * tests/grub_script_echo1.in: More tests.
22061 * tests/grub_script_vars1.in: Likewise.
22062 * tests/grub_script_functions.in: New test case.
22063 * conf/tests.rmk: Rules for new testcase.
22064
8022b748
BC
220652010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22066
22067 Remove grub_script_cmdblock struct.
22068
22069 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22070 * script/parser.y: Likewise.
22071 * script/execute.c: Rename cmdblock suffix to cmdlist.
22072 * script/script.c: Likewise.
22073 * util/grub-script-check.c: Likewise.
22074
79a6ba61
YB
220752010-08-11 Yves Blusseau <blusseau@zetam.org>
22076
22077 * .bzrignore: add grub-macho2img
22078
d04b9414
VS
220792010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22082
f947ab49
VS
220832010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 Remove the dump of sm712 initialisation sequence.
22086
22087 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22088 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22089 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22090 (GRUB_VGA_CR_*): Added many registers.
22091 (GRUB_VGA_SR_*): Likewise.
22092 (GRUB_VGA_GR_*): Likewise.
22093 (grub_vga_write_arx): New function.
22094 (grub_video_hw_config): New struct.
22095 (grub_vga_set_geometry): New function.
22096 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22097 GRUB_PCI_CLASS_SUBCLASS_VGA.
22098 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22099 * video/sm712.c (grub_sm712_write_reg): New function
22100 (grub_sm712_read_reg): Likewise.
22101 (grub_sm712_sr_write): Likewise.
22102 (grub_sm712_gr_write): Likewise.
22103 (grub_sm712_cr_write): Likewise.
22104 (grub_sm712_write_arx): Likewise.
22105 (grub_sm712_cr_shadow_write): Likewise.
22106 (grub_sm712_write_dda_lookup): Likewise.
22107 (grub_video_sm712_setup): Initialise the video rather then
22108 blindly replay the dump.
22109 (main) [TEST]: Add a routine to be able to compile as standalone for
22110 tests.
22111 * video/sm712_init.c (sm712_init): Removed.
22112 (sm712_sr_seq1): New array.
22113 (sm712_sr_seq2): Likewise.
22114
f0206638
VS
221152010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 * include/grub/vga.h: Add missing grub/pci.h include.
22118
2764da3b
YB
221192010-08-10 Yves Blusseau <blusseau@zetam.org>
22120
22121 * util/grub-macho2img.c (main): fix typo
22122
cf0c775e
VS
221232010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22126 (grub_vga_gr_read): Likewise.
22127 (grub_vga_cr_write): Likewise.
22128 (grub_vga_cr_read): Likewise.
22129 (grub_vga_sr_write): Likewise.
22130 (grub_vga_sr_read): Likewise.
22131 (grub_vga_palette_read): Likewise.
22132 (grub_vga_palette_write): Likewise.
22133 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22134 (grub_sm712_sr_read): New function.
22135 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22136 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22137
07f360e9
RM
221382010-08-09 Robert Millan <rmh@gnu.org>
22139
22140 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22141 out unused variables on non-ZFS build.
22142
346c2072
RM
221432010-08-08 Robert Millan <rmh@gnu.org>
22144
22145 Fix path generation for sub-filesystems in ZFS.
22146
22147 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22148 missing slash.
22149
71175420
RM
221502010-08-08 Robert Millan <rmh@gnu.org>
22151
22152 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22153
0d8286f3
RM
221542010-08-08 Robert Millan <rmh@gnu.org>
22155
22156 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22157 exist, issue a proper error message (rely on `ls' for translated
22158 strings).
22159
55dd2924
RM
221602010-08-08 Robert Millan <rmh@gnu.org>
22161
22162 Fix grub-probe invocation.
22163
22164 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22165
d3dd9e80
RM
221662010-08-04 Robert Millan <rmh@gnu.org>
22167
22168 * configure.ac: Remove checks for getfsstat() and getmntany().
22169 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22170 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22171 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22172 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22173 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22174 function.
22175 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22176 via find_mount_point_from_dir() and getfsstat() / getmntany().
22177
0de22aa9
RM
221782010-08-04 Robert Millan <rmh@gnu.org>
22179
22180 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22181 (grub_find_zpool_from_mount_point): Merge into ...
22182 (grub_find_zpool_from_dir): ... this.
22183 * kern/emu/misc.c: Likewise.
22184
22185 * kern/emu/misc.c
22186 (grub_make_system_path_relative_to_its_root): Replace
22187 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22188 with grub_find_zpool_from_dir().
22189 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22190
62858144
RM
221912010-08-04 Robert Millan <rmh@gnu.org>
22192
22193 Support OpenSolaris in ZFS device resolution.
22194
22195 * configure.ac: Check for getmntany().
22196 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22197 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22198 support.
22199
9dd6fd50
RM
222002010-08-03 Robert Millan <rmh@gnu.org>
22201
22202 Fix grub-emu build.
22203
22204 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22205 * include/grub/emu/misc.h: ... here.
22206
22207 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22208 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22209
22210 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22211 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22212 (grub_get_libzfs_handle): Move to ...
22213 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22214 (grub_get_libzfs_handle): ... here.
22215
c9f7ff97
BC
222162010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22217
22218 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22219 as command name case.
22220
a870a783
CW
222212010-08-02 Colin Watson <cjwatson@ubuntu.com>
22222
22223 * disk/raid.c (insert_array): Select unique numbers for named arrays
22224 as well, for use as keys in the disk cache.
22225
c7db243b
RM
222262010-08-01 Robert Millan <rmh@gnu.org>
22227
22228 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22229 kFreeBSD device name, except on ZFS where the filesystem label is
22230 used.
22231 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22232 `/boot/zfs/zpool.cache'.
22233 Set mountfrom kernel variable using ${kfreebsd_device}.
22234
f7abdefb
RM
222352010-08-01 Robert Millan <rmh@gnu.org>
22236
22237 Make it even harder to use uninitialized `libzfs_handle' (and
22238 make the interface a bit simpler).
22239
22240 * include/grub/util/misc.h (grub_util_init_libzfs)
22241 (libzfs_handle): Remove.
22242 (grub_get_libzfs_handle): New prototype.
22243
22244 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22245 attribute.
22246 (grub_util_init_libzfs): Remove.
22247 (grub_get_libzfs_handle): New function.
22248
22249 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22250 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22251 accessing `libzfs_handle' directly.
22252
c882acc0
RM
222532010-08-01 Robert Millan <rmh@gnu.org>
22254
22255 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22256 (grub_find_zpool_from_mount_point): New function prototypes.
22257
22258 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22259 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22260
22261 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22262 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22263 `static' attribute.
22264
22265 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22266 finding zpool from mount point into ...
22267 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22268
22269 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22270 requested path is part of a ZFS pool, use
22271 grub_find_zpool_from_mount_point() to detect its filesystem name,
22272 and generate a path with `/fsname@path' syntax.
22273
8bfe31d8
CW
222742010-08-01 Colin Watson <cjwatson@ubuntu.com>
22275
22276 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22277 (void) rather than () so that this is a proper prototype.
22278
553df63d
VS
222792010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22282
8687cf07
VS
222832010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22286 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22287
ea9be8ea
CW
222882010-08-01 Colin Watson <cjwatson@ubuntu.com>
22289
22290 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22291
6eea041a
CW
222922010-08-01 Colin Watson <cjwatson@ubuntu.com>
22293
22294 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22295
2cfb45df
CW
222962010-08-01 Colin Watson <cjwatson@ubuntu.com>
22297
22298 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22299 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22300 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22301 disable gfxpayload.
22302 (Shell-like scripting): Add real content.
22303 (Serial terminal): Suggest `terminal_input serial; terminal_output
22304 serial' rather than putting the two commands on separate lines,
22305 since console input will be inoperative after the first command.
22306 (menuentry): Document --class, --users, and --hotkey options.
22307 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22308 Vladimir Serbinenko).
22309
7decd202
VS
223102010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
223112010-08-01 Colin Watson <cjwatson@ubuntu.com>
22312
22313 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22314
c882acc0
RM
223152010-08-01 Robert Millan <rmh@gnu.org>
22316
22317 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22318 (grub_find_zpool_from_mount_point): New function prototypes.
22319
22320 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22321 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22322
22323 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22324 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22325 `static' attribute.
22326
22327 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22328 finding zpool from mount point into ...
22329 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22330
22331 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22332 requested path is part of a ZFS pool, use
22333 grub_find_zpool_from_mount_point() to detect its filesystem name,
22334 and generate a path with `/fsname@path' syntax.
22335
deb0caa3
RM
223362010-08-01 Robert Millan <rmh@gnu.org>
22337
22338 Prevent accidental use of uninitialized libzfs_handle.
22339
22340 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22341 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22342 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22343
ce04ef47
CW
223442010-08-01 Colin Watson <cjwatson@ubuntu.com>
22345
22346 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22347 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22348
ebf53056
RM
223492010-08-01 Robert Millan <rmh@gnu.org>
22350
22351 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22352
3710bb6b
RM
223532010-07-31 Robert Millan <rmh@gnu.org>
22354
22355 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22356
8072efeb
RM
223572010-07-31 Robert Millan <rmh@gnu.org>
22358
22359 * kern/emu/misc.c: Add missing license header.
22360
3169f4c7
RM
223612010-07-31 Robert Millan <rmh@gnu.org>
22362
22363 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22364
22365 * include/grub/util/libnvpair.h: Include `<config.h>'.
22366 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22367 declaring libnvpair prototypes ourselves.
22368 * include/grub/util/libzfs.h: Include `<config.h>'.
22369 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22370 declaring libzfs prototypes ourselves.
22371
22372 (libzfs_handle): Moved to ...
22373 * include/grub/util/misc.h (libzfs_handle): ... here.
22374 Include `<grub/util/libzfs.h>'.
22375
c9a00aee
RM
223762010-07-30 Robert Millan <rmh@gnu.org>
22377
22378 * include/grub/emu/misc.h: Add missing license header.
22379
a184f9c8
RM
223802010-07-30 Robert Millan <rmh@gnu.org>
22381
22382 Enable `grub-probe -t device' resolution on ZFS.
22383
22384 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22385 * include/grub/util/libnvpair.h: New file.
22386 * include/grub/util/libzfs.h: New file.
22387
22388 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22389 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22390 `<grub/util/libnvpair.h>'.
22391 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22392
22393 (find_mount_point_from_dir): New static function.
22394 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22395 function.
22396 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22397 find_root_device_from_libzfs() before ressorting to find_root_device().
22398
22399 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22400 prototype.
22401 * util/misc.c: Include `<grub/util/libzfs.h>'.
22402 (grub_util_init_libzfs): New function.
22403 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22404 [HAVE_LIBZFS] (fini_libzfs): New static function.
22405 (grub_util_init_libzfs): New function.
22406 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22407
f7790cdd
RM
224082010-07-30 Robert Millan <rmh@gnu.org>
22409
22410 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22411 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22412 `warn_unused_result' attribute.
22413 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22414 (grub_xasprintf, grub_xvasprintf): Likewise.
22415 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22416
0806b63c
RM
224172010-07-29 Robert Millan <rmh@gnu.org>
22418
22419 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22420 (probe): Handle `PRINT_FS_LABEL'.
22421 (main): Handle `-t fs_label'.
22422
9f841f5c
RM
224232010-07-29 Robert Millan <rmh@gnu.org>
22424
22425 * configure.ac: Remove grub-mkisofs checks.
22426
46371121
VS
224272010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22430 Reported by: Lennart Sorensen.
22431
224322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22435 prior to terminal_input/terminal_output separation. It's been over 1.5
22436 years and those versions weren't widely deployed.
22437
a9600892
CW
224382010-07-22 Colin Watson <cjwatson@ubuntu.com>
22439
22440 * disk/raid.c (insert_array): Don't count named arrays when looking
22441 for unused array numbers.
697e053c 22442 Reported and tested by: Michael Guntsche.
a9600892 22443
c03507df
CW
224442010-07-20 Colin Watson <cjwatson@ubuntu.com>
22445
22446 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22447 implementation of this so that grub-emu links again, with a note
22448 that this should support hotplugging in the future.
22449
b26f1c11
CW
224502010-07-20 Colin Watson <cjwatson@ubuntu.com>
22451
22452 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22453
efc9d7f1
CW
224542010-07-20 Colin Watson <cjwatson@ubuntu.com>
22455
22456 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22457 handle on failure.
22458 (grub_loopback_close): Remove empty function.
22459 (grub_loopback_dev): Remove close method.
22460
dd8ff5c9
CW
224612010-07-20 Colin Watson <cjwatson@ubuntu.com>
22462
22463 Disable EFI cursor when the EFI console becomes inactive.
22464
22465 * term/efi/console.c (grub_efi_console_init): New function.
22466 (grub_efi_console_fini): New function.
22467 (grub_console_term_output): Register init and fini methods.
22468
5e3bec67
VS
224692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22472 sh script.
22473
afaec079
VS
224742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 * disk/loopback.c (grub_loopback): Replace filename with file.
22477 (delete_loopback): Handle new semantics.
22478 (grub_cmd_loopback): Likewise.
22479 (grub_loopback_iterate): Likewise.
22480 (grub_loopback_close): Likewise.
22481
a6a11f3c
VS
224822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22485 with -p "".
22486 Reported by: Tito Keitel.
22487
64a638b0
VS
224882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22489
22490 * docs/grub.texi (Naming convention): Document new naming convention.
22491
ab8ba957
VS
224922010-07-20 Vadim Solomin <vadic052@gmail.com>
224932010-07-20 Colin Watson <cjwatson@ubuntu.com>
22494
22495 Generate device.map in something closer to the old ordering.
22496
22497 * util/deviceiter.c (struct device): New declaration.
22498 (compare_file_names): Rename to ...
22499 (compare_devices): ... this. Sort by kernel name in preference to
22500 the stable by-id name, but keep the latter as a fallback comparison.
22501 Update header comment.
22502 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22503 of `struct device' rather than of plain file names.
22504
a29d6a4b
TF
225052010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22506
22507 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22508 on i386.
22509
39d824e8
VS
225102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22513 hardcoding size.
22514 (setv1table): Likewise.
22515
f058276b
FZ
225162010-07-20 Colin Watson <cjwatson@ubuntu.com>
22517
22518 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22519 removing the homehost if present.
22520 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22521 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22522 removing the homehost if present.
22523 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22524 if possible.
22525 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22526
22527 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22528 parameter. Set its pointer target to 0.
22529 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22530 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22531 `data_offset' value from the superblock for 1.x metadata.
22532 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22533 data on the device.
22534 (insert_array): Record the start sector of data on the device.
22535 (grub_raid_register): Pass start_sector parameters to
22536 grub_raid_list->detect and insert_array.
22537 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22538 member.
22539 (struct grub_raid): Add start_sector parameter to `detect'.
22540
22541 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22542 __attribute__ ((packed)), leaving a comment.
22543 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22544 (grub_mdraid_detect_09): ... here and ...
22545 (grub_mdraid_detect_1x): ... here.
22546
225472010-07-20 Peter Henn <peter.henn@web.de>
22548
22549 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22550 chunk size and disk size, which are already given as sector counts
22551 as distinct from the 0.90 units. Fetch the correct device number
22552 from the role table instead of using the table index.
22553
225542010-07-20 Felix Zielcke <fzielcke@z-51.de>
22555
22556 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22557 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22558 (WriteMostly1): New macro.
22559 Set array->name to NULL for metadata format 0.90. Add support for
22560 metadata 1.x. Fix some comments.
22561 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22562 few comments.
22563 * util/getroot.c (grub_util_get_grub_dev): Add support for
22564 /dev/md/name style devices.
22565
4b761da9
CW
225662010-07-20 Colin Watson <cjwatson@ubuntu.com>
22567
22568 * .bzrignore: Ignore 20_linux_xen.
22569
5771289a
CW
225702010-07-17 Colin Watson <cjwatson@ubuntu.com>
22571
22572 * util/import_unicode.py: Remove unnecessary imports.
22573
5dab68df
AN
225742010-07-17 Aleš Nesrsta <starous@volny.cz>
22575
22576 Hotplugging and USB hub support.
22577
22578 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22579 (grub_ohci): Likewise.
22580 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22581 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22582 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22583 (GRUB_OHCI_CTRL_EDS): Likewise.
22584 (GRUB_OHCI_BULK_EDS): Likewise.
22585 (GRUB_OHCI_TDS): Likewise.
22586 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22587 (grub_ohci_ed_phys2virt): New function.
22588 (grub_ohci_virt_to_phys): Likewise.
22589 (grub_ohci_td_phys2virt): Likewise.
22590 (grub_ohci_td_virt2phys): Likewise.
22591 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22592 attachment.
22593 (grub_ohci_find_ed): New function.
22594 (grub_ohci_alloc_td): Likewise.
22595 (grub_ohci_free_td): Likewise.
22596 (grub_ohci_free_tds): Likewise.
22597 (grub_ohci_transfer): Use previously allocated memory.
22598 (grub_ohci_portstatus): Reset status changed bit.
22599 (grub_ohci_detect_dev): Supply status changed.
22600 (grub_ohci_fini_hw): Free memory.
22601 (grub_ohci_restore_hw): Reallocate memory.
22602 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22603 Reset status change.
22604 (grub_uhci_detect_dev): Supply status_change.
22605 * bus/usb/usb.c (attach_hooks): New var.
22606 (grub_usb_device_attach): New function.
22607 (grub_usb_register_attach_hook_class): Likewise.
22608 (grub_usb_unregister_attach_hook_class): Likewise.
22609 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22610 (grub_usb_add_hub): Reset connection changed bit.
22611 (attach_root_port): New function.
22612 (grub_usb_root_hub): Likewise.
22613 (poll_nonroot_hub): Likewise.
22614 (grub_usb_poll_devices): Likewise.
22615 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22616 * disk/usbms.c (grub_usbms_open): Use device hooks.
22617 (grub_usbms_iterate) :Poll devices.
22618 (grub_usbms_finddevs): Split into ...
22619 (grub_usbms_attach): ... this ...
22620 (grub_usbms_attach): ... and this.
22621 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22622 in detect_dev.
22623 (grub_usb_interface): New fields attached and detach_hook.
22624 (grub_usb_attach_hook_class): New type.
22625 (grub_usb_attach_desc): New struct.
22626 (grub_usb_register_attach_hook_class): New function.
22627 (grub_usb_unregister_attach_hook_class): Likewise.
22628 (grub_usb_poll_devices): Likewise.
22629 (grub_usb_device_attach): Likewise.
22630 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22631 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22632
3222efaf
VS
226332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22636 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22637 delta determination style. Works with most NetBSD partitions too.
22638
139b714a
VS
226392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22642 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22643
986aad56
VS
226442010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22645
22646 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22647
99be513c
AB
226482010-07-14 Anton Blanchard <anton@samba.org>
22649
22650 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22651 ET_DYN files.
22652
18075f62
GS
226532010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22654
22655 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22656
8d9a5b15
GS
226572010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22658
22659 * kern/partition.c (grub_partition_check_containment): New function to
22660 check that a partition is physically contained in a parent. Since
22661 offsets are relative (and non-negative), this reduces to checking that
22662 the partition ends before its parent.
22663 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22664 (grub_partition_iterate): Likewise.
22665 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22666 comments.
22667 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22668 partitions that start before their parent, and add debug printfs.
22669
19563c25
CW
226702010-07-13 Colin Watson <cjwatson@ubuntu.com>
22671
22672 * Makefile.in (.SUFFIX): Spell correctly, as ...
22673 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22674 bare module name without `.mod', e.g. `test') tried to invoke a
22675 Modula-2 compiler.
22676
1a1f1e67
CW
226772010-07-13 Colin Watson <cjwatson@ubuntu.com>
22678
22679 * README: Point to the Info manual.
22680
811b0dca
JS
226812010-07-13 Jiro SEKIBA <jir@unicus.jp>
22682
22683 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22684 2nd superblock position from partition size.
22685
e4f4eafc
CW
226862010-07-10 Colin Watson <cjwatson@ubuntu.com>
22687
22688 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22689 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22690 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22691 outputs.
22692
4274c30f
VS
226932010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 Restructure SCSI .id handling.
22696 Reported and tested by: Aleš Nesrsta.
22697
22698 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22699 (grub_atapi_dev): Changed .name to "ata". New field .id.
22700 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22701 (grub_usbms_dev): New field .id.
22702 * disk/scsi.c (grub_scsi_iterate): Generate name.
22703 (grub_scsi_open): Parse name.
22704 * include/grub/scsi.h (grub_make_scsi_id): New function.
22705 (grub_scsi_dev): Change iterate and open to number instead of naming
22706 busses. All users updated.
22707 (grub_scsi): Remove name. Add .bus.
22708
5bc24388
VS
227092010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 * commands/help.c (grub_cmd_help): Fix a typo.
22712
249975ba
VS
227132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22716 Reported and tested by: Colin Watson.
22717
3eaac1a1
VS
227182010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22721 in this context.
22722
becce1b1
VS
227232010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22726
f7bf0918
CW
227272010-07-07 Colin Watson <cjwatson@ubuntu.com>
22728
22729 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22730 indentation.
22731
0b0f9620
CW
227322010-07-06 Colin Watson <cjwatson@ubuntu.com>
22733
22734 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22735 and disk/raid6_recover.c.
22736 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22737 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22738
1e545469
CW
227392010-07-06 Colin Watson <cjwatson@ubuntu.com>
22740
22741 * term/gfxterm.c (repaint_schedulded): Rename to ...
22742 (repaint_scheduled): ... this. Update all callers.
22743 (repaint_was_schedulded): Rename to ...
22744 (repaint_was_scheduled): ... this. Update all callers.
22745
5357687a
CW
227462010-07-06 Colin Watson <cjwatson@ubuntu.com>
22747
22748 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22749 which we expect to be handled by upper layers.
22750
29d7e783
BC
227512010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22752
22753 * bus/usb/usbhub.c: #include time.h header.
22754
37582066
CW
227552010-07-06 Colin Watson <cjwatson@ubuntu.com>
22756
22757 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22758 entry_name also for entries without stat blocks (e.g. ".."); fixes
22759 corruption of the first entry in a directory.
22760
c8c06953
CW
227612010-07-06 Colin Watson <cjwatson@ubuntu.com>
22762
22763 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22764 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22765 doesn't work otherwise.
22766
e75056f1
CW
227672010-07-05 Colin Watson <cjwatson@ubuntu.com>
22768
22769 * docs/grub.texi (Features): Update list of supported file systems.
22770 (GNU/Linux): Update for GRUB 2.
22771 (Serial terminal): Remove mention of --disable-serial, which was a
22772 GRUB Legacy configure option. Update instructions to use
22773 `terminal_input' and `terminal_output' rather than `terminal'.
22774 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22775 configuration' and `Installing GRUB using grub-install'.
22776 (Menu entry editor): Update for GRUB 2.
22777 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22778 Document new -a, -u, and -v options.
22779 (initrd): New section.
22780 (initrd16): New section.
22781 (linux): New section.
22782 (linux16): New section.
22783 (search): The `var' argument to `--set' is optional.
22784 (GRUB only offers a rescue shell): Go into a little more detail on
22785 drive ordering.
22786
5cf69151
CW
227872010-07-05 Colin Watson <cjwatson@ubuntu.com>
22788
22789 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22790
e3f90044
CW
227912010-07-05 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22794 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22795
38d8f4f3
CW
227962010-07-05 Colin Watson <cjwatson@ubuntu.com>
22797
22798 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22799 install_prefix, in line with install_dos_part and install_bsd_part.
22800 Add new prefix variable, which is copied to install_prefix after
22801 comparing core.img in memory with the one read from disk in the
22802 no-embedding case, and use that rather than overwriting
22803 install_prefix immediately when installing to a partition.
22804 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22805 Bicakci.
22806
57ebd41e
GS
228072010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22808
22809 * configure.ac: Avoid == in test command, it's not portable.
22810 * util/grub.d/30_os-prober.in: Likewise.
22811
cb7f64b2
CW
228122010-07-04 Colin Watson <cjwatson@ubuntu.com>
22813
22814 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22815
6b654bb0
GS
228162010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22817
22818 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22819 multiple (top-level) partmaps.
22820
72a2026d
VS
228212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22822
22823 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22824 Reported by: Tino Keitel.
72a2026d 22825
df3eb88f
VS
228262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22827
22828 Bidi and diacritics support.
22829
22830 * Makefile.in (widthspec.bin): New target.
22831 (widthspec.h): Likewise.
22832 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22833 * autogen.sh: Generate unidata.c.
22834 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22835 * commands/ls.c (grub_ls_list_devices): Likewise.
22836 (grub_ls_list_files): Likewise.
22837 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22838 (grub_mini_cmd_lsmod): Likewise.
22839 * commands/read.c: Likewise.
22840 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22841 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22842 * lib/arg.c (grub_arg_show_help): Likewise.
22843 * lib/crypto.c (grub_password_get): Likewise.
22844 * normal/auth.c (grub_username_get): Likewise.
22845 * normal/misc.c (grub_normal_print_device_info): Likewise.
22846 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22847 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22848 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22849 (normal/charset.c_DEPENDENCIES): New variable.
22850 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22851 (pkglib_MODULES): Remove charset.mod.
22852 (charset_mod_SOURCES): Removed.
22853 (charset_mod_CFLAGS): Likewise.
22854 (charset_mod_LDFLAGS): Likewise.
22855 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22856 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22857 and term/tparm.c.
22858 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22859 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22860 (kernel_img_HEADERS): Add terminfo.h.
22861 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22862 Fill ->font. Reverse ascii bitmaps.
22863 (grub_font_get_xheight): New function.
22864 * font/font.c (grub_font_get_string_width): Moved from here ...
22865 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22866 * font/font.c (grub_font_draw_string): Moved from here ...
22867 * gfxmenu/font.c (grub_font_draw_string): ... here.
22868 * font/font.c (grub_font_dup_glyph): New function.
22869 (grub_font_blit_glyph): Likewise.
22870 (grub_font_blit_glyph_mirror): Likewise.
22871 (blit_comb): Likewise.
22872 (grub_font_construct_dry_run): Likewise.
22873 (grub_font_get_constructed_device_width): Likewise.
22874 (grub_font_construct_glyph): Likewise.
22875 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22876 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22877 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22878 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22879 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22880 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22881 (grub_font_get_xheight): New proto.
22882 (grub_font_get_constructed_device_width): Likewise.
22883 (grub_font_construct_glyph): Likewise.
22884 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22885 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22886 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22887 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22888 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22889 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22890 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22891 (grub_console_getcharwidth): Likewise.
22892 * include/grub/misc.h (grub_xputs): New proto.
22893 (grub_puts): Inlined.
22894 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22895 (grub_normal_get_line_counter): Removed.
22896 (grub_install_newline_hook): Likewise.
22897 (grub_normal_get_char_counter): New proto.
22898 (grub_normal_reset_more): Likewise.
22899 (grub_xputs_normal): Likewise.
22900 * include/grub/powerpc/ieee1275/console.h: Removed.
22901 * include/grub/sparc64/ieee1275/console.h: Likewise.
22902 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22903 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22904 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22905 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22906 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22907 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22908 (grub_term_input): Pass reference to self. All users updated.
22909 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22910 Pass reference to self. New fields normal_color, highlight_color and
22911 data. All users updated.
22912 (grub_putchar): Removed.
22913 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22914 (grub_unicode_estimate_width): New function.
22915 (grub_term_getcharwidth): Add defaults.
22916 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22917 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22918 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22919 (grub_cls): Remove EXPORT_FUNC.
22920 (grub_setcolorstate): Inline.
22921 (grub_newline_hook): Removed.
22922 * include/grub/terminfo.h: Rewritten. All users updated.
22923 * include/grub/unicode.h: New file.
22924 * include/grub/video.h (grub_video_signed_rect): New type.
22925 * kern/emu/console.c (grub_console_highlight_color): Removed.
22926 (grub_console_normal_color): Likewise.
22927 (grub_console_standard_color): Made static.
22928 (grub_ncurses_putchar): Remove mapping.
22929 (grub_ncurses_getcharwidth): Removed.
22930 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22931 (grub_ncurses_setcolor): Removed.
22932 (grub_ncurses_getcolor): Likewise.
22933 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22934 (grub_console_putchar): ... this.
22935 (grub_console_putchar): Handle argument difference.
22936 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22937 console_init_early and console_init_lately.
22938 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22939 * kern/misc.c (grub_puts): Removed.
22940 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22941 (grub_vsnprintf_real): Remove str = NULL support.
22942 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22943 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22944 * kern/term.c (grub_putcode): Renamed to ...
22945 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22946 (grub_putchar): Removed.
22947 (grub_xputs_dumb): New function.
22948 (grub_xputs): New variable.
22949 * lib/charset.c: Move from here ...
22950 * normal/charset.c: ... to here.
22951 (grub_ucs4_to_utf8): New function.
22952 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22953 (join_types): New variable.
22954 (unpack_join): New function.
22955 (bidi_types): New variable.
22956 (unpack_bidi): New function.
22957 (get_bidi_type): Likewise.
22958 (get_join_type): Likewise.
22959 (is_mirrored): Likewise.
22960 (grub_unicode_get_comb_type): Likewise.
22961 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22962 (is_type_after): Likewise.
22963 (grub_unicode_aglomerate_comb): Likewise.
22964 (bidi_line_wrap): Likewise.
22965 (grub_bidi_line_logical_to_visual): Likewise.
22966 (grub_bidi_logical_to_visual): Likewise.
22967 (grub_unicode_mirror_code): Likewise.
22968 (grub_unicode_shape_code): Likewise.
22969 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22970 Don't use grub_putchar.
22971 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22972 (grub_normal_reader_init): Likewise.
22973 (grub_xputs_saved): New variable.
22974 (GRUB_MOD_INIT): Set grub_xputs.
22975 (GRUB_MOD_FINI): Restore grub_xputs.
22976 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22977 (menu_init): Avoid printing gfxmenu error.
22978 (show_menu): Use grub_normal_get_char_counter.
22979 * normal/menu_entry.c (update_screen): Fix out-of-array.
22980 (complete): Avoid NULL dereferencing.
22981 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22982 * normal/menu_text.c (print_spaces): Removed.
22983 (grub_print_ucs4): Likewise.
22984 (grub_print_message_indented): Use grub_print_ucs4.
22985 (print_message): Use grub_putcode.
22986 (print_entry): Hanlde diacritics.
22987 * normal/term.c (term_state): New type.
22988 (grub_more_lines): Removed.
22989 (term_states): New variable.
22990 (grub_normal_line_counter): Renamed to ..
22991 (grub_normal_char_counter): ...this. All users updated.
22992 (grub_normal_get_line_counter): Renamed to ...
22993 (grub_normal_get_char_counter): ... this.
22994 (grub_normal_reset_more): New function.
22995 (process_newline): Removed.
22996 (print_more): New function.
22997 (grub_install_newline_hook): Removed.
22998 (map_code): New function.
22999 (grub_puts_terminal): Use grub_print_ucs4.
23000 (putglyph): New function.
23001 (putcode_real): Likewise.
23002 (grub_putcode): Use putcode_real.
23003 (get_maxwidth): New function.
23004 (get_startwidth): Likewise.
23005 (print_ucs4_terminal): Likewise.
23006 (find_term_state): Likewise.
23007 (put_glyphs_terminal): Likewise.
23008 (print_backlog): Likewise.
23009 (print_ucs4_real): Likewise.
23010 (grub_print_ucs4): Likewise.
23011 (grub_xputs_normal): Likewise.
23012 * term/efi/console.c (grub_console_putchar): Output diacritics.
23013 (grub_console_getcharwidth): Removed.
23014 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23015 * term/gfxterm.c (clear_char): Free chars.
23016 (scroll_up): Avoid leaking memory.
23017 (grub_gfxterm_putchar): Support diacritics.
23018 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23019 * term/i386/pc/console.c (grub_console_term_output): Declare as
23020 GRUB_TERM_CODE_TYPE_VGA.
23021 * term/i386/pc/vga.c (grub_vga_term): Declare as
23022 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23023 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23024 GRUB_TERM_CODE_TYPE_VGA.
23025 * term/i386/vga_common.c (map_char): Removed.
23026 (grub_console_putchar): Likewise.
23027 (grub_console_getcharwidth): Likewise.
23028 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23029 (colors): Reordered to match terminfo.
23030 (grub_ofconsole_normal_color): Removed.
23031 (grub_ofconsole_writeesc): Likewise.
23032 (grub_ofconsole_highlight_color): Likewise.
23033 (grub_ofconsole_getcharwidth): Likewise.
23034 (grub_ofconsole_setcolorstate): Likewise.
23035 (grub_ofconsole_setcolor): Likewise.
23036 (grub_ofconsole_getcolor): Likewise.
23037 (grub_ofconsole_readkey): Renamed to ...
23038 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23039 key.
23040 (grub_ofconsole_checkkey): Removed.
23041 (grub_ofconsole_getkey): Likewise.
23042 (grub_ofconsole_getxy): Likewise.
23043 (grub_ofconsole_gotoxy): Likewise.
23044 (grub_ofconsole_cls): Likewise.
23045 (grub_ofconsole_refresh): Likewise.
23046 (grub_ofconsole_terminfo_input): New struct.
23047 (grub_ofconsole_terminfo_output): Likewise.
23048 (grub_ofconsole_term_input): Use terminfo.
23049 (grub_ofconsole_term_output): Likewise.
23050 (grub_console_init): Split into ...
23051 (grub_console_init_early): ...this and ...
23052 (grub_console_init_lately): ...this. Use terminfo.
23053 (grub_ofconsole_putchar): Renamed to ...
23054 (put): ... this. Remove mapping.
23055 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23056 * term/serial.c: Simplify using terminfo.
23057 (xpos): Removed.
23058 (ypos): Likewise.
23059 (keep_track): Likewise.
23060 (registered): Likewise.
23061 (input_buf): Likewise.
23062 (npending): Likewise.
23063 (serial_translate_key_sequence): Likewise.
23064 (fill_input_buf): Likewise.
23065 (grub_serial_checkkey): Likewise.
23066 (grub_serial_getkey): Likewise.
23067 (grub_serial_getxy): Likewise.
23068 (grub_serial_gotoxy): Likewise.
23069 (grub_serial_putchar): Likewise.
23070 (grub_serial_cls): Likewise.
23071 (grub_serial_setcolorstate): Likewise.
23072 (grub_serial_setcursor): Likewise.
23073 (serial_hw_init): Use serial_hw_fetch.
23074 (grub_serial_terminfo_input): New variable.
23075 (grub_serial_terminfo_output): Likewise.
23076 (grub_serial_term_input): Use terminfo.
23077 (grub_serial_term_output): Likewise.
23078 * term/terminfo.c (putstr): Use put.
23079 (grub_terminfo_all_free): New function
23080 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23081 (grub_terminfo_output_register): New function.
23082 (grub_terminfo_output_unregister): Likewise.
23083 (grub_terminfo_getxy): Likewise.
23084 (grub_terminfo_readkey): Likewise.
23085 (grub_terminfo_checkkey): Likewise.
23086 (grub_terminfo_getkey): Likewise.
23087 (grub_terminfo_input_init): Likewise.
23088 (print_terminfo): Likewise.
23089 (grub_cmd_terminfo): Handle encoding.
23090 (grub_terminfo_gotoxy): Track position.
23091 (grub_terminfo_cls): Likewise.
23092 (grub_terminfo_putchar): Likewise.
23093 (grub_terminfo_setcolorstate): Handle colors
23094 (grub_terminfo_cursor_on): This ...
23095 (grub_terminfo_cursor_off): ... and this merged into ...
23096 (grub_terminfo_setcursor): ... this.
23097 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23098 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23099 * unicode/BidiMirroring.txt: Likewise.
23100 * unicode/UnicodeData.txt: Likewise.
23101 * unicode/COPYING: Likewise.
23102 * util/grub-editenv.c (grub_putchar): Removed.
23103 (grub_xputs_real): New function.
23104 (grub_xputs): New variable.
23105 * util/grub-fstest.c (grub_putchar): Removed.
23106 (grub_xputs_real): New function.
23107 (grub_xputs): New variable.
23108 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23109 (grub_xputs_real): New function.
23110 (grub_xputs): New variable.
23111 * util/grub-probe.c (grub_putchar): Removed.
23112 (grub_xputs_real): New function.
23113 (grub_xputs): New variable.
23114 * util/grub-script-check.c (grub_putchar): Removed.
23115 (grub_xputs_real): New function.
23116 (grub_xputs): New variable.
23117 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23118 (grub_xputs_real): New function.
23119 (grub_xputs): New variable.
23120 * util/import_unicode.py: New file.
23121 * util/grub-mkfont.c (ft_errmsgs): New array.
23122 (grub_glyph_info): Make bitmap a pointer.
23123 (file_formats): New type WIDTH_SPEC.
23124 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23125 (options): Add width-spec.
23126 (help): Likewise.
23127 (add_char): Renamed to ...
23128 (add_glyph): ... this.
23129 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23130 (glyph_replace): New type.
23131 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23132 (add_char): New function.
23133 (add_subst): Likewise.
23134 (process_cursive): Likewise.
23135 (add_font): Handle GSUB.
23136 (write_font_width_spec): New function.
23137 (main): Sort glyphs.
23138 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23139 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23140 * kern/term.c (grub_cls): Moved from here...
23141 * normal/term.c (grub_cls): ... here.
23142
50f0bcda
CW
231432010-07-02 Colin Watson <cjwatson@ubuntu.com>
23144
23145 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23146 suitable for using within the format argument of printf when
23147 converting grub_size_t.
23148 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23149 "x" to convert grub_size_t arguments.
23150
40372103
VS
231512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23154 too long captions.
23155 (list_get_minimal_size): Take selection box into account.
23156
942a10c7
VS
231572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23160 NULL font.
23161
2bdb2892
CW
231622010-07-02 Colin Watson <cjwatson@ubuntu.com>
23163
23164 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23165 devices when iterating over /dev/disk/by-id; they will be handled
23166 later if appropriate, which they aren't always (e.g. LVM).
23167
e03ed6c1
CW
231682010-07-02 Colin Watson <cjwatson@ubuntu.com>
23169
23170 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23171 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23172 fails.
23173 (grub_halt): Likewise.
23174 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23175 reset-all fails.
23176 (grub_halt): Don't return, even if all of shut-down, power-off, and
23177 poweroff fail.
23178
47695765
CW
231792010-07-02 Colin Watson <cjwatson@ubuntu.com>
23180
23181 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23182 arguments, not three.
23183
507736c8
CW
231842010-07-02 Colin Watson <cjwatson@ubuntu.com>
23185
23186 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23187 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23188 LVM-on-RAID is handled correctly.
23189
e3c8cd37
CW
231902010-07-02 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * docs/grub.texi (Changes from GRUB Legacy): New section.
23193 (Future): Fix typo.
23194
8d4a2fec
CW
231952010-07-02 Colin Watson <cjwatson@ubuntu.com>
23196
23197 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23198 grub.d/README accidentally ends up executable for one reason or
23199 another. Ignore it.
23200
1c4827be
VS
232012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23204 (gpt_partition_map_iterate): Support non-512B sectors.
23205
d9a0c941
VS
232062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23209 Tested by: Seth Goldberg.
23210
48f27e87
VS
232112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23214 Properly align mbi.
23215 Reported by: Seth Goldberg.
23216
b0c4f956
VS
232172010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23218
23219 * util/grub-mkrescue.in: Avoid module duplication.
23220
105a2e8c
SF
232212010-07-01 Sean Finney <seanius@seanius.net>
23222
23223 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23224
5944958c
SF
232252010-07-01 Sean Finney <seanius@seanius.net>
23226
23227 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23228
232292010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23230
23231 * disk/lvm.c (grub_lvm_checkvalue): New function.
23232 (grub_lvm_check_flag): Likewise.
23233
b79889ba
RM
232342010-07-01 Robert Millan <rmh@gnu.org>
23235
23236 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23237 Support 'p' as partition separator on kernel of FreeBSD (used
23238 with GPT labels).
23239 (grub_util_biosdisk_get_grub_dev): Likewise.
23240
ec1d04f1
VS
232412010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 Yeeloong firmware port.
23244
23245 * boot/mips/yeeloong/fwstart.S: New file.
23246 * bus/cs5536.c (gpiodump): New const.
23247 (set_io_space): New function.
23248 (set_iod): Likewise.
23249 (set_p2d): Likewise.
23250 (grub_cs5536_init_geode): Likewise.
23251 * commands/mips/yeeloong/lsspd.c: New file.
23252 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23253 (serial_mod_SOURCES): New variable.
23254 (serial_mod_CFLAGS): Likewise.
23255 (serial_mod_LDFLAGS): Likewise.
23256 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23257 term/terminfo.c and term/tparm.c.
23258 (pkglib_IMAGES): Add fwstart.img.
23259 (fwstart_img_SOURCES): New variable.
23260 (fwstart_img_CFLAGS): Likewise.
23261 (fwstart_img_ASFLAGS): Likewise.
23262 (fwstart_img_LDFLAGS): Likewise.
23263 (fwstart_img_FORMAT): Likewise.
23264 (pkglib_MODULES): Add lsspd.mod.
23265 (lsspd_mod_SOURCES): New variable.
23266 (lsspd_mod_CFLAGS): Likewise.
23267 (lsspd_mod_LDFLAGS): Likewise.
23268 (pkglib_MODULES): Add halt.mod.
23269 (halt_mod_SOURCES): New variable.
23270 (halt_mod_CFLAGS): Likewise.
23271 (halt_mod_LDFLAGS): Likewise.
23272 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23273 (serial_mod_SOURCES): Removed.
23274 (serial_mod_CFLAGS): Likewise.
23275 (serial_mod_LDFLAGS): Likewise.
23276 * disk/ata.c (check_device): New function.
23277 (grub_ata_device_initialize): Use check_device.
23278 (grub_ata_iterate): Recheck devices.
23279 (grub_ata_open): Likewise.
23280 (grub_atapi_iterate): Likewise.
23281 (grub_atapi_open): Likewise.
23282 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23283 (GRUB_ATA_CH1_PORT1): Likewise.
23284 (GRUB_ATA_CH0_PORT2): Likewise.
23285 (GRUB_ATA_CH1_PORT2): Likewise.
23286 * include/grub/mips/loongson.h: New file.
23287 * include/grub/mips/yeeloong/ec.h: Likewise.
23288 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23289 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23290 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23291 * include/grub/misc.h (grub_halt): Declare as noreturn.
23292 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23293 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23294 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23295 (UART_ENABLE_DTRRTS): Likewise.
23296 (UART_ENABLE_MODEM): Removed.
23297 (UART_ENABLE_OUT2): New const.
23298 * include/grub/term.h (grub_term_register_input_active): New function.
23299 (grub_term_register_output_active): Likewise.
23300 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23301 argument.
23302 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23303 (init_pci): New function.
23304 (grub_machine_init): Execute platform init when firmware. Init serial.
23305 (grub_halt): Implement.
23306 (grub_exit): Likewise.
23307 (grub_reboot): Likewise.
23308 * term/serial.c (serial_hw_init): Update macros.
23309 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23310 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23311 (image_targets): New target mipsel-yeeloong-flash.
23312 (generate_image): Support IMAGE_YEELOONG_FLASH.
23313 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23314 (grub_video_sm712_setup): Init card.
23315 (grub_video_sm712_set_palette): Removed.
23316 * video/sm712_init.c: New file.
23317
ff4a70d2
CW
233182010-06-30 Colin Watson <cjwatson@ubuntu.com>
23319
23320 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23321 PATH when running help2man and then run it on the unadorned
23322 executable names, rather than passing $(builddir)/* paths to
23323 help2man. This avoids the build directory ending up in generated
23324 manual pages.
23325
1246efeb
CW
233262010-06-29 Colin Watson <cjwatson@ubuntu.com>
23327
23328 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23329 to avoid accidents when debugging with 'sh -x'.
23330 * util/grub-mkrescue.in: Likewise.
23331 * util/grub.d/00_header.in: Likewise.
23332 * util/grub.d/10_hurd.in: Likewise.
23333 * util/grub.d/10_kfreebsd.in: Likewise.
23334 * util/grub.d/10_linux.in: Likewise.
23335 * util/grub.d/10_netbsd.in: Likewise.
23336 * util/grub.d/10_windows.in: Likewise.
23337 * util/grub.d/20_linux_xen.in: Likewise.
23338 * util/grub.d/30_os-prober.in: Likewise.
23339 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23340
1ba9b889
CW
233412010-06-29 Colin Watson <cjwatson@ubuntu.com>
23342
23343 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23344 last character in the buffer.
23345 Reported by: Vladimir Serbinenko.
23346
dccaf99d
RM
233472010-06-29 Robert Millan <rmh@gnu.org>
23348
23349 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23350 (Command-line and menu entry commands): Document `badram' command.
23351
d500ed12
RM
233522010-06-28 Robert Millan <rmh@gnu.org>
23353
23354 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23355 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23356 command using ${GRUB_BADRAM} as parameter.
23357
20bc84a6
CW
233582010-06-28 Colin Watson <cjwatson@ubuntu.com>
23359
23360 * docs/grub.texi (Device map): New section.
23361 (Themes): New section (stub).
23362 * Makefile.in (docs/grub.info): The info documentation now builds
23363 without errors. Make sure it stays that way.
23364
4045dee1
VS
233652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23366
23367 Use normal parser for menu entries.
23368 Reported by: Thomas Frauendorfer
23369
23370 * include/grub/parser.h (grub_parser_execute): Don't export.
23371 * normal/menu.c (grub_menu_execute_entry_real): New function.
23372 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23373
bca58c7b
CW
233742010-06-28 Colin Watson <cjwatson@ubuntu.com>
23375
23376 * docs/grub.texi (Embedded configuration): New section (replacing
23377 old "Preset Menu" stub).
23378 (Images): New section.
23379 (configfile): Note that any menu entries defined in `file' are shown
23380 immediately.
23381
dec53e63
JT
233822010-06-28 Josh Triplett <josh@joshtriplett.org>
23383
23384 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23385
c06e40f7
CW
233862010-06-28 Colin Watson <cjwatson@ubuntu.com>
23387
23388 * util/grub-install.in: Add --debug-image= option.
23389
cb88052b
CW
233902010-06-28 Colin Watson <cjwatson@ubuntu.com>
23391
23392 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23393 possible on Linux.
23394
23395 * util/deviceiter.c (check_device): Rename to ...
23396 (check_device_readable_unique): ... this. Update all callers.
23397 Maintain and check a list of which devices (by canonicalized name)
23398 have already been seen.
23399 (clear_seen_devices): New function.
23400 (compare_file_names) [__linux__]: New function.
23401 (grub_util_iterate_devices): Clear the list of seen devices on exit
23402 and (just in case) on entry.
23403 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23404 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23405 seen-devices list, superseded by general code in check_device.
23406
bbe34652
CW
234072010-06-28 Colin Watson <cjwatson@ubuntu.com>
23408
23409 * commands/cat.c (options): New variable.
23410 (grub_cmd_cat): Parse options. If the --dos option is given, print
23411 DOS-style "\r\n" line endings as simple newlines (Debian bug
23412 #586358).
23413 (GRUB_MOD_INIT): Use extcmd.
23414 (GRUB_MOD_FINI): Likewise.
23415 * docs/grub.texi (cat): Document --dos.
23416
412e09f3
VS
234172010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 XEN with Linux grub-mkconfig support.
23420
23421 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23422 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23423 GRUB_CMDLINE_XEN_DEFAULT.
23424 * util/grub.d/20_linux_xen.in: New file.
23425
53f3ef38 234262010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23427
23428 Initialise VGA video on qemu ourselves.
23429
23430 * boot/i386/qemu/boot.S: Don't call 0xc000.
23431 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23432 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23433 (kernel_img_HEADERS): Add pci.h.
23434 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23435 * configure.ac: Force unifont on qemu and yeeloong.
23436 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23437 (grub_vga_palette_write): Use correct register.
23438 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23439 Call grub_qemu_init_cirrus.
23440 * kern/i386/qemu/init.c: New file.
23441 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23442
23443 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23444
c75be4fb
PR
234452010-06-26 Pavel Roskin <proski@gnu.org>
23446
23447 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23448 13.
23449
d8034603
CW
234502010-06-26 Colin Watson <cjwatson@ubuntu.com>
23451
23452 * docs/grub.texi (Simple configuration): Explain that
23453 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23454 set to `true' to disable their respective recovery entries, not
23455 merely set.
23456
3fa06487
CW
234572010-06-26 Colin Watson <cjwatson@ubuntu.com>
23458
23459 Make the `source' command slightly faster.
23460
23461 * normal/main.c (grub_normal_execute): Don't re-read list files when
23462 nested.
23463
e9b29642
CW
234642010-06-23 Colin Watson <cjwatson@ubuntu.com>
23465
23466 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23467 field position and mask size to red fields from mode_info, not
23468 green.
23469 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23470 Remove redundant tag->common.framebuffer_type assignment.
23471 Reported by: Seth Goldberg.
23472
e726542f
CW
234732010-06-23 Colin Watson <cjwatson@ubuntu.com>
23474
23475 Sync up other versions of the Linux loader with Robert Millan's
23476 change of 2010-01-09, "Make loader output a bit more user-friendly".
23477
23478 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23479 grub_dprintf().
23480 (grub_cmd_linux): Likewise.
23481 (grub_cmd_initrd): Likewise.
23482 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23483 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23484
d6e98a17
CW
234852010-06-21 Colin Watson <cjwatson@ubuntu.com>
23486
23487 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23488 larger than MEMORY_MAP_SIZE.
23489
14d3f08e
BC
234902010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23491
23492 Fix parallel build.
23493
23494 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23495 dependency.
23496 * script/parser.y: #include grub_script.tab.h header.
23497
4f9613a3
VS
234982010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 Support >3GiB and <16MiB RAM in i386-qemu.
23501
23502 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23503 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23504 (grub_lower_mem): Removed.
23505 (grub_upper_mem): Likewise.
23506 (mem_size): Made static.
23507 (above_4g): New variable.
23508 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23509 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23510 support.
23511
05e51879
VS
235122010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 Cirrus 5446 and Bochs video cards support.
23515
23516 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23517 video_bochs.mod
23518 (video_cirrus_mod_SOURCES): New variable.
23519 (video_cirrus_mod_CFLAGS): Likewise.
23520 (video_cirrus_mod_LDFLAGS): Likewise.
23521 (video_bochs_mod_SOURCES): Likewise.
23522 (video_bochs_mod_CFLAGS): Likewise.
23523 (video_bochs_mod_LDFLAGS): Likewise.
23524 * include/grub/vga.h: New file.
23525 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23526 (grub_video_fb_set_page_t): New type.
23527 (grub_video_fb_setup): New prototype.
23528 (grub_video_fb_swap_buffers): Likewise.
23529 (grub_video_fb_get_info_and_fini): Likewise.
23530 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23531 (CRTC_DATA_PORT): Likewise.
23532 (CRTC_CURSOR): Likewise.
23533 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23534 (CRTC_CURSOR_ADDR_LOW): Likewise.
23535 (CRTC_CURSOR_DISABLE): Likewise.
23536 (update_cursor): Use grub_vga_cr_write.
23537 (grub_vga_text_setcursor): Likewise.
23538 * video/bochs.c: New file.
23539 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23540 (palette): Likewise.
23541 (palette_size): Likewise.
23542 (framebuffer): New variable.
23543 (grub_video_fb_init): Use 'framebuffer'.
23544 (grub_video_fb_fini): Likewise.
23545 (grub_video_fb_get_info): Likewise.
23546 (grub_video_fb_get_palette): Likewise.
23547 (grub_video_fb_set_palette): Likewise.
23548 (grub_video_fb_set_viewport): Likewise.
23549 (grub_video_fb_get_viewport): Likewise.
23550 (grub_video_fb_map_color): Likewise.
23551 (grub_video_fb_map_rgb): Likewise.
23552 (grub_video_fb_map_rgba): Likewise.
23553 (grub_video_fb_unmap_color): Likewise.
23554 (grub_video_fb_unmap_color_int): Likewise.
23555 (grub_video_fb_fill_rect): Likewise.
23556 (grub_video_fb_blit_bitmap): Likewise.
23557 (grub_video_fb_blit_render_target): Likewise.
23558 (grub_video_fb_scroll): Likewise.
23559 (grub_video_fb_create_render_target): Likewise.
23560 (grub_video_fb_doublebuf_blit_init): Likewise.
23561 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23562 (doublebuf_pageflipping_update_screen): New function.
23563 (doublebuf_pageflipping_init): Likewise.
23564 (grub_video_fb_setup): Likewise.
23565 (grub_video_fb_swap_buffers): Likewise.
23566 (grub_video_fb_get_info_and_fini): Likewise.
23567 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23568 All users updated.
23569 (doublebuf_pageflipping_commit): Restructured into ...
23570 (doublebuf_pageflipping_set_page): ... this.
23571 (doublebuf_pageflipping_update_screen): Removed.
23572 (doublebuf_pageflipping_init): Likewise.
23573 (double_buffering_init): Likewise.
23574 (grub_video_vbe_setup): Use grub_video_fb_setup.
23575 (grub_video_vbe_swap_buffers): Removed.
23576 (grub_video_vbe_set_active_render_target): Likewise.
23577 (grub_video_vbe_get_active_render_target): Likewise.
23578 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23579 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23580 grub_video_fb_set_active_render_target and
23581 grub_video_fb_get_active_render_target.
23582 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23583 (SEQUENCER_DATA_PORT): Likewise.
23584 (MAP_MASK_REGISTER): Likewise.
23585 (CRTC_ADDR_PORT): Likewise.
23586 (CRTC_DATA_PORT): Likewise.
23587 (START_ADDR_HIGH_REGISTER): Likewise.
23588 (START_ADDR_LOW_REGISTER): Likewise.
23589 (GRAPHICS_ADDR_PORT): Likewise.
23590 (GRAPHICS_DATA_PORT): Likewise.
23591 (READ_MAP_REGISTER): Likewise.
23592 (INPUT_STATUS1_REGISTER): Likewise.
23593 (INPUT_STATUS1_VERTR_BIT): Likewise.
23594 (get_map_mask): Use grub_vga_sr_read.
23595 (set_map_mask): Use grub_vga_sr_write.
23596 (set_read_map): Use grub_vga_gr_write.
23597 (set_start_address): Use grub_vga_cr_write.
23598 * video/sm712.c (framebuffer): Remove leftover fields.
23599
4321c64a
CW
236002010-06-20 Colin Watson <cjwatson@ubuntu.com>
23601
23602 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23603 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23604 instead. Replace the gfxterm backend check with a check that
23605 ${GRUB_PREFIX}/video.lst is non-empty.
23606 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23607 again.
23608 (load_video): New generated function. Call it before loading
23609 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23610 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23611 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23612 * docs/grub.texi (Simple configuration): Document
23613 GRUB_VIDEO_BACKEND.
23614
236152010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23616
23617 Use video functions in linux and xnu loaders.
23618
23619 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23620 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23621 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23622 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23623 loader/i386/pc/linux.c.
23624 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23625 (find_line_len): Removed.
23626 (find_framebuf): Likewise.
23627 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23628 * loader/i386/efi/xnu.c: Removed.
23629 * loader/i386/pc/xnu.c: Moved from here...
23630 * loader/i386/xnu.c: ...here.
23631
23632 Enable priorities in video drivers.
23633
23634 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23635 (grub_video_adapter): New field prio.
23636 (grub_video_register): Respect prio when inserting.
23637 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23638 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23639 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23640 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23641 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23642 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23643 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23644
23645 Fix SDL driver ID.
23646
23647 * include/grub/video.h (grub_video_driver_id_t): New value
23648 GRUB_VIDEO_DRIVER_SDL.
23649 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23650
7d24e434
CW
236512010-06-17 Colin Watson <cjwatson@ubuntu.com>
23652
23653 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23654 argument to printf.
23655 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23656
c88a83f6
CW
236572010-06-17 Colin Watson <cjwatson@ubuntu.com>
23658
23659 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23660 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23661
094dfb69
CW
236622010-06-17 Colin Watson <cjwatson@ubuntu.com>
23663
23664 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23665 directly, and recommend grub-install instead.
23666 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23667
2164da6b
CW
236682010-06-17 Colin Watson <cjwatson@ubuntu.com>
23669
23670 Fix i386-pc prefix handling with nested partitions (Debian bug
23671 #585068). Note that the case where the core image is booted using
23672 multiboot and relocated from its original location still requires
23673 more work.
23674
23675 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23676 with "(,", fill the boot drive in between those two characters, but
23677 expect that a full partition specification including partition map
23678 names will follow.
23679 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23680 specified, write a prefix without the drive name but including a
23681 full partition specification.
23682
044e2e60
CW
236832010-06-16 Colin Watson <cjwatson@ubuntu.com>
23684
23685 * util/grub-mkconfig.in: Ignore non-option arguments, for
23686 compatibility with older versions (before 2010-06-12) which did the
23687 same. In particular, this makes it easier to ship an update-grub
23688 wrapper which is compatible with that used with GRUB Legacy (Debian
23689 bug #586056).
23690
5591324f
GS
236912010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23692
23693 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23694 for manual page generation.
23695
662e24d5
GS
236962010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23697
23698 * po/POTFILES: Remove leftover commands/handler.c.
23699
8d70754e
CW
237002010-06-14 Colin Watson <cjwatson@ubuntu.com>
23701
23702 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23703 left this script non-functional.
23704
41160e2e
CW
237052010-06-14 Colin Watson <cjwatson@ubuntu.com>
23706
23707 * docs/man/grub-emu.h2m: New file.
23708
b5309cc1
CW
237092010-06-13 Colin Watson <cjwatson@ubuntu.com>
23710
23711 * docs/grub.texi (Commands): Document reduced command set in rescue
23712 mode.
23713 (cpuid): New section.
23714
fcb2d090
GS
237152010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23716
23717 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23718 new partition naming style.
23719 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23720
96e5c556
BC
237212010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23722
23723 Add "-o grub.iso" like cmdline options support.
23724
23725 * util/grub-install.in: Improve cmdline option parsing.
23726 * util/grub-mkconfig.in: Likewise.
23727 * util/grub-mkrescue.in: Likewise.
23728 * util/grub-reboot.in: Likewise.
23729 * util/grub-set-default.in: Likewise.
23730 * util/i386/efi/grub-install.in: Likewise.
23731 * util/ieee1275/grub-install.in: Likewise.
23732 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23733
c16be99b
CW
237342010-06-12 Colin Watson <cjwatson@ubuntu.com>
23735
23736 * .bzrignore: Ignore 41_custom.
23737
ce08a9fb
TS
237382010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23739
23740 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23741
7beac90c
CW
237422010-06-12 Colin Watson <cjwatson@ubuntu.com>
23743
23744 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23745 prototype declarations.
23746
23747 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23748 generating fs, partmap, and video lists.
23749 * include/grub/fs.h (grub_fs_register): Omit prototype if
23750 GRUB_LST_GENERATOR is defined.
23751 * include/grub/partition.h (grub_partition_map_register): Likewise.
23752 * include/grub/video.h (grub_video_register): Likewise.
23753
1c8f0f8d
JM
237542010-06-12 Javier Martín <lordhabbit@gmail.com>
23755
23756 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23757
a6085973
TS
237582010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23759
23760 * util/grub-mkrescue.in: Support --xorriso argument.
23761
25c56d29
VS
237622010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23763
23764 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23765 Suggested by: Thomas Schmitt.
23766
e03e4b24
VS
237672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23770 Suggested by: Thomas Schmitt.
23771
57711df6
VS
237722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 custom.cfg support.
23775
23776 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23777 * util/grub.d/41_custom.in: New file.
23778
ee62c427
CW
237792010-06-12 Colin Watson <cjwatson@ubuntu.com>
23780
23781 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23782 been merged back into normal.
23783
283af07a
CW
237842010-06-11 Colin Watson <cjwatson@ubuntu.com>
23785
23786 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23787 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23788
56a0d956
CW
237892010-06-11 Colin Watson <cjwatson@ubuntu.com>
23790
23791 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23792 when generating manual pages.
23793 * docs/man/grub-bin2h.h2m: New file.
23794 * docs/man/grub-editenv.h2m: New file.
23795 * docs/man/grub-fstest.h2m: New file.
23796 * docs/man/grub-install.h2m: New file.
23797 * docs/man/grub-macho2img.h2m: New file.
23798 * docs/man/grub-mkconfig.h2m: New file.
23799 * docs/man/grub-mkdevicemap.h2m: New file.
23800 * docs/man/grub-mkfont.h2m: New file.
23801 * docs/man/grub-mkimage.h2m: New file.
23802 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23803 * docs/man/grub-mkrelpath.h2m: New file.
23804 * docs/man/grub-mkrescue.h2m: New file.
23805 * docs/man/grub-ofpathname.h2m: New file.
23806 * docs/man/grub-pe2elf.h2m: New file.
23807 * docs/man/grub-probe.h2m: New file.
23808 * docs/man/grub-reboot.h2m: New file.
23809 * docs/man/grub-script-check.h2m: New file.
23810 * docs/man/grub-set-default.h2m: New file.
23811 * docs/man/grub-setup.h2m: New file.
23812
3a37e322
VS
238132010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 Use FOR_* macros instead of *_iterate whenever possible.
23816
23817 * commands/handler.c: Removed.
23818 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23819 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23820 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23821 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23822 (grub_probe_SOURCES): Remove kern/parser.c.
23823 (util/grub-script-check.c_DEPENDENCIES): Removed.
23824 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23825 and grub_script_check_init.c.
23826 (grub_script_check_init.lst): Removed.
23827 (grub_script_check_init.h): Likewise.
23828 (grub_script_check_init.c): Likewise.
23829 (pkglib_MODULES): Remove handler.mod and sh.mod.
23830 (handler_mod_SOURCES): Removed.
23831 (handler_mod_CFLAGS): Likewise.
23832 (handler_mod_LDFLAGS): Likewise.
23833 (normal_mod_SOURCES): Remove normal/handler.c.
23834 Add script/main.c, script/script.c, script/execute.c,
23835 script/function.c, script/lexer.c, grub_script.tab.c
23836 and grub_script.yy.c.
23837 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23838 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23839 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23840 (grub_setup_SOURCES): Remove kern/parser.c.
23841 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23842 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23843 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23844 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23845 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23846 (grub_setup_SOURCES): Remove kern/parser.c.
23847 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23848 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23849 * include/grub/command.h (grub_command_iterate): Removed.
23850 (FOR_COMMANDS): New macro.
23851 * include/grub/dl.h (grub_dl): New member next.
23852 (grub_dl_iterate): Removed.
23853 (grub_dl_head): New variable declaration.
23854 (FOR_DL_MODULES): New macro.
23855 * include/grub/fs.h: Include list.h.
23856 (grub_fs): Make next first element.
23857 (grub_fs_list): New variable declaration.
23858 (grub_fs_register): Make inline.
23859 (grub_fs_unregister): Likewise.
23860 (grub_fs_iterate): Removed.
23861 (FOR_FILESYSTEMS): New macro.
23862 * include/grub/handler.h: Removed.
23863 * include/grub/list.h (grub_list_hook_t): Removed.
23864 (grub_list_test_t): Likewise.
23865 (grub_list_pop): Likewise.
23866 (grub_list_iterate): Likewise.
23867 (grub_list_insert): Likewise.
23868 (FOR_LIST_ELEMENTS): New macro.
23869 * include/grub/parser.h (grub_parser_class): Removed.
23870 (grub_parser_register): Likewise.
23871 (grub_parser_unregister): Likewise.
23872 (grub_parser_get_current): Likewise.
23873 (grub_parser_set_current): Likewise.
23874 (grub_register_rescue_parser): Likewise.
23875 (grub_rescue_parse_line): New function.
23876 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23877 * include/grub/script_sh.h (grub_script_function_list): New variable
23878 declaration.
23879 (FOR_SCRIPT_FUNCTIONS): New macro.
23880 (grub_script_function_iterate): Removed.
23881 (grub_normal_parse_line): New prototype.
23882 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23883 (FOR_DISABLED_TERM_INPUTS): Likewise.
23884 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23885 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23886 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23887 element.
23888 (grub_video_register): Inline.
23889 (grub_video_unregister): Likewise.
23890 (grub_video_adapter_list): New variable declaration.
23891 (grub_video_iterate): Removed.
23892 (FOR_VIDEO_ADAPTERS): New macro.
23893 * kern/dl.c (grub_dl_list): Removed. All users updated.
23894 (grub_dl_iterate): Removed.
23895 * kern/fs.c (grub_fs_list): Make global.
23896 (grub_fs_register): Removed.
23897 (grub_fs_unregister): Likewise.
23898 (grub_fs_iterate): Likewise.
23899 * kern/handler.c: Removed.
23900 * kern/list.c (grub_list_pop): Removed.
23901 (grub_list_iterate): Likewise.
23902 (grub_list_insert): Likewise.
23903 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23904 (grub_prio_list_insert): Don't use grub_list_insert.
23905 * kern/main.c (grub_register_rescue_parser): Don't call
23906 grub_register_rescue_parser.
23907 * kern/parser.c (grub_parser_class): Removed.
23908 (grub_parser_execute): Use grub_rescue_parse_line.
23909 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23910 (grub_rescue_parser): Removed.
23911 (grub_register_rescue_parser): Likewise.
23912 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23913 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23914 (grub_auth_check_authentication): Likewise.
23915 * normal/completion.c (iterate_command): Removed.
23916 (grub_normal_do_completion): Use FOR_COMMANDS.
23917 * normal/handler.c: Removed.
23918 * normal/main.c (read_config_file): Remove parser changing.
23919 (grub_normal_execute): Don't call read_handler_list.
23920 (grub_normal_read_line_real): Statically allocate prompt.
23921 (grub_cmdline_run): Use grub_normal_parse_line.
23922 (GRUB_MOD_FINI): Don't call free_handler_list.
23923 * normal/menu_entry.c (run): Likewise.
23924 * script/function.c (grub_script_function_list): Make global.
23925 (grub_script_function_iterate): Removed.
23926 * script/main.c (grub_normal_parse_line): Make global.
23927 (grub_sh_parser): Removed.
23928 (GRUB_MOD_INIT): Likewise.
23929 (GRUB_MOD_FINI): Likewise.
23930 * tests/lib/functional_test.c (grub_functional_test): Use
23931 FOR_LIST_ELEMENTS.
23932 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23933 (grub_test_run): Use FOR_LIST_ELEMENTS.
23934 * tests/lib/unit_test.c (main): Likewise.
23935 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23936 grub_list_pop.
23937 * util/grub-fstest.c (grub_term_input_class): Removed.
23938 (grub_term_output_class): Likewise.
23939 * util/grub-probe.c: Likewise.
23940 * util/i386/pc/grub-setup.c: Likewise.
23941 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23942 * util/grub-script-check.c (main): Don't call grub_init_all and
23943 grub_fini_all.
23944 * video/video.c (grub_video_adapter_list): Make global.
23945 (grub_video_register): Removed.
23946 (grub_video_unregister): Likewise.
23947 (grub_video_iterate): Likewise.
23948
6289c3a7
VS
239492010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23950
23951 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23952 reported by Henrique Ferreiro.
23953
91460247
RM
239542010-06-09 Robert Millan <rmh@gnu.org>
23955
23956 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23957 ones, when both are available.
23958
0ea7c4f9
GS
239592010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23960
23961 Make --version uniform and avoid hard-coded program name.
23962
23963 * util/grub-mkimage.c (main): Use `program_name' instead of
23964 hard-coded string.
23965 * util/i386/pc/grub-setup.c (main): Likewise.
23966 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23967 * util/grub-install.in: Save the basename of $0 in $self, and use the
23968 latter in informational messages. Use the same format for --version
23969 as the binary programs.
23970 * util/grub-mkconfig.in: Likewise.
23971 * util/grub-mkrescue.in: Likewise.
23972 * util/grub-reboot.in: Likewise.
23973 * util/grub-set-default.in: Likewise.
23974 * util/i386/efi/grub-install.in: Likewise.
23975 * util/ieee1275/grub-install.in: Likewise.
23976 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23977
e8a6f3b6
GS
239782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23979
23980 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23981 embedding area. Use <= instead of == when checking for non-emptiness.
23982
f4d095d7
GS
239832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23984
23985 * configure.ac: Add `.' to the directories searched for unifont.
23986
50e532ca
CW
239872010-06-08 Colin Watson <cjwatson@ubuntu.com>
23988
23989 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23990 grub_script.yy.h.
23991
d39f3dec
CW
239922010-06-08 Colin Watson <cjwatson@ubuntu.com>
23993
23994 * docs/grub.texi (History): Expand to cover GRUB 2.
23995 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23996 commands, not `terminal'.
23997 (serial): Likewise.
23998 (terminal_input): New section.
23999 (terminal_output): New section.
24000 (uppermem): New section (stub).
24001 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24002
6ef0ddb4
CW
240032010-06-08 Colin Watson <cjwatson@ubuntu.com>
24004
24005 * docs/grub.texi (Security): Menu entries are unrestricted by
24006 default, not restricted to superusers as I had previously thought.
24007 Reword to account for this.
24008
e0f4c438
CW
240092010-06-07 Colin Watson <cjwatson@ubuntu.com>
24010
24011 * kern/emu/misc.c (device_mapper_null_log): New function.
24012 (grub_device_mapper_supported): New function.
24013 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24014 prototype.
24015 * kern/emu/hostdisk.c (find_partition_start): Check whether
24016 device-mapper is supported before trying to use it.
24017 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24018
da908200
CW
240192010-06-07 Colin Watson <cjwatson@ubuntu.com>
24020
24021 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24022 (File name syntax): Likewise.
24023 (help): --all is no longer supported in GRUB 2. Be more precise
24024 about pattern matching.
24025
fb55c3ac
CW
240262010-06-07 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * normal/completion.c (grub_normal_do_completion): When completing
24029 arguments to "set" and the current word contains an equals sign,
24030 skip to after the equals sign before starting completion.
24031
258c2573
CW
240322010-06-07 Colin Watson <cjwatson@ubuntu.com>
24033
24034 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24035
ee75515e
CW
240362010-06-07 Colin Watson <cjwatson@ubuntu.com>
24037
24038 * docs/grub.texi (Network): New section.
24039 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24040 `(nd)' as in GRUB Legacy.
24041 (pxe_unload): New section.
24042
a6a700aa
CW
240432010-06-07 Colin Watson <cjwatson@ubuntu.com>
24044
24045 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24046 in the rescue shell, so recommend using `set' instead. Thanks,
24047 Jordan Uggla.
24048
4003dd38
CW
240492010-06-07 Colin Watson <cjwatson@ubuntu.com>
24050
24051 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24052 (password): New section.
24053 (password_pbkdf2): New section.
24054 (search): New section.
24055 (Security): New section.
24056 (Troubleshooting): New section, currently very incomplete.
24057 (Invoking grub-mkpasswd-pbkdf2): New section.
24058 (Internals): New section, currently very incomplete.
24059
e1cbcc40
CW
240602010-06-07 Colin Watson <cjwatson@ubuntu.com>
24061
24062 * util/grub.d/00_header.in: Add some more quoting (of
24063 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24064 work again.
24065 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24066
db8fa1ad
CW
240672010-06-07 Colin Watson <cjwatson@ubuntu.com>
24068
24069 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24070 to `count', fixing variable shadowing that broke the -c option.
24071
240722010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24073
24074 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24075 in case they contain spaces.
24076
f28a9212
CW
240772010-06-04 Colin Watson <cjwatson@ubuntu.com>
24078
24079 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24080 "part_" to partmap module names, in line with grub-install.
24081 Reported by: Jindřich Makovička (Debian bug #584426).
24082
9cdfe32f
CW
240832010-06-04 Colin Watson <cjwatson@ubuntu.com>
24084
24085 * util/grub-mkimage.c: Make target-related error messages slightly
24086 more helpful; -O talks about "format". Explicitly point to the use
24087 of -O if no target is specified.
24088 Reported by: Didier Raboud (Debian bug #584415).
24089
795b593a
CW
240902010-06-03 Colin Watson <cjwatson@ubuntu.com>
24091
24092 * INSTALL: Document several build requirements for optional features
24093 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24094
9d9b5833
GS
240952010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24096
24097 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24098 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24099 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24100
0819fec8
CW
241012010-06-02 Colin Watson <cjwatson@ubuntu.com>
24102
24103 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24104 Thanks to Jordan Uggla for spotting this.
24105
49396b4f
VS
241062010-06-02 Aleš Nesrsta <starous@volny.cz>
24107
24108 Finally make USB usable.
24109
24110 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24111 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24112 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24113 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24114 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24115 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24116 (GRUB_OHCI_FSMPS): Likewise.
24117 (GRUB_OHCI_PERIODIC_START): Likewise.
24118 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24119 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24120 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24121 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24122 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24123 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24124 (grub_ohci_transaction): Likewise.
24125 (grub_ohci_transfer): Improve condition detection algorithms.
24126 Handle toggle property. Program the transactions correctly.
24127 Improve error handling. Various important fixups.
24128 (grub_ohci_portstatus): Put register writes in right order.
24129 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24130 (grub_uhci_transfer): Don't show "failed" message on success.
24131 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24132 array.
24133 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24134 determine its size.
24135 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24136 before initialization is completed. Use IN direction for empty
24137 transfers. Use last_trans and compute toggle.
24138 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24139 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24140 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24141 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24142 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24143 (grub_usb_device): Increase toggle to 256.
24144 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24145 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24146 GRUB_USBMS_SUBCLASS_SFF8070.
24147 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24148 (grub_scsi_inquiry): New member page and alloc_length.
24149 (grub_scsi_request_sense): New structure.
24150 (grub_scsi_request_sense_data): Likewise.
24151 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24152 control.
24153 * disk/scsi.c (grub_scsi_request_sense): New function.
24154 (grub_scsi_test_unit_ready): Likewise.
24155 (grub_scsi_inquiry): Fill new fields.
24156 (grub_scsi_read_capacity): Likewise.
24157 (grub_scsi_read10): Add request sense at the end.
24158 (grub_scsi_read12): Likewise.
24159 (grub_scsi_write10): Likewise.
24160 (grub_scsi_write12): Likewise.
24161 (grub_scsi_open): Add Test Unit Ready.
24162 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24163 Support additional subclasses. Con't clear halt yet. Activate the
24164 proper config. Calculate LUNs correctly.
24165 (grub_usbms_transfer): Various important fixups.
24166
241672010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24168
24169 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24170 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24171 (grub_ohci_fini_hw): New function.
24172 (grub_ohci_restore_hw): Likewise.
24173 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24174 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24175 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24176
241772010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24178
24179 Dedicated DMA allocations.
24180
24181 * bus/pci.c (grub_memalign_dma32): New function
24182 (grub_dma_free): Likewise.
24183 (grub_dma_get_virt): Likewise.
24184 (grub_dma_get_phys): Likewise.
24185 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24186 (grub_ohci_pci_iter): Use dma32_alloc.
24187 (grub_ohci_transfer): Likewise.
24188 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24189 (grub_usb_bulk_readwrite): Likewise.
24190 * include/grub/pci.h: Add declarations.
24191
241922010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 CS5536 support.
24195
24196 * bus/cs5536.c: New file.
24197 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24198 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24199 (cs5536_mod_SOURCES): New variable.
24200 (cs5536_mod_CFLAGS): Likewise.
24201 (cs5536_mod_LDFLAGS): Likewise.
24202 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24203 machine/pci.h.
24204 (kernel_img_SOURCES): Add bus/cs5536.c.
24205 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24206 usb_keyboard.mod.
24207 (usb_mod_SOURCES): New variable.
24208 (usb_mod_CFLAGS): New variable.
24209 (usb_mod_LDFLAGS): New variable.
24210 (usbtest_mod_SOURCES): New variable.
24211 (usbtest_mod_CFLAGS): New variable.
24212 (usbtest_mod_LDFLAGS): New variable.
24213 (ohci_mod_SOURCES): New variable.
24214 (ohci_mod_CFLAGS): New variable.
24215 (ohci_mod_LDFLAGS): New variable.
24216 (usbms_mod_SOURCES): New variable.
24217 (usbms_mod_CFLAGS): New variable.
24218 (usbms_mod_LDFLAGS): New variable.
24219 (usb_keyboard_mod_SOURCES): New variable.
24220 (usb_keyboard_mod_CFLAGS): New variable.
24221 (usb_keyboard_mod_LDFLAGS): New variable.
24222 * include/grub/smbus.h: New file.
24223 * include/grub/cs5536.h: New file.
24224
0b35b2a9
CW
242252010-06-02 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * util/grub.d/00_header.in: Add safety check to make sure that
24228 ${locale_dir} exists before trying to probe it.
24229
ca0afd5b
CW
242302010-06-02 Colin Watson <cjwatson@ubuntu.com>
24231
24232 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24233 per the GNU Coding Standards; this is now too obscure to be worth
24234 documenting.
24235 (QNX): Likewise.
24236 (chainloader): Remove cross-reference to `SCO UnixWare'.
24237
1c41aa78
CW
242382010-06-02 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * docs/grub.texi (Chain-loading): New section.
24241 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24242 adjusted for GRUB 2.
24243 (SCO UnixWare): Likewise.
24244 (QNX): Likewise.
24245 (chainloader): Add reference to `Block list syntax'.
24246 (drivemap): New section.
24247 (parttool): New section.
24248
bb8ea0f5
CW
242492010-06-02 Colin Watson <cjwatson@ubuntu.com>
24250
24251 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24252 the grub shell'.
24253 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24254 (Installing GRUB using grub-install): Remove reference to the grub
24255 shell; mention `grub-mkimage' and `grub-setup' instead.
24256 (Invoking grub-install): Likewise.
24257 (Interface): Add reference to `Menu entry editor'.
24258 (serial): Remove `--device' option.
24259
288dd6ed
CW
242602010-06-02 Colin Watson <cjwatson@ubuntu.com>
24261
24262 * docs/grub.texi (Configuration): New section, documenting
24263 configuration file generation using grub-mkconfig. I've left a slot
24264 for documenting the full shell scripting format but have not yet
24265 started on writing that up.
24266 (Invoking grub-mkconfig): New section.
24267
34c9f0e9
CW
242682010-06-02 Colin Watson <cjwatson@ubuntu.com>
24269
24270 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24271 (GNU GRUB manual): Likewise.
24272 (General commands): Update description of `terminfo' for GRUB 2.
24273
9121567e
CW
242742010-06-02 Colin Watson <cjwatson@ubuntu.com>
24275
24276 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24277 (GRUB_MOD_INIT): Fix capitalisation.
24278 * docs/grub.texi (Command-line and menu entry commands): Document
24279 gettext and gptsync commands.
24280
ab631611
CW
242812010-06-02 Colin Watson <cjwatson@ubuntu.com>
24282
24283 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24284 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24285
bde4a9ac
CW
242862010-06-01 Colin Watson <cjwatson@ubuntu.com>
24287
24288 Add btrfs probing support, currently only in the single-device case.
24289
24290 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24291 function.
24292 (grub_guess_root_device): Call find_root_device_from_mountinfo
24293 before looking in /dev.
24294
b1d17e10
VS
242952010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24298 GRUB_DISK_SIZE_UNKNOWN.
24299 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24300
dfbfe004
JS
243012010-05-31 Jiro SEKIBA <jir@unicus.jp>
24302
24303 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24304 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24305 corrupted or not synced properly.
24306
c2ffc8e9
VS
243072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24310 Reported by: Seth Goldberg.
24311
56293166
VS
243122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24315 addition of dest.
24316 Reported by: Seth Goldberg.
24317
7620e7de
VS
243182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24319
24320 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24321 Reported by: Seth Goldberg.
24322
c837af3f
VS
243232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24324
24325 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24326 64-bit address as signed on MIPS.
24327
c7c75cf4
CW
243282010-05-28 Colin Watson <cjwatson@ubuntu.com>
24329
24330 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24331 to the empty string.
24332
fa4b8490
BC
243332010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24334
24335 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24336
24337 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24338 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24339 * kern/misc.c (__enable_execute_stack): Disable on
24340 GRUB_MACHINE_EMU.
24341
a33075b9
CW
243422010-05-28 Colin Watson <cjwatson@ubuntu.com>
24343
24344 Make grub-probe work with symbolic links under /dev/mapper as well
24345 as with real block devices. The Linux world seems to be (at best)
24346 in transition here, and GRUB shouldn't get caught in the middle.
24347
24348 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24349 /dev/mapper.
24350
d8708134
CW
243512010-05-27 Colin Watson <cjwatson@ubuntu.com>
24352
24353 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24354 input files (in which case exit zero).
24355
db2102a0
CW
243562010-05-27 Colin Watson <cjwatson@ubuntu.com>
24357
24358 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24359 return NULL for various reasons even if it has a maximum-length
24360 buffer: for example, there might be a symlink loop, or the path
24361 might exceed PATH_MAX. If this happens, return NULL.
24362
5fdba519
RM
243632010-05-27 Robert Millan <rmh@gnu.org>
24364
24365 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24366 partmap module to handle cross-partmap setups.
24367 Reported by Orestes Mas. Gràcies!
24368
d1d368e4
CW
243692010-05-27 Colin Watson <cjwatson@ubuntu.com>
24370
24371 * util/grub-mkrescue.in: Initialise override_dir rather than
24372 assuming that it's unset or empty in the environment.
24373
95ac3c73
GS
243742010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24375
24376 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24377 variable index into p_index to suppress a warning with -Wshadow.
24378
7d8c0213
BC
243792010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24380
24381 * INSTALL: Added flex >= 2.5.35 requirement.
24382
db4d5813
VS
243832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24386
f24f4300
VS
243872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24388
24389 cmostest support.
24390
24391 * commands/i386/cmostest.c: New file.
24392 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24393 (cmostest_mod_SOURCES): New variable.
24394 (cmostest_mod_CFLAGS): Likewise.
24395 (cmostest_mod_LDFLAGS): Likewise.
24396 * conf/i386-pc.rmk: Likewise.
24397 * docs/grub.texi (Vendor power-on keys): New section.
24398 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24399 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24400 and GRUB_BUTTON_CMOS_ADDRESS.
24401 * util/grub.d/00_header.in: Handle powering-on by separate button.
24402
ad603f61
VS
244032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24404
24405 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24406 Removed drawing_scrollbar argument. All users updated
24407 Fixes #29792.
24408 Reported by Jo Shields
24409
3ecb080a
VS
244102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24411
24412 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24413 buffer since gfxterm handles double repaint.
24414
5f2316c1
VS
244152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24416
24417 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24418 * term/gfxterm.c (real_scroll): Likewise.
24419
9a25f885
VS
244202010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24421
24422 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24423 before calling BIOS.
24424
39fbb79a
VS
244252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * include/grub/i18n.h: Always enable grub_gettext.
24428
228cfa97
VS
244292010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24432 partition naming style.
24433
21717c8f
CW
244342010-05-21 Colin Watson <cjwatson@ubuntu.com>
24435
24436 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24437 not the first option.
24438
c0f48e65
CW
244392010-05-20 Colin Watson <cjwatson@ubuntu.com>
24440
24441 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24442
96779aec
CW
244432010-05-20 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * util/misc.c: Move inclusion of <limits.h> to ...
24446 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24447
fa9d256e
GS
244482010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24449
24450 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24451 Fix merge error in NetBSD code.
24452 (find_partition_start) [__NetBSD__]: Likewise.
24453
123b7a85
BC
244542010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24455
24456 Fix grub-mkrescue usage unit testing.
24457
24458 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24459
74276c0d
CF
244602010-05-18 Christian Franke <franke@computer.org>
24461
24462 * util/grub.d/10_windows.in: Use path names instead of
24463 drive letters to prevent warning from Cygwin 1.7.
24464 Add drivemap command to menuentry if needed.
24465
c4f7b523
ST
244662010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24467
24468 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24469 gnumach and gnumach.gz.
24470
95b97950
VS
244712010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24472
24473 * include/grub/i18n.h (gettext): Inline instead of using #define.
24474 (grub_gettext): Likewise.
24475 (_): Likewise.
24476
01b8d2d7
VS
244772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24478
24479 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24480 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24481 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24482 (main): Add a slash after pkglibdirroot.
24483
654e1d1e
VS
244842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 * util/grub-install.in: Add missing "in" keyword.
24487
26966aeb
VS
244882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24491 Reported by: Seth Goldberg.
24492
75006747
VS
244932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24494
24495 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24496
74cbf5bd
CW
244972010-05-18 Colin Watson <cjwatson@ubuntu.com>
24498
24499 * configure.ac: Check for Linux device-mapper support.
24500
24501 * util/hostdisk.c (device_is_mapped): New function.
24502 (find_partition_start): New function, partly broken out from
24503 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24504 device-mapper support added.
24505 (linux_find_partition): Use find_partition_start.
24506 (convert_system_partition_to_system_disk): Add `st' argument.
24507 Support Linux /dev/mapper/* devices if device-mapper support is
24508 available; only DM-RAID devices are understood at present.
24509 (find_system_device): Add `st' argument. Pass it to
24510 convert_system_partition_to_system_disk.
24511 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24512 find_system_device and convert_system_partition_to_system_disk. Use
24513 find_partition_start.
24514
24515 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24516 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24517 * util/deviceiter.c [__linux__]: Define MINOR.
24518 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24519 * util/mkdevicemap.c (grub_putchar): New function.
24520 (grub_getkey): New function.
24521 (grub_refresh): New function.
24522 (main): Set debug=all if -v -v is used.
24523
355b51e9
CW
245242010-05-18 Colin Watson <cjwatson@ubuntu.com>
24525
24526 Fix build with non-GNU libcs.
24527
24528 * util/misc.c (canonicalize_file_name): Move to ...
24529 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24530 grub_make_system_path_relative_to_its_root.
24531
7fb5c25f
CW
245322010-05-18 Colin Watson <cjwatson@ubuntu.com>
24533
24534 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24535 we handle finding grub-mkimage. Default to finding grub-mkimage in
24536 ${bindir} with program_transform_name applied, and provide a
24537 --grub-mkimage option to override this.
24538
1d3293d6
VS
245392010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Remove grub-mkisofs.
24542
24543 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24544 (grub_mkisofs_SOURCES): Removed.
24545 (grub_mkisofs_CFLAGS): Removed.
24546 * util/mkisofs/defaults.h: Removed.
24547 * util/mkisofs/eltorito.c: Likewise.
24548 * util/mkisofs/exclude.h: Likewise.
24549 * util/mkisofs/hash.c: Likewise.
24550 * util/mkisofs/include/: Likewise.
24551 * util/mkisofs/include/fctldefs.h: Likewise.
24552 * util/mkisofs/include/mconfig.h: Likewise.
24553 * util/mkisofs/include/prototyp.h: Likewise.
24554 * util/mkisofs/include/statdefs.h: Likewise.
24555 * util/mkisofs/iso9660.h: Likewise.
24556 * util/mkisofs/joliet.c: Likewise.
24557 * util/mkisofs/match.c: Likewise.
24558 * util/mkisofs/match.h: Likewise.
24559 * util/mkisofs/mkisofs.c: Likewise.
24560 * util/mkisofs/mkisofs.h: Likewise.
24561 * util/mkisofs/msdos_partition.h: Likewise.
24562 * util/mkisofs/multi.c: Likewise.
24563 * util/mkisofs/name.c: Likewise.
24564 * util/mkisofs/rock.c: Likewise.
24565 * util/mkisofs/tree.c: Likewise.
24566 * util/mkisofs/write.c: Likewise.
24567
5dde9afe
VS
245682010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24569
24570 Unify grub-mkimage accross platforms.
24571
24572 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24573 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24574 (grub_mkelfimage_SOURCES): Removed.
24575 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24576 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24577 (bin_UTILITIES): Add grub-mkimage.
24578 (grub_mkimage_SOURCES): New variable.
24579 (kernel_img_HEADERS): Remove machine/kernel.h.
24580 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24581 (pkglib_PROGRAMS): Add kernel.img.
24582 (kernel_img_HEADERS): Add machine/kernel.h.
24583 (kernel_img_FORMAT): Removed.
24584 (bin_UTILITIES): Remove grub-mkimage.
24585 (grub_mkimage_SOURCES): Removed.
24586 (grub_mkimage_CFLAGS): Likewise.
24587 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24588 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24589 (pkglib_PROGRAMS): Add kernel.img.
24590 (bin_UTILITIES): Remove grub-mkimage.
24591 (grub_mkimage_SOURCES): Removed.
24592 (grub_mkimage_CFLAGS): Likewise.
24593 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24594 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24595 (pkglib_PROGRAMS): Add kernel.img.
24596 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24597 (pkglib_PROGRAMS): Add kernel.img.
24598 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24599 (grub_mkimage_SOURCES): Removed.
24600 (grub_mkimage_CFLAGS): Likewise.
24601 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24602 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24603 (pkglib_PROGRAMS): Add kernel.img.
24604 (bin_UTILITIES): Remove grub-mkimage.
24605 (grub_mkimage_SOURCES): Removed.
24606 (grub_mkimage_CFLAGS): Likewise.
24607 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24608 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24609 (grub_mkimage_SOURCES): Removed.
24610 (grub_mkimage_CFLAGS): Likewise.
24611 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24612 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24613 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24614 (grub_pe32_optional_header): ... this.
24615 (grub_pe64_optional_header): ... and this. All users updated.
24616 (GRUB_PE32_PE32_MAGIC): Split into ..
24617 (GRUB_PE32_PE32_MAGIC): .. this.
24618 (GRUB_PE32_PE64_MAGIC): .. and this.
24619 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24620 * include/grub/elf.h (PT_GNU_STACK): New definition.
24621 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24622 * include/grub/i386/efi/kernel.h: Likewise.
24623 * include/grub/i386/kernel.h: Likewise.
24624 * include/grub/i386/pc/kernel.h: Likewise.
24625 * include/grub/i386/qemu/boot.h: Likewise.
24626 * include/grub/mips/kernel.h: Likewise.
24627 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24628 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24629 * include/grub/powerpc/kernel.h: Likewise.
24630 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24631 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24632 * include/grub/sparc64/kernel.h: Likewise.
24633 * include/grub/x86_64/efi/kernel.h: Likewise.
24634 * include/grub/x86_64/kernel.h: Likewise.
24635 * include/grub/offsets.h: New file.
24636 * include/grub/kernel.h (grub_module_info): Split into ...
24637 (grub_module_info32): ... this.
24638 (grub_module_info64): ... and this.
24639 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24640 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24641 (grub_boot_blocklist): Moved from here ...
24642 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24643 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24644 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24645 * include/grub/types.h (grub_target_to_host16): Removed.
24646 (grub_target_to_host32): Likewise.
24647 (grub_target_to_host64): Likewise.
24648 (grub_host_to_target16): Likewise.
24649 (grub_host_to_target32): Likewise.
24650 (grub_host_to_target64): Likewise.
24651 (grub_host_to_target_addr): Likewise.
24652
24653 Support grub-mkrescue for efi, coreboot and qemu.
24654
24655 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24656 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24657 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24658 * util/grub-mkrawimage.c: Moved from here ...
24659 * util/grub-mkimage.c: ... here. All users updated.
24660 (ALIGN_ADDR): Use image_target.
24661 (TARGET_NO_FIELD): New const.
24662 (image_target_desc): New type.
24663 (image_targets): New array.
24664 (grub_target_to_host64): Use image_target.
24665 (grub_target_to_host32): Likewise.
24666 (grub_target_to_host16): Likewise.
24667 (grub_host_to_target64): Likewise.
24668 (grub_host_to_target32): Likewise.
24669 (grub_host_to_target16): Likewise.
24670 (grub_host_to_target_addr): Likewise.
24671 (generate_image): Handle multiimage.
24672 (main): Require -O parameter. All users updated.
24673 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24674 util/efi/grub-mkimage.c
24675 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24676 New option --rom-directory.
24677 Use xorriso.
24678 * util/i386/efi/grub-mkimage.c: Removed.
24679 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24680 (grub_target_to_host32): Likewise.
24681 (grub_target_to_host64): Likewise.
24682 (grub_host_to_target16): Likewise.
24683 (grub_host_to_target32): Likewise.
24684 (grub_host_to_target64): Likewise.
24685 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24686 (grub_target_to_host32): Likewise.
24687 (grub_target_to_host64): Likewise.
24688 (grub_host_to_target16): Likewise.
24689 (grub_host_to_target32): Likewise.
24690 (grub_host_to_target64): Likewise.
24691
f4fc97d0
BC
246922010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24693
24694 Source tree is reorganized for emu build.
24695
24696 * include/grub/util/console.h: Move from here...
24697 * include/grub/emu/console.h: ...to here.
24698 * include/grub/util/getroot.h: Move from here...
24699 * include/grub/emu/getroot.h: ...to here.
24700 * include/grub/util/hostdisk.h: Move from here...
24701 * include/grub/emu/hostdisk.h: ...to here.
24702 * util/console.c: Move from here...
24703 * kern/emu/console.c: ...to here.
24704 * util/getroot.c: Move from here...
24705 * kern/emu/getroot.c: ...to here.
24706 * util/grub-emu.c: Move from here...
24707 * kern/emu/main.c: ...to here.
24708 * util/hostdisk.c: Move from here...
24709 * kern/emu/hostdisk.c: ...to here.
24710 * util/hostfs.c: Move from here...
24711 * kern/emu/hostfs.c: ...to here.
24712 * util/mm.c: Move from here...
24713 * kern/emu/mm.c: ...to here.
24714 * util/pci.c: Move from here...
24715 * bus/emu/pci.c: ...to here.
24716 * util/sdl.c: Move from here...
24717 * video/emu/sdl.c: ...to here.
24718 * util/time.c: Move from here...
24719 * kern/emu/time.c: ...to here.
24720 * util/usb.c: Move from here...
24721 * bus/usb/emu/usb.c: ...to here.
24722
24723 * include/grub/emu/misc.h: New header for grub-emu functions.
24724 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24725
24726 * conf/any-emu.rmk: Rule updates for above renames.
24727 * conf/common.rmk: Likewise.
24728 * conf/i386-pc.rmk: Likewise.
24729 * conf/i386-qemu.rmk: Likewise.
24730 * conf/mips.rmk: Likewise.
24731 * conf/sparc64-ieee1275.rmk: Likewise.
24732 * conf/x86-efi.rmk: Likewise.
24733
24734 * disk/lvm.h: #include updates for above renames.
24735 * util/grub-mkrelpath.c: Likewise.
24736 * util/grub-probe.c: Likewise.
24737 * util/i386/pc/grub-setup.c: Likewise.
24738 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24739 * kern/emu/console.c: Likewise.
24740 * kern/emu/getroot.c: Likewise.
24741 * kern/emu/hostdisk.c: Likewise.
24742 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24743
24744 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24745 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24746 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24747 * util/misc.c: Remove grub-emu functions.
24748
cced9145
VS
247492010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24750
24751 Fix gfxmenu crash.
24752 Reported by: Thorsten Grützmacher.
24753
24754 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24755 timeout hook.
24756 (circprog_set_property): Register and unregister timeout hook.
24757 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24758 (label_destroy): Free template. and unregister hook.
24759 (label_set_state): New function.
24760 (label_set_property): Handle templates and hooks.
24761 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24762 timeout hook.
24763 (progress_bar_set_property): Register and unregister timeout hook.
24764 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24765 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24766 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24767 (update_timeout_visit): Removed.
24768 (update_timeouts): New function.
24769 (redraw_timeouts): Likewise.
24770 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24771 (grub_gfxmenu_clear_timeout): Likewise.
24772 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24773 (grub_gfxmenu_timeout_notify): Likewise.
24774 (grub_gfxmenu_timeout_notifications): New external variable.
24775 (grub_gfxmenu_timeout_register): New function.
24776 (grub_gfxmenu_timeout_unregister): Likewise.
24777
c6e5caab
VS
247782010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24779
24780 Transform (broken) vga terminal into (working) vga video driver.
24781
24782 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24783 video/i386/pc/vga.c.
24784 * include/grub/video.h (grub_video_driver_id):
24785 Add GRUB_VIDEO_DRIVER_VGA.
24786 * term/i386/pc/vga.c: Renamed to ...
24787 * video/i386/pc/vga.c: ...this
24788 (DEBUG_VGA): Removed.
24789 (CHAR_WIDTH): Likewise.
24790 (CHAR_HEIGHT): Likewise.
24791 (TEXT_WIDTH): Likewise.
24792 (TEXT_HEIGHT): Likewise.
24793 (DEFAULT_FG_COLOR): Likewise.
24794 (DEFAULT_BG_COLOR): Likewise.
24795 (colored_char): Likewise.
24796 (xpos): Likewise.
24797 (ypos): Likewise.
24798 (cursor_state): Likewise.
24799 (fg_color): Likewise.
24800 (bg_color): Likewise.
24801 (text_buf): Likewise.
24802 (page): Likewise.
24803 (font): Likewise.
24804 (framebuffer): New variable.
24805 (set_read_map): Disabled.
24806 (setup): New variable.
24807 (is_target): Likewise.
24808 (grub_vga_mod_init): Likewise.
24809 (grub_vga_mod_fini): Likewise.
24810 (check_vga_mem): Likewise.
24811 (write_char): Likewise.
24812 (write_cursor): Likewise.
24813 (scroll_up): Likewise.
24814 (grub_vga_putchar): Likewise.
24815 (grub_vga_getcharwidth): Likewise.
24816 (grub_vga_getwh): Likewise.
24817 (grub_vga_getxy): Likewise.
24818 (grub_vga_gotoxy): Likewise.
24819 (grub_vga_cls): Likewise.
24820 (grub_vga_setcolorstate): Likewise.
24821 (grub_vga_setcursor): Likewise.
24822 (grub_video_vga_init): New function.
24823 (grub_video_vga_setup): Likewise.
24824 (grub_video_vga_fini): Likewise.
24825 (update_target): Likewise.
24826 (grub_video_vga_blit_bitmap): Likewise.
24827 (grub_video_vga_blit_render_target): Likewise.
24828 (grub_video_vga_set_active_render_target): Likewise.
24829 (grub_video_vga_get_active_render_target): Likewise.
24830 (grub_video_vga_swap_buffers): Likewise.
24831 (grub_video_vga_set_palette): Likewise.
24832 (grub_video_vga_get_info_and_fini): Likewise.
24833 (grub_vga_term): Removed.
24834 (grub_video_vga_adapter): New variable.
24835 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24836 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24837
2bf61a98
VS
248382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24839
24840 * video/readers/jpeg.c: Indented.
24841
09ddcd11
VS
248422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 Various jpeg cleanups.
24845
24846 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24847 (grub_jpeg_decode_quan_table): Use sizeof.
24848 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24849
e5507505
PH
248502010-05-05 Peter Hurley <No e-mail available> (tiny change)
24851
24852 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24853 tables. Ignore non-last ac bit.
24854 (grub_jpeg_decode_quan_table): Likewise.
24855
7e720a9b
VS
248562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24857
24858 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24859 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24860 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24861 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24862 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24863 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24864
a7fc080b
VS
248652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24866
24867 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24868 error.
24869
2bf6012d
VS
248702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24871
24872 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24873
265d68cd
VS
248742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24875
24876 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24877 condition.
24878
248792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24880
24881 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24882 part.
24883
265d68cd 248842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24885
24886 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24887 pointers.
24888
265d68cd 248892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24890
24891 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24892
d1b61374
CF
248932010-05-01 Christian Franke <franke@computer.org>
24894
24895 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24896 Remove broken Cygwin path conversion.
24897 * util/misc.c: [__CYGWIN__] Add include and define.
24898 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24899 for Cygwin 1.7.
24900 (make_system_path_relative_to_its_root): Simplify loop, replace early
24901 return by break.
24902 [__CYGWIN__] Add conversion to win32 path.
24903 Include "/" case in trailing slash removal.
24904
3558c6e9
VS
249052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24908 Reported by: Seth Goldberg
24909
f5f3ff93
VS
249102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 * commands/help.c (grub_cmd_help): Fix a typo.
24913 Reported by: Seth Goldberg
24914
d8b5cd40
VS
249152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24918 name and add N_.
24919 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24920 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24921 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24922 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24923 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24924 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24925 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24926 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24927 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24928 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24929 * normal/context.c (GRUB_MOD_INIT): Likewise.
24930 * normal/main.c (GRUB_MOD_INIT): Likewise.
24931 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24932 * term/serial.c (GRUB_MOD_INIT): Likewise.
24933 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24934
88c14915
VS
249352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24936
24937 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24938 extra == 0.
24939
165134bc
VS
249402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 * commands/iorw.c: New file.
24943 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24944 (iorw_mod_SOURCES): New variable.
24945 (iorw_mod_CFLAGS): Likewise.
24946 (iorw_mod_LDFLAGS): Likewise.
24947
c5ac9b32
VS
249482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24949
24950 Hotkey support
24951
24952 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24953 * normal/main.c (hotkey_aliases): New variable.
24954 (grub_normal_add_menu_entry): Parse "--hotkey".
24955 * normal/menu_text.c (run_menu): Handle hotkeys.
24956
ce60689c
VS
249572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * kern/i386/coreboot/init.c (grub_machine_init): Call
24960 grub_machine_mmap_init on qemu.
24961
0359d006
VS
249622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 * boot/i386/qemu/boot.S: Add a missing .code16.
24965
7819a456
VS
249662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 Use LBIO on coreboot.
24969
24970 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24971 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24972 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24973 New declaration.
24974 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24975 grub_machine_mmap_init on coreboot.
24976 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24977 GRUB_LINUXBIOS_MEMBER_LINK.
24978 (grub_machine_mmap_iterate): Fix declaration.
24979 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24980
7210dca9
VS
249812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 Split coreboot and multiboot ports.
24984
24985 * conf/i386-multiboot.rmk: New file.
24986 * configure.ac: Add multiboot port.
24987 * include/grub/i386/multiboot/boot.h: New file.
24988 * include/grub/i386/multiboot/console.h: Likewise.
24989 * include/grub/i386/multiboot/init.h: Likewise.
24990 * include/grub/i386/multiboot/kernel.h: Likewise.
24991 * include/grub/i386/multiboot/loader.h: Likewise.
24992 * include/grub/i386/multiboot/memory.h: Likewise.
24993 * include/grub/i386/multiboot/serial.h: Likewise.
24994 * include/grub/i386/multiboot/time.h: Likewise.
24995 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24996 * loader/multiboot.c: Likewise.
24997 * loader/multiboot_mbi2.c: Likewise.
24998 * util/grub-mkrescue.in: Generate multiboot rescue.
24999
6f8aaf68
VS
250002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25001
3080f7a7
VS
25002 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25003
250042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25005
25006 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25007
25008 * commands/terminal.c (abstract_terminal): New struct.
25009 (handle_command): New function. Based on grub_cmd_terminal_input.
25010 (grub_cmd_terminal_input): Use handle_command.
25011 (grub_cmd_terminal_output): Use handle_command.
25012
a8ebb841
BC
250132010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25014
25015 Fix comment handling.
25016
25017 * tests/grub_script_comments.in: New testcase.
25018 * conf/tests.rmk: Rules for new testcase.
25019 * script/yylex.l: Updated flex rules.
25020
bb06ba08
ST
250212010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25022
25023 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25024 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25025 if argc is 1.
bb06ba08 25026
cc9d2425
VS
250272010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25028
25029 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25030 autogen issues.
25031
460d8402
CF
250322010-04-26 Christian Franke <franke@computer.org>
25033
25034 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25035 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25036 (grub_get_prefix): Remove function.
25037 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25038 make_system_path_relative_to_its_root ().
25039 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25040
553c01f9
CF
250412010-04-24 Christian Franke <franke@computer.org>
25042
25043 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25044 (kernel_img_LDFLAGS): Remove -static-libgcc.
25045
2aec1692
CF
250462010-04-24 Christian Franke <franke@computer.org>
25047
25048 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25049 and CHECK_END_SYMBOL if grub-emu is built.
25050 Unset TARGET_OBJ2ELF if grub-emu is built
25051 without module support.
25052
f67dc308
JS
250532010-04-24 Jiro SEKIBA <jir@unicus.jp>
25054
25055 Nilfs2 support.
25056
25057 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25058 (grub_fstest_SOURCES): Likewise.
25059 (pkglib_MODULES): Add nilfs2.mod.
25060 (nilfs2_mod_SOURCES): New variable.
25061 (nilfs2_mod_CFLAGS): Likewise.
25062 (nilfs2_mod_LDFLAGS): Likewise.
25063 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25064 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25065 * fs/nilfs2.c: New file.
25066
4ba8d354
VS
250672010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25068
25069 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25070 is not supported.
25071
0d2c20c6
GS
250722010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25073
25074 Add grub-mkconfig support for NetBSD.
25075
25076 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25077 * util/grub-mkconfig.in: export new NetBSD specific variables.
25078 * po/POTFILES-shell: added 10_netbsd.in.
25079 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25080
bc4a2d83
BC
250812010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25082
25083 Fix emu build with grub-emu-pci and grub-emu-modules.
25084
25085 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25086 functions.
25087 * include/grub/libpciaccess.h: New file.
25088 * conf/any-emu.rmk: Update kernel headers for emu build.
25089
f48c87aa
VS
250902010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25091
25092 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25093
18959385
VS
250942010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25095
25096 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25097
0037de3f
VS
250982010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25099
25100 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25101 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25102 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25103 util/ieee1275/ofpath.c.
25104 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25105 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25106 * include/grub/sparc64/ieee1275/boot.h
25107 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25108 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25109 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25110 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25111 const char *.
25112 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25113 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25114 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25115 install.
25116
38e55e90
GS
251172010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25118
25119 * util/grub-mkconfig.in: Corrected two == equality tests.
25120 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25121 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25122 expect a number appended to it.
25123 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25124 expects a number appended to it.
25125
a9e6ff28
VS
251262010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25127
25128 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25129
0b830b8f
VS
251302010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25131
25132 * util/hostdisk.c (make_device_name): Change to new partition naming.
25133
0973daeb
VS
251342010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25137
460d8402 251382010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25139
25140 * Makefile.in: Add missing localedir setting.
25141
0b456309
CW
251422010-04-14 Colin Watson <cjwatson@ubuntu.com>
25143
25144 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25145 mistake in r2156. Noticed by Anthony Fok.
25146
25147 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25148 @localedir@.
25149 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25150
08f46d62
BC
251512010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25152
25153 Fix a spurious, uninitialized variable warning.
25154
25155 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25156 Initialize variable, shdr.
25157 (grub_freebsd_load_elfmodule): Likewise.
25158 (grub_freebsd_load_elf_meta): Likewise.
25159
8c4a72d4
BC
251602010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25161
25162 Fix for escaped dollar in double quoted strings.
25163
25164 * script/yylex.l: Updated flex rules.
25165 * conf/tests.rmk: Rule for new testcase.
25166 * tests/grub_script_dollar.in: New testcase.
25167
ce44826e
CPE
251682010-04-13 Carles Pina i Estany <carles@pina.cat>
251692010-04-13 Colin Watson <cjwatson@ubuntu.com>
25170
25171 Enclose all translated strings in grub.cfg in single quotes, and
25172 escape them appropriately (Ubuntu bug #552921).
25173
25174 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25175 * util/grub.d/10_hurd.in: Use it.
25176 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25177 * util/grub.d/10_linux.in (linux_entry): Likewise.
25178
4b0cd8f8
VS
251792010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 Fix cygwin compilation.
25182
25183 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25184 * include/grub/misc.h (__register_frame_info)
25185 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25186 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25187 * kern/misc.c (__register_frame_info)
25188 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25189 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25190
01fcf061
VS
251912010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25192
25193 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25194
5d04b11e
VS
251952010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 Unify libgcc processing.
25198
25199 * Makefile.in (kernel_img_LDFLAGS): New variable.
25200 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25201 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25202 overwriting.
25203 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25204 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25205 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25206 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25207 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25208 overwriting. Remove -lgcc and -static-libgcc
25209 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25210 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25211 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25212 (kernel_img_LDFLAGS): Append instead of overwriting.
25213 Remove -lgcc and -static-libgcc
25214 * conf/sparc64-ieee1275.rmk: Likewise.
25215 * include/grub/powerpc/libgcc.h: Move to ...
25216 * include/grub/libgcc.h: .. this.
25217 * include/grub/libgcc.h: Don't export most of the function on x86.
25218 (__bswapsi2): New export.
25219 (__bswapdi2): Likewise.
25220 * include/grub/mips/libgcc.h: Removed.
25221 * include/grub/sparc64/libgcc.h: Likewise.
25222
b7f3ac29
VS
252232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25224
25225 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25226 disk_info_msg (conflicts with gettexting into languages with cases).
25227
2c7031b1
GS
252282010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25229
25230 Add grub-probe support for NetBSD.
25231
25232 * util/getroot.c (find_root_device): Convert block device to
25233 character device on NetBSD.
25234 * util/probe.c (probe): Require character device on NetBSD.
25235 * util/hostdisk.c: NetBSD specific headers.
25236 (configure_device_driver): new function to tune device driver
25237 parameters (currently only for NetBSD floppy driver).
25238 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25239 via disklabel ioctl).
25240 (open_device): call configure_device_driver on NetBSD.
25241 (convert_system_partition_to_system_disk): NetBSD specific code.
25242 (device_is_wholedisk): Likewise.
25243 (grub_util_biosdisk_get_grub_dev): Likewise.
25244 (make_device_name): Fixed a typo in bsd_part_str.
25245 * configure.ac: check for opendisk() and getrawpartition() on
25246 NetBSD and set LIBUTIL.
25247 * Makefile.in: add LIBUTIL to LIBS.
25248
f516290c
BC
252492010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25250
25251 Documentation fix.
25252
25253 * util/grub-script-check.c: Better help message.
25254
d8dcc0df
BC
252552010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25256
25257 Fix FreeBSD build.
25258
25259 * configure.ac: Flex version check.
25260 * conf/common.rmk: Add -Wno-error to sh.mod.
25261 * script/yylex.l: Remove all #pragma.
25262
6734334a
VS
252632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25266 prototype.
25267 Reported by: Seth Goldberg.
25268
daea6abd
VS
252692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25270
25271 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25272 Rename "module" to "module2".
25273 Reported by: Seth Goldberg.
25274
f2fd9d2b
VS
252752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25278 EXPORT_FUNC.
25279 Reported by: Seth Goldberg.
25280
be124579
VS
252812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 * lib/posix_wrap/locale.h: Add missing file.
25284 Reported by: Seth Goldberg.
25285
ef5da797
VS
252862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 grub-emu module load support.
25289
25290 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25291 NO_DYNAMIC_MODULES switched to this.
25292 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25293 (CFLAGS): Likewise.
25294 * conf/any-emu.rmk: Generate symlist.
25295 (kernel_img_HEADERS): Add util/datetime.h.
25296 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25297 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25298 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25299 kern/$(target_cpu)/cache.S.
25300 * configure.ac (grub-emu-modules): New option.
25301 * genmk.rb: Handle multiple source lists.
25302 * include/grub/sdl.h: New file.
25303 * include/grub/libusb.h: Likewise.
25304 * util/grub-emu.c (main): Hanle (host) root.
25305 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25306 GRUB_ERR_UNKNOWN_DEVICE.
25307 * util/misc.c: Move mm functions to ...
25308 * util/mm.c: ... here. All users updated.
25309
47822096
VS
253102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25313 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25314 missing files.
25315 (maintainer-clean): Remove libgcrypt-grub.
25316
5d7e7445
VS
253172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25318
25319 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25320
25f4e252
EC
253212010-04-09 EFI Coder <eficoder@hotmail.com>
25322
25323 * normal/menu_text.c (print_message): Clean up the message and show
25324 the Fn information when on EFI
25325 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25326
027de555
VS
253272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25328
25329 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25330 All users updated.
25331 * normal/crypto.c (read_crypto_list): Likewise.
25332 * normal/dyncmd.c (read_command_list): Likewise.
25333 * normal/term.c (read_terminal_list): Likewise.
25334 * normal/main.c (read_lists): Use explicit prefix.
25335 (read_lists_hook): Use read_lists.
25336 (grub_normal_execute): Likewise.
25337
47779711
VS
253382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25339
25340 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25341 Reported by: Thomas Schmitt.
25342 Add -no-emul-boot to grub-mkisofs parameters.
25343
1118c32e
VS
253442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * font/font.c: Indented.
25347
7d652447
BC
253482010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25349
25350 Elif support to GRUB script (by Deepak Vankadaru).
25351
25352 * tests/grub_script_if.in: New testcase.
25353 * conf/tests.rmk: Rule for new testcase.
25354 * script/parser.y: Grammar rules for elif.
25355
34bb22df
BC
253562010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25357
25358 While and until loops support to GRUB script.
25359
25360 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25361 (grub_script_create_cmdwhile): New function prototype.
25362 (grub_script_execute_cmdwhile): New function prototype.
25363 * script/execute.c (grub_script_execute_cmdwhile): New function.
25364 * script/parser.y (command): New commands.
25365 (whilecmd): New grammar rule.
25366 (untilcmd): New grammar rule.
25367 * script/script.c (grub_script_create_cmdwhile): New function.
25368 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25369 function.
25370
25371 * tests/grub_script_while1.in: New testcase.
25372 * conf/tests.rmk: Rule for new testcase.
25373
e215d8e0
VS
253742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25375
25376 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25377 as *.jpg.
25378
d7c43ba1
MV
253792010-04-09 Mario Vazquez <mariovazq@gmail.com>
25380
25381 GRUB_BACKGROUND support.
25382
25383 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25384 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25385
d64795c0
VS
253862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25387
25388 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25389 Idea by: Mario Vazquez
d64795c0
VS
25390
25391 * util/grub.d/00_header.in: Load pf2 and image modules.
25392
f267f83a
VS
253932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 grub-mkconfig multiple terminal support.
25396
25397 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25398 * util/grub.d/00_header.in: Likewise.
25399
b7841ceb
VS
254002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25401
25402 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25403 we use cd $(srcdir).
25404
df60998c
CW
254052010-04-08 Colin Watson <cjwatson@ubuntu.com>
25406
25407 * util/grub.d/10_linux.in: Only use the first word of
25408 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25409 spaces in GRUB_DISTRIBUTOR.
25410 * util/grub.d/10_kfreebsd.in: Likewise.
25411 * util/grub.d/10_hurd.in: Likewise.
25412
fa09c82e
BC
254132010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25414
14e18ae3 25415 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25416
25417 * tests/util/grub-shell.in: Remove -serial stdio option.
25418
daf892b3
BC
254192010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25420
25421 POSIX header file wrappers.
25422
25423 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25424 equivalents.
25425 * lib/posix_wrap/ctype.h: Likewise.
25426 * lib/posix_wrap/errno.h: Likewise.
25427 * lib/posix_wrap/langinfo.h: Likewise.
25428 * lib/posix_wrap/limits.h: Likewise.
25429 * lib/posix_wrap/localcharset.h: Likewise.
25430 * lib/posix_wrap/stdint.h: Likewise.
25431 * lib/posix_wrap/stdio.h: Likewise.
25432 * lib/posix_wrap/stdlib.h: Likewise.
25433 * lib/posix_wrap/string.h: Likewise.
25434 * lib/posix_wrap/sys/types.h: Likewise.
25435 * lib/posix_wrap/unistd.h: Likewise.
25436 * lib/posix_wrap/wchar.h: Likewise.
25437 * lib/posix_wrap/wctype.h: Likewise.
25438 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25439 (grub_script.yy.h): Likewise.
25440 * script/yylex.l: Remove POSIX emulation #defines.
25441 * Makefile.in (POSIX_CFLAGS): New variable.
25442 (GNULIB_UTIL_CFLAGS): Likewise.
25443
25444 Regexp support.
25445
25446 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25447 (regexp_mod_SOURCES): New variable.
25448 (regexp_mod_CFLAGS): Likewise.
25449 (regexp_mod_LDFLAGS): Likewise.
25450 * commands/regexp.c: New file.
25451 * gnulib/regcomp.c: New file. Imported from gnulib.
25452 * gnulib/regex.c: Likewise.
25453 * gnulib/regex_internal.c: Likewise.
25454 * gnulib/regex_internal.h: Likewise.
25455 * gnulib/regexec.c: Likewise.
25456 * gnulib/regex.h: Likewise.
25457
974ac4f7
VS
254582010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25459
25460 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25461 unsupported video mode types.
25462
2622c3ff
VS
254632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25464
25465 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25466
064cb524
VS
254672010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25470 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25471
a8c3b552
VS
254722010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25473
25474 Remove unused grub_vga_get_font.
25475
25476 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25477 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25478
187bbe3d
GS
254792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25480
25481 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25482 * include/grub/misc.h: Likewise.
25483
b9396631
GS
254842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25485
25486 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25487 for which failure is fatal.
25488
50479feb
GS
254892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25490
25491 * util/grub-install.in: Use mkdir -p to create grub directory.
25492 * util/i386/efi/grub-install.in: Likewise.
25493 * util/ieee1275/grub-install.in: Likewise.
25494
b1654fdf
GS
254952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25496
25497 * Makefile.in (LEX): new variable.
25498
bd5a6415
GS
254992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25500
25501 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25502 `=' and added double quotes on operands of this equality test.
25503
3db3a82b
VS
255042010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 * Makefile.in (uninstall): Remove a leftover debug echo.
25507 Reported by: Grégoire Sutre
25508
38023412
VS
255092010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 MIPS multiboot2 support.
25512
25513 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25514 (multiboot2_mod_SOURCES): New variable.
25515 (multiboot2_mod_CFLAGS): Likewise.
25516 (multiboot2_mod_LDFLAGS): Likewise.
25517 (multiboot2_mod_ASFLAGS): Likewise.
25518 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25519 definition.
25520 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25521 (MULTIBOOT_MBI_REGISTER): Likewise.
25522 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25523 (MULTIBOOT_ELF32_MACHINE): Likewise.
25524 (MULTIBOOT_ELF64_MACHINE): Likewise.
25525 * include/grub/mips/multiboot.h: New file.
25526 * include/grub/video.h (grub_video_driver_id): New type
25527 GRUB_VIDEO_DRIVER_SM712.
25528 (grub_video_get_info_and_fini): Export.
25529 (grub_video_get_palette): Likewise.
25530 (grub_video_get_driver_id): Likewise.
25531 * include/multiboot2.h: Resynced with spec.
25532 * loader/i386/multiboot.c: Moved from here ...
25533 * loader/multiboot.c: ... here. All users updated.
25534 (grub_multiboot_boot): Use platform-specific macros.
25535 * loader/i386/multiboot_elfxx.c: Moved from here ...
25536 * loader/multiboot_elfxx.c: ... here. All users updated.
25537 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25538 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25539 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25540
47674667
VS
255412010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25542
25543 Import gnulib argp module.
25544
25545 * gnulib/argp-ba.c: New file.
25546 * gnulib/argp-eexst.c: Likewise.
25547 * gnulib/argp-fmtstream.c: Likewise.
25548 * gnulib/argp-fmtstream.h: Likewise.
25549 * gnulib/argp-fs-xinl.c: Likewise.
25550 * gnulib/argp-help.c: Likewise.
25551 * gnulib/argp-namefrob.h: Likewise.
25552 * gnulib/argp-parse.c: Likewise.
25553 * gnulib/argp-pin.c: Likewise.
25554 * gnulib/argp-pv.c: Likewise.
25555 * gnulib/argp-pvh.c: Likewise.
25556 * gnulib/argp-version-etc.c: Likewise.
25557 * gnulib/argp-version-etc.h: Likewise.
25558 * gnulib/argp-xinl.c: Likewise.
25559 * gnulib/argp.h: Likewise.
25560
495442ed
VS
255612010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25562
25563 * kern/device.c (grub_device_iterate): Clear errors after failed
25564 opening device.
25565
f9fd65df
VS
255662010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25569 returned by firmware.
25570
af09641e
VS
255712010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25572
25573 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25574 compilation on coreboot and qemu
25575
016883a5
VS
255762010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25577
25578 * include/multiboot2.h: Resync with spec.
25579
f97e1f7d
VS
255802010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 Multiboot2 tag support
25583
25584 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25585 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25586 Remove loader/multiboot_loader.c.
25587 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25588 (grub_multiboot2_real_boot): Likewise.
25589 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25590 (grub_get_multiboot_mmap_count): New proto.
25591 (grub_fill_multiboot_mmap): Likewise.
25592 (grub_multiboot_set_video_mode): Likewise.
25593 (grub_multiboot_set_console): Likewise.
25594 (grub_multiboot_load): Likewise.
25595 (grub_multiboot_load_elf): Likewise.
25596 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25597 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25598 * include/multiboot.h: Resynced with specification.
25599 * include/multiboot2.h: Resynced with specification.
25600 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25601 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25602 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25603 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25604 users updated.
25605 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25606 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25607 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25608 Removed.
25609 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25610 Moved from here...
25611 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25612 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25613 Moved from here...
25614 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25615 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25616 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25617 All users updated.
25618 * loader/i386/multiboot_mbi2.c: New file.
25619
3506b90b
VS
256202010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25621
25622 Resync with gnulib.
25623
25624 * Makefile.in (GNULIB_CFLAGS): New variable.
25625 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25626 (grub_script_check_CFLAGS): New variable.
25627 * gnulib/alloca.h: Resync with gnulib.
25628 * gnulib/error.c: Likewise.
25629 * gnulib/error.h: Likewise.
25630 * gnulib/fnmatch.c: Likewise.
25631 * gnulib/fnmatch_loop.c: Likewise.
25632 * gnulib/getdelim.c: Likewise.
25633 * gnulib/getline.c: Likewise.
25634 * gnulib/getopt.c: Likewise.
25635 * gnulib/getopt1.c: Likewise.
25636 * gnulib/getopt_int.h: Likewise.
25637 * gnulib/gettext.h: Likewise.
25638 * gnulib/progname.c: Likewise.
25639 * gnulib/progname.h: Likewise.
25640
394a3120
GS
256412010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25642
25643 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25644 which is the case with --disabled-nls.
25645
25646 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25647 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25648 * util/misc.c: Likewise.
25649 * util/mkisofs/mkisofs.c: Likewise.
25650 * util/mkisofs/mkisofs.h: Likewise.
25651
969d1c78
VS
256522010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 Simplify Apple CC support.
25655
25656 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25657 Add 0 byte at the end not to have a symbol with empty target.
25658 * mmap/i386/pc/mmap_helper.S: Likewise.
25659 * genmk.rb: Ignore errors 2030 and 2050.
25660 * kern/i386/pc/startup.S: Use LOCAL when possible.
25661
8d2977bb
BC
256622010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25663
25664 Testcase and the fix for final semicolon on cmdline.
25665
25666 * tests/grub_script_final_semicolon.in: New testcase.
25667 * conf/tests.rmk: Rules for the new testcase.
25668 * script/parser.y: Grammar fix.
25669
a7bd6915
BC
256702010-03-26 BVK Chaitanya <bvk@localhost>
25671
25672 Blank lines testcase for GRUB script.
25673
25674 * tests/grub_script_blanklines.in: New testcase.
25675 * conf/tests.rmk: Rules for the new testcase.
25676
e4ff6628
VS
256772010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 Don't use __FILE__.
25680
25681 * genmk.rb: Add -DGRUB_FILE to all C targets.
25682 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25683 * include/grub/list.h: Likewise.
25684 * include/grub/misc.h: Likewise.
25685 * include/grub/mm.h: Likewise.
25686 * include/grub/test.h: Likewise.
25687 * kern/mm.c: Likewise.
25688 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25689
6a5cf6b6
VS
256902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25691
25692 Sunpc partitions support.
25693
25694 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25695 (grub_fstest_SOURCES): Likewise.
25696 (pkglib_MODULES): Add part_sunpc.mod.
25697 (part_sunpc_mod_SOURCES): New variable.
25698 (part_sunpc_mod_CFLAGS): Likewise.
25699 (part_sunpc_mod_LDFLAGS): Likewise.
25700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25701 * partmap/sunpc.c: New file.
25702
746d9045
BC
257032010-03-26 BVK Chaitanya <bvk@localhost>
25704
25705 For loop support to GRUB script.
25706
25707 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25708 (grub_script_create_cmdfor): New function prototype.
25709 (grub_script_execute_cmdfor): New function prototype.
25710 * script/execute.c (grub_script_execute_cmdfor): New function.
25711 * script/parser.y (command): New for command.
25712 (forcmd): New grammar rule.
25713 * script/script.c (grub_script_create_cmdfor): New function.
25714 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25715 function.
25716 * tests/grub_script_for1.in: New testcase.
25717 * conf/tests.rmk: Rules for new testcase.
25718
18486b18
VS
257192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 Nested partitions
25722
25723 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25724 'partition' is NULL, grub_partition_get_start already does that.
25725 * commands/loadenv.c (check_blocklists): Likewise.
25726 (write_blocklists): Likewise.
25727 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25728 (grub_fstest_SOURCES): Likewise.
25729 (pkglib_MODULES): Add part_bsd.mod.
25730 (part_bsd_mod_SOURCES): New variable.
25731 (part_bsd_mod_CFLAGS): Likewise.
25732 (part_bsd_mod_LDFLAGS): Likewise.
25733 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25734 (grub_emu_SOURCES): Likewise.
25735 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25736 * include/grub/bsdlabel.h: New file.
25737 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25738 'get_name'.
25739 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25740 (grub_partition_map_list): New variable.
25741 (grub_partition_map_register): Inline.
25742 (grub_partition_map_unregister): Likewise.
25743 (FOR_PARTITION_MAPS): New macro.
25744 (grub_partition_map_iterate): Removed.
25745 (grub_partition_get_start): Handle nested partitions.
25746 * include/grub/msdos_partition.h: Remove bsd-related entries.
25747 (grub_pc_partition): Remove.
25748 * kern/disk.c (grub_disk_close): Free partition data.
25749 (grub_disk_adjust_range): Handle nested partitions.
25750 * kern/partition.c (grub_partition_map_probe): New function.
25751 (grub_partition_probe): Parse name to number, handle subpartitions.
25752 (get_partmap): New function.
25753 (grub_partition_iterate): Handle subpartitions.
25754 (grub_partition_get_name): Likewise.
25755 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25756 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25757 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25758 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25759 Set 'number'.
25760 (acorn_partition_map_probe): Remove.
25761 (acorn_partition_map_get_name): Likewise.
25762 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25763 Set 'number'.
25764 Set 'index' to 0 since there can be only one partition entry per sector.
25765 (amiga_partition_map_probe): Remove.
25766 (amiga_partition_map_get_name): Likewise.
25767 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25768 Set 'number'.
25769 Set 'offset' and 'index' to real positions of partitions.
25770 (apple_partition_map_probe): Remove.
25771 (apple_partition_map_get_name): Likewise.
25772 * partmap/bsdlabel.c: New file.
25773 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25774 Set 'number'.
25775 Allocate 'data' so it can be correctly freed.
25776 Set 'index' to offset inside sector.
25777 (gpt_partition_map_probe): Remove.
25778 (gpt_partition_map_get_name): Likewise.
25779 * partmap/msdos.c (grub_partition_parse): Remove.
25780 (pc_partition_map_iterate): Don't force raw access.
25781 Set 'number'.
25782 Make 'ext_offset' a local variable.
25783 (pc_partition_map_probe): Remove.
25784 (pc_partition_map_get_name): Remove.
25785 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25786 Set 'number'.
25787 (sun_partition_map_probe): Remove.
25788 (sun_partition_map_get_name): Likewise.
25789 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25790 (grub_pcpart_type): Likewise.
25791 * util/hostdisk.c (open_device): Handle new numbering scheme.
25792 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25793 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25794 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25795 * util/grub-install.in: Insert all subpartition modules.
25796 * util/ieee1275/grub-install.in: Likewise.
25797
a3940f88
AG
257982010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25799
25800 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25801 grammar.
25802
21b99926 258032010-03-24 Colin Watson <cjwatson@ubuntu.com>
25804
25805 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25806
bed1d352
CW
258072010-03-21 Colin Watson <cjwatson@ubuntu.com>
25808
25809 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25810 match where 'make install' puts them.
25811 * util/i386/efi/grub-install.in: Likewise.
25812
c9f58427
CW
258132010-03-19 Colin Watson <cjwatson@ubuntu.com>
25814
25815 * .bzrignore: Add gentrigtables, grub-script-check,
25816 grub_script_check_init.c, grub_script_check_init.h, and
25817 trigtables.c.
25818
f84afb27
VS
258192010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * kern/parser.c: Indented.
25822
ed0e3d30
VS
258232010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25824
25825 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25826
0ea81d98
VS
258272010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25828
25829 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25830 alpha_mask_size == 0 case.
25831
0cdc2a09
BC
258322010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25833
25834 GRUB shell lexer and parser improvements.
25835
25836 * conf/any-emu.rmk: Build rule updates.
25837 * conf/common.rmk: Likewise.
25838 * conf/i386-coreboot.rmk: Likewise.
25839 * conf/i386-efi.rmk: Likewise.
25840 * conf/i386-ieee1275.rmk: Likewise.
25841 * conf/i386-pc.rmk: Likewise.
25842 * conf/powerpc-ieee1275.rmk: Likewise.
25843 * conf/x86_64-efi.rmk: Likewise.
25844
25845 * configure.ac: Configure check for flex.
25846
25847 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25848 types.
25849 (grub_lexer_param): Struct member updates.
25850 (grub_parser_param): Likewise.
25851 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25852 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25853 (grub_script_lexer_init): Prototype update.
25854 (grub_script_lexer_record_start): Likewise.
25855 (grub_script_lexer_record_stop): Likewise.
25856 (grub_script_lexer_yywrap): New function prototype.
25857 (grub_script_lexer_fini): Likewise.
25858 (grub_script_execute_argument_to_string): Removed by...
25859 (grub_script_execute_argument_to_argv): ...better version.
25860
25861 * script/execute.c (ROUND_UPTO): New macro.
25862 (grub_script_execute_cmdline): Out of memory fixes.
25863 (grub_script_execute_menuentry): Likewise.
25864 (grub_script_execute_argument_to_string): Removed. Update all
25865 users by...
25866 (grub_script_execute_argument_to_argv): ...better version.
25867 * script/function.c (grub_script_function_create): Use
25868 grub_script_execute_argument_to_argv instead of
25869 grub_script_execute_argument_to_string.
25870
25871 * script/lexer.c (check_varstate): Removed.
25872 (check_textstate): Removed.
25873 (grub_script_lexer_record_start): Likewise.
25874 (grub_script_lexer_record_stop): Likewise.
25875 (recordchar): Replaced with...
25876 (grub_script_lexer_record): ...new function.
25877 (nextchar): Removed.
25878 (grub_script_lexer_init): Rewritten.
25879 (grub_script_yylex): Rewritten.
25880 (append_newline): New function.
25881 (grub_script_lexer_yywrap): New function.
25882 (grub_script_lexer_fini): New function.
25883 (grub_script_yyerror): Sets error flag.
25884
25885 * script/yylex.l: New file.
25886 (grub_lexer_yyfree): Wrapper for flex yyffre.
25887 (grub_lexer_yyalloc): Likewise.
25888 (grub_lexer_yyrealloc): Likewise.
25889 * script/parser.y: Refactored.
25890
25891 * script/script.c (grub_script_arg_add): Out of memory fixes.
25892 (grub_script_add_arglist): Likewise.
25893 (grub_script_create_cmdline): Likewise.
25894 (grub_script_create_cmdmenu): Likewise.
25895 (grub_script_add_cmd): Likewise.
25896 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25897 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25898 unnecessary code.
25899
25900 * tests/grub_script_echo1.in: New testcase.
25901 * tests/grub_script_vars1.in: New testcase.
25902 * tests/grub_script_echo_keywords.in: New testcase.
25903
1d63a066
VS
259042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25905
25906 Remove some redundancy in build system.
25907
25908 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25909 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25910 (TARGET_LDFLAGS): Add -nostdlib.
25911 (TARGET_IMG_LDFLAGS): Likewise.
25912 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25913 anything since mmap isn't available.
25914 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25915 Add util/time.c.
25916 (pkglib_MODULES): Remove reboot.mod.
25917 (reboot_mod_SOURCES): Removed.
25918 (reboot_mod_CFLAGS): Likewise.
25919 (reboot_mod_LDFLAGS): Likewise.
25920 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25921 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25922 (DEFSYMFILES): Add kernel_syms.lst.
25923 (kernel_img_HEADERS): Add common headers.
25924 (symlist.c): New target.
25925 (kernel_syms.lst): Likewise.
25926 (pkglib_MODULES): Add memdisk.mod.
25927 (memdisk_mod_SOURCES): New variable.
25928 (memdisk_mod_CFLAGS): Likewise.
25929 (memdisk_mod_LDFLAGS): Likewise.
25930 (pkglib_MODULES): Add reboot.mod.
25931 (reboot_mod_SOURCES): New variable.
25932 (reboot_mod_CFLAGS): Likewise.
25933 (reboot_mod_LDFLAGS): Likewise.
25934 (pkglib_MODULES): Add date.mod.
25935 (date_mod_SOURCES): New variable.
25936 (date_mod_CFLAGS): Likewise.
25937 (date_mod_LDFLAGS): Likewise.
25938 (pkglib_MODULES): Add datehook.mod.
25939 (datehook_mod_SOURCES): New variable.
25940 (datehook_mod_CFLAGS): Likewise.
25941 (datehook_mod_LDFLAGS): Likewise.
25942 (pkglib_MODULES): Add lsmmap.mod.
25943 (lsmmap_mod_SOURCES): New variable.
25944 (lsmmap_mod_CFLAGS): Likewise.
25945 (lsmmap_mod_LDFLAGS): Likewise.
25946 (pkglib_MODULES): Add boot.mod.
25947 (boot_mod_SOURCES): New variable.
25948 (boot_mod_CFLAGS): Likewise.
25949 (boot_mod_LDFLAGS): Likewise.
25950 * conf/i386-coreboot.rmk: Removed redundant parts.
25951 * conf/i386-ieee1275.rmk: Likewise.
25952 * conf/i386-pc.rmk: Likewise.
25953 * conf/mips-yeeloong.rmk: Likewise.
25954 * conf/mips.rmk: Likewise.
25955 * conf/powerpc-ieee1275.rmk: Likewise.
25956 * conf/sparc64-ieee1275.rmk: Likewise.
25957 * conf/x86_64-efi.rmk: Likewise.
25958 * conf/i386-coreboot.rmk: Moved qemu parts ..
25959 * conf/i386-qemu.rmk: ... here
25960 * conf/i386-efi.rmk: Moved common parts to...
25961 * conf/x86-efi.rmk: ... here.
25962 * conf/i386.rmk: Added modules common to all x86 variants.
25963 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25964 * disk/memdisk.c: Remove grub/machine/kernel.h.
25965 * gensymlist.sh.in: Include symbol.h.
25966 * hook/datehook.c: Correct module name.
25967 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25968 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25969 * include/grub/i386/efi/serial.h: New file.
25970 * include/grub/x86_64/efi/serial.h: Likewise.
25971 * util/time.c: Likewise.
25972 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25973
463ac55f
CK
259742010-03-14 Colin King <colin.king@ubuntu.com>
259752010-03-14 Colin Watson <cjwatson@ubuntu.com>
25976
25977 Shrink the pre-partition-table part of boot.img by eight bytes.
25978
25979 * boot/i386/pc/boot.S (ERR): New macro.
25980 (chs_mode): Use ERR.
25981 (geometry_error): Likewise.
25982 (hd_probe_error): Remove. This is only used once, so we wrwite
25983 it inline instead.
25984 (read_error): Instead of printing read_error_string, just set up
25985 %si and fall through to ...
25986 (error_message): ... this new function, also used by ERR.
25987
08e46ede
CW
259882010-03-14 Colin Watson <cjwatson@ubuntu.com>
25989
25990 Speed up consecutive hostdisk operations on the same device.
25991
25992 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25993 (grub_util_biosdisk_open): Initialise disk->data.
25994 (struct linux_partition_cache): New structure.
25995 (linux_find_partition): Cache partition start positions; these are
25996 expensive to compute on every read and write.
25997 (open_device): Cache open file descriptor in disk->data, so that we
25998 don't have to reopen it and flush the buffer cache for consecutive
25999 operations on the same device.
26000 (grub_util_biosdisk_close): New function.
26001 (grub_util_biosdisk_dev): Set `close' member.
26002
26003 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26004 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26005 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26006 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26007 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26008
4a6d2d06
VS
260092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26010
26011 Compile parts of grub-emu as modules.
26012
26013 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26014 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26015 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26016 (all-local): Add $(GRUB_EMU).
26017 (install-local): Install $(GRUB_EMU).
26018 (uninstall): Uninstall $(GRUB_EMU).
26019 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26020 * kern/dl.c: Likewise.
26021 * commands/sleep.c: Not include machine/time.h.
26022 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26023 (COMMON_CFLAGS): Likewise.
26024 (sbin_UTILITIES): Remove grub-emu.
26025 (grub_emu_SOURCES): Removed.
26026 (kernel_img_RELOCATABLE): New variable.
26027 (pkglib_PROGRAMS): Add kernel.img.
26028 (kernel_img_SOURCES): New variable
26029 (kernel_img_CFLAGS): Likewise.
26030 (kernel_img_LDFLAGS): Likewise.
26031 (TARGET_NO_STRIP): Likewise.
26032 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26033 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26034 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26035 (grub-emu): New target.
26036 (GRUB_EMU): New variable.
26037 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26038 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26039 * loader/xnu.c: Likewise.
26040 * include/grub/pci.h: Likewise.
26041 * genemuinit.sh: New file.
26042 * genemuinitheader.sh: Likewise.
26043 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26044 Support TARGET_NO_DYNAMIC_MODULES.
26045 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26046 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26047 * disk/loopback.c: Likewise.
26048 * font/font_cmd.c: Likewise.
26049 * partmap/acorn.c: Likewise.
26050 * partmap/amiga.c: Likewise.
26051 * partmap/apple.c: Likewise.
26052 * partmap/gpt.c: Likewise.
26053 * partmap/msdos.c: Likewise.
26054 * partmap/sun.c: Likewise.
26055 * parttool/msdospart.c: Likewise.
26056 * term/gfxterm.c: Likewise.
26057 * video/bitmap.c: Likewise.
26058 * video/readers/jpeg.c: Likewise.
26059 * video/readers/png.c: Likewise.
26060 * video/readers/tga.c: Likewise.
26061 * video/video.c: Likewise.
26062 * util/grub-emu.c (read_command_list): Removed.
26063 (main): Don't call util_init_nls.
26064 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26065 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26066
91fdd2ed
VS
260672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26070 date.mod, datehook.mod.
26071 (datetime_mod_SOURCES): New variable.
26072 (datetime_mod_CFLAGS): Likewise.
26073 (datetime_mod_LDFLAGS): Likewise.
26074 (date_mod_SOURCES): Likewise.
26075 (date_mod_CFLAGS): Likewise.
26076 (date_mod_LDFLAGS): Likewise.
26077 (datehook_mod_SOURCES): Likewise.
26078 (datehook_mod_CFLAGS): Likewise.
26079 (datehook_mod_LDFLAGS): Likewise.
26080 * conf/sparc64-ieee1275.rmk: Likewise.
26081 * lib/ieee1275/datetime.c: New file.
26082
873ccae6
VS
260832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26086 (ieee1275_fb_mod_SOURCES): New variable.
26087 (ieee1275_fb_mod_CFLAGS): Likewise.
26088 (ieee1275_fb_mod_LDFLAGS): Likewise.
26089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26090 New proto.
26091 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26092 (HEAP_MAX_ADDR): Likewise.
26093 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26094 type.
26095 Correct stop condition.
26096 (grub_ieee1275_devices_iterate): New function.
26097 * video/ieee1275.c: New file.
26098
601c97c0
VS
260992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26100
26101 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26102
26103 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26104 as scratch.
26105 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26106 SCRATCH_PAD_DISKBOOT as scratch.
26107 (bootit): Pass Openfirmware pointer in %o4.
26108 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26109 of 0x200000.
26110 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26111 with util/grub-mkrawimage.c.
26112 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26113 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26114 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26115 (grub_aout_load) [GRUB_UTIL]: Likewise.
26116 * include/grub/kernel.h (grub_modules_get_end): New proto.
26117 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26118 (SCRATCH_PAD_BOOT): New definition.
26119 (SCRATCH_PAD_DISKBOOT): Likewise.
26120 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26121 * include/grub/sparc64/ieee1275/ieee1275.h
26122 (grub_ieee1275_original_stack): New variable
26123 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26124 New definition
26125 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26126 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26127 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26128 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26129 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26130 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26131 (grub_platform_image_format_t): New type.
26132 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26133 * kern/main.c (grub_modules_get_end)
26134 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26135 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26136 (codestart): Switch stacks.
26137 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26138 variable.
26139 (grub_heap_init): Use grub_modules_get_end.
26140 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26141 stack.
26142 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26143 (main): Likewise.
26144 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26145
d68b491e
TG
261462010-03-14 Thorsten Glaser <tg@mirbsd.org>
26147
26148 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26149
4e02ed50
MK
261502010-03-08 Matt Kraai <kraai@ftbfs.org>
26151
26152 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26153 bug #559005).
26154
1f15fc1e
VS
261552010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 * genmoddep.awk: Output all missing symbols and not only first.
26158
fce5d8ff
VS
261592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26160
26161 * NEWS: Put the date of 1.98 release.
26162
d1e8a02f
VS
261632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26166 ft2build.h.
26167
696fd607
VS
261682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26169
26170 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26171 completition in the middle of string.
26172
33e2e6f3
VS
261732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26174
26175 * util/grub-mkrescue.in: Use mktemp with explicit template.
26176
b1f6d291
VS
261772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26178
26179 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26180
2ac227c7
VS
261812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26184 right pointer.
26185
8f9a632b
VS
261862010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26187
26188 Fix FreeBSD compilation.
26189
26190 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26191 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26192
60b03859
VS
261932010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26196
48a5a769
VS
261972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26200
3ab4bd77
VS
262012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26204
d116e0d8
RM
262052010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26206
26207 Support relative image path in theme file.
26208
26209 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26210 (image_set_property): Handle theme_dir and relative path.
26211
c7ef54aa
VS
262122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26213
26214 * configure.ac: Alias amd64 to x86_64.
26215
fcee14ed
VS
262162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 * NEWS: mention multiboot on EFI.
26219
d0780363
VS
262202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26221
26222 * kern/main.c (grub_load_modules): Handle errors from init functions of
26223 embeded modules.
26224
41168ea4
VS
262252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26226
26227 * normal/autofs.c (autoload_fs_module): Handle errors.
26228
b54d93ac
VS
262292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26230
26231 Disable linux.mod on qemu-mips since it's not functional and leads
26232 to compilation failure.
26233
26234 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26235 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26236 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26237 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26238 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26239 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26240 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26241 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26242 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26243 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26244 Reported by: BVK Chaitanya
26245
fc8345da
JU
262462010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26247
26248 * INSTALL: Add gettext as a dependency and add qemu to a new section
26249 "Prerequisites for make-check".
26250
4760f979
CF
262512010-03-04 Christian Franke <franke@computer.org>
26252
26253 * util/grub-pe2elf.c: Add missing include "progname.h".
26254
f209b5b2
VS
262552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26256
26257 * normal/crypto.c (read_crypto_list): Fix a typo.
26258 Reported by: Seth Goldberg.
26259
b4b7be98
VS
262602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26263 Reported by: Seth Goldberg.
b4b7be98 26264
c0ee0385
VS
262652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26268 ascii.bitmaps.
26269
a8efbf64
VS
262702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26271
26272 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26273 Reported by: Seth Goldberg.
a8efbf64 26274
08dcd913
VS
262752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26276
26277 * util/i386/efi/grub-install.in: Copy gettext files.
26278
c4d0b332
VS
262792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26282
c6f2fe52
VS
262832010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 Wait for user entry basing on presence of output rather than on errors.
26286
26287 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26288 (grub_install_newline_hook): Likewise.
26289 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26290 * normal/menu.c (show_menu): Check line_counter to determine presence
26291 of output.
26292 * normal/term.c (grub_normal_line_counter): New variable.
26293 (grub_normal_get_line_counter): New function.
26294 (grub_install_newline_hook): Likewise.
26295
5382b1e4
VS
262962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26299
5519963b
VS
263002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 * configure.ac: Update version to 1.98.
26303
72b28631
VS
263042010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * util/grub.d/10_linux.in (linux_entry): Don't default to
26307 gfxpayload=keep if Linux doesn't support video handover.
26308
c140a180
VS
263092010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26310
26311 Don't compile video modules on yeeloong since video subsystem is part
26312 of kernel.
26313
26314 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26315 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26316 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26317 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26318 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26319 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26320 * include/grub/bitmap_scale.h: Likewise.
26321 * include/grub/bufio.h: Likewise.
26322 * include/grub/font.h: Likewise.
26323 * include/grub/gfxterm.h: Likewise.
26324 * include/grub/video.h: Likewise.
26325 * include/grub/vbe.h: Don't include video_fb.h.
26326 * video/i386/pc/vbe.c: Include video_fb.h.
26327 * commands/i386/pc/vbetest.c: Include video.h.
26328
a0ca21c2
CW
263292010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26330
26331 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26332 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26333 default entry if GRUB_SAVEDEFAULT=true. This allows using
26334 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26335 saving a new default on every boot.
26336
4a8a763c
VS
263372010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26338
26339 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26340 * normal/term.c (read_terminal_list): Likewise.
26341 * normal/main.c (grub_normal_init_page): Likewise.
26342 (grub_normal_read_line_real): Likewise.
26343
607ffde2
VS
263442010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26345
26346 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26347 memory leak.
26348 Reported by: Seth Goldberg.
26349
2b8fa975
CW
263502010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26351
26352 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26353 duplicate declaration of `start'.
26354
618307dd
VS
263552010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26358 filename.
26359 Reported by: Georgy Buranov
26360
7dd05b96 263612010-02-20 Carles Pina i Estany <carles@pina.cat>
26362
26363 * util/grub-mkrawimage.c (usage): Change string formatting to
26364 improve gettext.
26365
d1484a42
MRA
263662010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26367
26368 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26369 backspace keys.
26370
42b1d186
VS
263712010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26374 Reported by: Michael Suchanek.
26375
263762010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26377
26378 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26379 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26380
d9f31a41
VS
263812010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 Remove any reference to non-free fonts.
26384
26385 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26386 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26387 uses non-free components.
26388 * font/font.c (grub_font_get_name): Remove example name.
26389 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26390 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26391 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26392 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26393
2793c71e
GB
263942010-02-16 Georgy Buranov <gburanov@gmail.com>
26395
26396 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26397
402e3779
VS
263982010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26401 Double divisor.
26402 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26403 features.
26404 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26405
0dd1e0dd
VS
264062010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26409
6fa7cfce
ST
264102010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26411
26412 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26413 * docs/grub.texi (Command-line and menu entry commands): Document play
26414 command.
26415
37c8483b
ST
264162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26417
26418 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26419 parse arguments as inline tempo and notes. Move code for playing notes
26420 to...
26421 (play): ... new function.
26422
14da0fb7
ST
264232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26424
26425 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26426 grub_uint16_t instead of short.
26427 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26428 disk from little endian to cpu endianness.
26429
04459e70
ST
264302010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26431
26432 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26433 GRUB_TICKS_PER_SECOND instead of 120.
26434
a0876943
VS
264352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26438 escape sequence after \e.
26439
e29f95dc
VS
264402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26443 non-ASCII characters.
26444
d27859b2
VS
264452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26446
26447 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26448 set root in single quotes to prevent \, from being unescaped.
26449
bc028f2f
VS
264502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26451
26452 Prevent unknown commands from stopping menuentry execution.
26453
26454 * script/execute.c (grub_script_execute_cmdline): Print error after
26455 unknown command.
26456
095f5f82
VS
264572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26460 Reported by: Pavel Pisa.
26461
8c717950
VS
264622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26463
26464 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26465
904935c3
VS
264662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26467
26468 Merge grub_ieee1275_map_physical into grub_map and rename to
26469 grub_ieee1275_map
26470
26471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26472 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26473 Remove.
26474 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26475 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26476 necessary.
26477 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26478
5b59a4e3
VS
264792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26480
26481 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26482 opening and not after.
26483
69e137e8
VS
264842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26487 constants.
26488
2c0fcc36
VS
264892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26490
26491 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26492 (alloc_phys): Use ALIGN_UP instead of align_addr.
26493
8c6052ce
VS
264942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26495
26496 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26497
17cec782
VS
264982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26501
e0128bbd
VS
265022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26503
26504 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26505 verbose dprintf.
26506
ca62070b
VS
265072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26508
26509 Fix over-4GiB seek on sparc64.
26510
26511 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26512 Replace pos_i and pos_lo with pos. All users updated.
26513 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26514 New constant.
26515 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26516 Likewise.
26517 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26518 and pos_lo.
26519
bdca2607
VS
265202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26521
26522 * util/grub-mkrawimage.c (main): Call set_program_name.
26523
da278c4d
VS
265242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 Properly align 64-bit targets.
26527
26528 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26529 (generate_image): Use ALIGN_ADDR.
26530
b274d734
VS
265312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26532
26533 Properly create cross-endian images.
26534
26535 * include/grub/types.h (grub_host_to_target_addr): New macro
26536 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26537
82da2062
VS
265382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26539
26540 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26541
7cae4377
VS
265422010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26545
26546 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26547 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26548 (grub_linux_boot): Divide by 64K when on VESA.
26549
65a533e7
VS
265502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26551
26552 Support GRUB_GFXPAYLOAD_LINUX.
26553
26554 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26555 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26556
dd01d397
VS
265572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26558
26559 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26560 to show messages instead of discarding them.
26561 Process errors after executing command and not before. Keep old method
26562 too as precaution.
26563
660960d6
VS
265642010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26565
26566 * configure.ac: Check for ft2build.h.
26567
62509f04
VS
265682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26571
473df63d
VS
265722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26573
26574 * genkernsyms.sh.in: Use TARGET_CC.
26575
c98d2a13
CW
265762010-02-07 Colin Watson <cjwatson@ubuntu.com>
26577
26578 * NEWS: Update.
26579
6e14234c
VS
265802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26581
26582 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26583 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26584 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26585
b255e9cf
YB
265862010-02-07 Yves Blusseau <blusseau@zetam.org>
26587
6e14234c 26588 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26589
98e6959d
VS
265902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 Fix warnings in grub-emu when compiling with maximum warning options.
26593
26594 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26595 (grub_arch_modules_addr): Return 0 and not NULL.
26596 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26597 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26598 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26599 of disk to dsk to avoid shadowing.
74e4934e
VS
26600 (find_free_slot): Fix prototype.
26601 * util/getroot.c (grub_util_is_dmraid): Make static.
26602 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26603 Add missing prototype.
26604 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26605
74e31b5c
VS
266062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26609 appropriately.
26610
6b2ad14b
VS
266112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26614 code out.
26615
8f891adc
VS
266162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26617
26618 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26619 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26620 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26621 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26622 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26623 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26624
74b45184
VS
266252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * include/grub/err.h (grub_err_printf): Don't export.
26628
a4bced77
VS
266292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26632
007d0695
VS
266332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26636 * kern/misc.c (grub_gettext_dummy): Make static.
26637
b6c0d9c2
VS
266382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26639
26640 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26641 by non-valid ones.
26642 * kern/term.c (grub_putchar): Likewise.
26643
f51a90d0
VS
266442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26645
26646 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26647 buggy hook call and memory leak.
26648
6846cec5
VS
266492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26652
468d69fe
VS
266532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26654
26655 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26656
51906b8c
VS
266572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26658
26659 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26660 modevar.
26661 Return grub_errno on allocation error.
26662
09706ce5
VS
266632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26664
26665 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26666
911df80c
YB
266672010-02-06 Yves Blusseau <blusseau@zetam.org>
26668
26669 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26670 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26671
3746a6bc
VS
266722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26673
26674 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26675 non-pxe disk.
26676 (grub_pxefs_open): Likewise.
26677
09706ce5
VS
266782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26679
26680 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26681 * util/grub.d/10_kfreebsd.in: Likewise.
26682 * util/grub.d/10_linux.in: Likewise.
26683
7cc192d9
VS
266842010-02-06 Colin D Bennett <colin@gibibit.com>
26685
26686 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26687 (gfxmenu_mod_SOURCES): New variable.
26688 (gfxmenu_mod_CFLAGS): Likewise.
26689 (gfxmenu_mod_LDFLAGS): Likewise.
26690 * include/grub/term.h (grub_term_set_current_output): Declare
26691 argument as const.
26692 * docs/gfxmenu-theme-example.txt: New file.
26693 * gfxmenu/gfxmenu.c: Likewise.
26694 * gfxmenu/gui_box.c: Likewise.
26695 * gfxmenu/gui_canvas.c: Likewise.
26696 * gfxmenu/gui_circular_progress.c: Likewise.
26697 * gfxmenu/gui_image.c: Likewise.
26698 * gfxmenu/gui_label.c: Likewise.
26699 * gfxmenu/gui_list.c: Likewise.
26700 * gfxmenu/gui_progress_bar.c: Likewise.
26701 * gfxmenu/gui_string_util.c: Likewise.
26702 * gfxmenu/gui_util.c: Likewise.
26703 * gfxmenu/icon_manager.c: Likewise.
26704 * gfxmenu/model.c: Likewise.
26705 * gfxmenu/named_colors.c: Likewise.
26706 * gfxmenu/theme_loader.c: Likewise.
26707 * gfxmenu/view.c: Likewise.
26708 * gfxmenu/widget-box.c: Likewise.
26709 * include/grub/gfxmenu_model.h: Likewise.
26710 * include/grub/gfxmenu_view.h: Likewise.
26711 * include/grub/gfxwidgets.h: Likewise.
26712 * include/grub/gui.h: Likewise.
26713 * include/grub/gui_string_util.h: Likewise.
26714 * include/grub/icon_manager.h: Likewise.
26715
267162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26717
26718 Agglomerate scrolling in gfxterm.
26719
26720 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26721 (grub_virtual_screen_setup): Initialise 'total_screen'.
26722 (write_char): Split to ...
26723 (paint_char): ... this ...
26724 (write_char): ... and this.
26725 (paint_char): Handle delayed scrolling.
26726 (draw_cursor): Likewise.
26727 (scroll_up): Split to ...
26728 (real_scroll): ... this ...
26729 (scroll_up): ... and this.
26730 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26731 characters.
26732 (grub_gfxterm_refresh): Call real_scroll.
26733
267342010-02-06 Colin D Bennett <colin@gibibit.com>
26735
26736 * include/grub/misc.h (grub_iscntrl): New inline function.
26737 (grub_isalnum): Likewise.
26738 (grub_strtol): Likewise.
26739
267402010-02-06 Colin D Bennett <colin@gibibit.com>
26741
26742 * normal/menu_text.c (get_entry_number): Move from here ...
26743 * normal/menu.c (get_entry_number): ... moved here.
26744 * include/grub/menu.h (grub_menu_get_default_entry_index):
26745 New prototype.
26746 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26747 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26748 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26749 (grub_menu_viewer_should_return): Likewise.
26750 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26751 * normal/menu_text.c (run_menu): Enable menu switching.
26752 * normal/menu_viewer.c (should_return): New variable.
26753 (menu_viewer_changed): Likewise.
26754 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26755 (grub_menu_viewer_should_return): New function.
26756 (menuviewer_write_hook): Likewise.
26757 (grub_menu_viewer_init): Likewise.
26758
267592010-02-06 Colin D Bennet <colin@gibibit.com>
267602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 Support for gfxterm in a window.
26763
26764 * include/grub/gfxterm.h: New file.
26765 * include/grub/video.h (struct grub_video_rect): New declaration.
26766 (grub_video_rect_t): Likewise.
26767 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26768 (refcount): New variable.
26769 (render_target): Likewise.
26770 (window): Likewise.
26771 (repaint_callback): Likewise.
26772 (grub_virtual_screen_setup): Use 'render_target'.
26773 (init_window): New function.
26774 (grub_gfxterm_init_window): Likewise.
26775 (grub_gfxterm_init): Check reference counter.
26776 Use init_window.
26777 (destroy_window): New function.
26778 (grub_gfxterm_destroy_window): Likewise.
26779 (grub_gfxterm_fini): Check reference counter.
26780 Use destroy_window.
26781 (redraw_screen_rect): Restore viewport.
26782 Use 'render_target' and 'window'.
26783 Call 'repaint_callback'.
26784 (write_char): Use 'render_target'.
26785 (draw_cursor): Likewise.
26786 (scroll_up): Restore viewport.
26787 Use 'render_target' and 'window'.
26788 Call 'repaint_callback'.
26789 (grub_gfxterm_cls): Likewise.
26790 (grub_gfxterm_refresh): Use 'window'.
26791 (grub_gfxterm_set_repaint_callback): New function.
26792 (grub_gfxterm_background_image_cmd): Use 'window'.
26793 (grub_gfxterm_get_term): New function.
26794 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26795
267962010-02-06 Colin D Bennett <colin@gibibit.com>
26797
26798 Bitmap scaling support.
26799
26800 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26801 (bitmap_scale_mod_SOURCES): New variable.
26802 (bitmap_scale_mod_CFLAGS): Likewise.
26803 (bitmap_scale_mod_LDFLAGS): Likewise.
26804 * include/grub/bitmap_scale.h: New file.
26805 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26806 (background_image_cmd_options): New variable.
26807 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26808 (cmd): Rename and change type to ...
26809 (background_image_cmd_handle): ... this. All users updated.
26810 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26811 * video/bitmap_scale.c: New file.
26812
268132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26814
26815 SDL support.
26816
26817 * Makefile.in (LIBSDL): New variable.
26818 (enable_grub_emu_sdl): Likewise.
26819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26820 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26821 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26822 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26823 * util/sdl.c: New file.
26824
268252010-02-06 Colin D Bennett <colin@gibibit.com>
268262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 Double buffering support.
26829
26830 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26831 * include/grub/video.h: Update comment.
26832 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26833 New type.
26834 (grub_video_fb_doublebuf_blit_init): New prototype.
26835 * term/gfxterm.c (scroll_up): Support double buffering.
26836 (grub_gfxterm_refresh): Likewise.
26837 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26838 (grub_video_fb_doublebuf_blit_init): Likewise.
26839 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26840 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26841 'displayed_page', 'render_page' and 'update_screen'.
26842 (grub_video_vbe_fini): Free offscreen buffer.
26843 (doublebuf_pageflipping_commit): New function.
26844 (doublebuf_pageflipping_update_screen): Likewise.
26845 (doublebuf_pageflipping_init): Likewise.
26846 (double_buffering_init): Likewise.
26847 (grub_video_vbe_setup): Enable doublebuffering.
26848 (grub_video_vbe_swap_buffers): Implement.
26849 (grub_video_vbe_set_active_render_target): Handle double buffering.
26850 (grub_video_vbe_get_active_render_target): Likewise.
26851 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26852 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26853 (grub_video_vbe_enable_double_buffering): Likewise.
26854 (grub_video_vbe_swap_buffers): Use update_screen.
26855 (grub_video_set_mode): Use double buffering.
26856
268572010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26858
26859 * maintainance/gentrigtables.py: Remove.
26860 * lib/trig.c: Likewise.
26861
26862 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26863
26864 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26865 `trigtables.c'.
26866 (trigtables.c): New rule.
26867 (gentrigtables): Likewise.
26868 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26869
268702010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26871
26872 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26873 integer constants.
26874
268752010-02-06 Colin D Bennet <colin@gibibit.com>
26876
26877 Trigonometry support.
26878
26879 * include/grub/trig.h: New file.
26880 * lib/trig.c: Likewise.
26881 * maintainance/gentrigtables.py: Likewise.
26882 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26883 (trig_mod_SOURCES): New variable.
26884 (trig_mod_CFLAGS): Likewise.
26885 (trig_mod_LDFLAGS): Likewise.
26886
5562834e
VS
268872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26890 disk devices.
26891
4f8528fc
VS
268922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26895 error.
26896
2b4068e9
VS
268972010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 * util/hostdisk.c (open_device): Don't use partition device when reading
26900 before the partition.
26901 (grub_util_biosdisk_read): Don't read from partition and before the
26902 partition in single operation.
26903 (grub_util_biosdisk_write): Don't write to partition and before the
26904 partition in single operation.
26905
399f6e4d
TL
269062010-02-03 Torsten Landschoff <torsten@debian.org>
26907
26908 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26909 last sectors.
26910
996649b0
VS
269112010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26914 CDROM reads.
26915 (grub_biosdisk_write): Refuse to write to CDROM.
26916
3b205d4d
VS
269172010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26920
61e89d9d
VS
269212010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * font/font.c (find_glyph): Check that bmp_idx is available before
26924 using it.
26925 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26926 with (font == NULL).
26927
bf7fcba2
CS
269282010-01-28 Christian Schmitt <chris@ilovelinux.de>
26929
26930 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26931
f45d2663
BC
269322010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26933
26934 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26935 * util/grub-script-check.c (getline): Fix empty lines case.
26936
ec1444e6
RM
269372010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26938
26939 * Makefile.in (check): Exit with fail status when one of the tests
26940 fails.
26941 * tests/example_functional_test.c (example_test): Fix reversed assert.
26942 * tests/example_unit_test.c (example_test): Likewise.
26943
2e1cb9bb
CW
269442010-01-28 Colin Watson <cjwatson@ubuntu.com>
26945
26946 * util/grub.d/10_linux.in: This script does not use any of the
26947 contents of gettext.sh, only the external command `gettext', so stop
26948 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26949 the same prefix as GRUB.)
26950 * util/grub.d/10_kfreebsd.in: Likewise.
26951
63533ab0
VS
269522010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26955 of the line.
26956
989e1f93
VS
269572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26958
26959 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26960 last sectors.
26961
e709ebe2
VS
269622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26963
26964 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26965 having a 4KiB and not 32KiB buffer size.
26966
27dea7ed
RM
269672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26968
26969 * util/hostfs.c: Include `<errno.h>'.
26970 (grub_hostfs_read): Handle errors from fseeko() and fread().
26971
67667b9c
RM
269722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26973
26974 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26975 loop when using read hooks on files whose size isn't sector-aligned.
26976
c294d9d8
RM
269772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26978
26979 Remove unused parameter.
26980
26981 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26982 (grub_iso9660_open): Remove initialization of `data->length'.
26983
af75a9f1
RM
269842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26985
26986 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26987 memleak conditions.
26988
254e2ce5 269892010-01-27 Carles Pina i Estany <carles@pina.cat>
26990
26991 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26992 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26993
b510928c 269942010-01-26 Carles Pina i Estany <carles@pina.cat>
26995
26996 * util/bin2h.c (usage): Fix warning (space after backslash).
26997
aa2f9dd2 269982010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26999
27000 * font/font.c: Include `grub/fontformat.h.
27001 Remove font file format constants.
27002 (grub_font_load): Use the new macros.
27003 * include/grub/fontformat.h: New file.
27004 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27005 (write_font_pf2): Use the new macros.
27006
94e7e712
RM
270072010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27010 does.
27011
3973a59a
RM
270122010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27013
27014 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27015
27016 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27017 (_start): Macroify `0x7F'.
27018
27019 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27020 (make_install_device): Use "(pxe)" as fallback prefix when booting
27021 via PXE.
27022
42e0cba3
GS
270232010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27024
27025 * configure.ac: Reset LIBS after check for libgcc symbols.
27026
847effd8
CW
270272010-01-25 Colin Watson <cjwatson@ubuntu.com>
27028
27029 * util/hostdisk.c (open_device): Add trailing newline to debug
27030 message.
27031
ea4a7e35
GS
270322010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27033
27034 * configure.ac: Check for `limits.h'.
27035 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27036
67951a53
RM
270372010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27038
27039 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27040 capitalize error strings.
27041
c273d4ce
ST
270422010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27043
27044 * util/grub.d/10_hurd.in: Add a recovery mode.
27045
69be5b74
VS
270462010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27047
27048 * configure.ac: Check for libgcc symbols with -nostdlib.
27049
fc9e5810
BC
270502010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27051
27052 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27053
4b358c0a
VS
270542010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27057 stack since heap may be unavailable at that point.
27058 (grub_ofconsole_gotoxy): Likewise.
27059
454fcd1c
VS
270602010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27061
27062 * configure.ac: Check for _restgpr_14_x.
27063 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27064 and _savegpr_* prototypes.
27065
566863ca
RM
270662010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27067
27068 Use generic grub_reboot() for i386-efi.
27069
27070 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27071 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27072 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27073
bf86e59a
VS
270742010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27075
27076 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27077 presence of "prefix" variable as it breaks when normal.mod is
27078 embedded.
27079
d645e0f8
VS
270802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27081
27082 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27083 stack since heap is unavailable at that point.
27084
f9ab2e25
VS
270852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27086
27087 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27088 (grub_freebsd_bootinfo): Rewritten.
27089 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27090
01fc7054
VS
270912010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27092
27093 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27094
caab4fd6
RM
270952010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27096
27097 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27098 domain now.
27099
67eb1427
FZ
271002010-01-20 Felix Zielcke <fzielcke@z-51.de>
27101
27102 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27103 around for handling "/" to the correct fix. Fix a memory leak. Use
27104 xstrdup instead of strdup.
27105
a9ed4ff3
VS
271062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27107
27108 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27109
271102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27111
27112 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27113
27114 * font/font.c (struct grub_font): New member 'bmp_idx'.
27115 (font_init): Initialise 'bmp_idx'.
27116 (load_font_index): Fill 'bmp_idx'.
27117 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27118
48209f4f
VS
271192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27120
27121 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27122 unnecessary calls.
27123
9f0a4bb7
VS
271242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 Move context handling out of the kernel.
27127
27128 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27129 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27130 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27131 * conf/i386-efi.rmk: Likewise.
27132 * conf/i386-ieee1275.rmk: Likewise.
27133 * conf/i386-pc.rmk: Likewise.
27134 * conf/powerpc-ieee1275.rmk: Likewise.
27135 * conf/sparc64-ieee1275.rmk: Likewise.
27136 * conf/x86_64-efi.rmk: Likewise.
27137 * include/grub/env.h: Include grub/menu.h.
27138 (grub_env_var_type): Removed.
27139 (grub_env_var): Replaced field 'type' with 'global'.
27140 (grub_env_find): New prototype.
27141 (grub_env_context_open): Remove EXPORT_FUNC.
27142 (grub_env_context_close): Likewise.
27143 (grub_env_export): Likewise.
27144 (grub_env_set_data_slot): Removed.
27145 (grub_env_get_data_slot): Likewise.
27146 (grub_env_unset_data_slot): Likewise.
27147 (grub_env_unset_menu): New prototype.
27148 (grub_env_set_menu): Likewise.
27149 (grub_env_get_menu): Likewise.
27150 * include/grub/env_private.h: New file.
27151 * include/grub/normal.h (grub_context_init): New prototype.
27152 (grub_context_fini): Likewise.
27153 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27154 * normal/context.c (grub_cmd_export): ... to here.
27155 * kern/env.c: Include env_private.h.
27156 (HASHSZ): Moved to include/grub/env_private.h.
27157 (grub_env_context): Likewise.
27158 (grub_env_sorted_var): Likewise.
27159 (current_context): Renamed from this ...
27160 (grub_current_context): ...to this. 'static' removed. All users updated.
27161 (grub_env_find): Removed 'static'.
27162 (grub_env_context_open): Moved to normal/context.c.
27163 (grub_env_context_close): Likewise.
27164 (grub_env_export): Likewise.
27165 (mangle_data_slot_name): Removed.
27166 (grub_env_set_data_slot): Likewise.
27167 (grub_env_get_data_slot): Likewise.
27168 (grub_env_unset_data_slot): Likewise.
27169 * kern/main.c (grub_set_root_dev): Don't export root.
27170 It will be done later.
27171 (grub_main): Don't export prefix.
27172 It will be done later.
27173 * normal/context.c: New file.
27174 * normal/main.c (free_menu): Use grub_env_unset_menu.
27175 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27176 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27177 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27178 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27179
8dd35b8c
VS
271802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 setpci support.
27183
27184 * commands/setpci.c: New file.
27185 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27186 (setpci_mod_SOURCES): New variable.
27187 (setpci_mod_CFLAGS): Likewise.
27188 (setpci_mod_LDFLAGS): Likewise.
27189
449193d5
VS
271902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27191
27192 Byte-addressable PCI configuration space.
27193
27194 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27195 dword address.
27196 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27197 GRUB_PCI_REG_CACHELINE.
27198 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27199 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27200 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27201 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27202 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27203 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27204 grub_pci_make_address.
27205 (lock_rom_area): Likewise.
27206 * commands/lspci.c (grub_lspci_iter): Use macroses
27207 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27208 of grub_pci_make_address.
27209 * disk/ata.c (grub_ata_pciinit): Likewise.
27210 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27211 (GRUB_PCI_REG_VENDOR): Likewise.
27212 (GRUB_PCI_REG_DEVICE): Likewise.
27213 (GRUB_PCI_REG_COMMAND): Likewise.
27214 (GRUB_PCI_REG_STATUS): Likewise.
27215 (GRUB_PCI_REG_REVISION): Likewise.
27216 (GRUB_PCI_REG_CLASS): Likewise.
27217 (GRUB_PCI_REG_CACHELINE): Likewise.
27218 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27219 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27220 (GRUB_PCI_REG_BIST): Likewise.
27221 (GRUB_PCI_REG_ADDRESSES): Likewise.
27222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27227 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27228 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27229 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27230 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27231 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27232 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27233 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27234 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27235 (GRUB_PCI_REG_MIN_GNT): Likewise.
27236 (GRUB_PCI_REG_MAX_LAT): Likewise.
27237 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27238 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27239 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27240 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27241 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27242 space.
27243
96d73208
RM
272442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27245
27246 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27247 can be reliably determined to be supported.
27248
d4484482
RM
272492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27252 that VESA is supported.
27253 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27254 supported.
27255
00308ecf
VS
272562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27259
f66924a4
RM
272602010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27261
27262 * util/misc.c (make_system_path_relative_to_its_root): Work around
27263 special-casing of "/", as previous incarnation of this routine did.
27264
cbca0ada
VS
272652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27266
27267 Fix any-emu compilation.
27268
27269 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27270 * grub_bin2h_SOURCES: New variable.
27271
34a66d99
RM
272722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27273
27274 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27275
94fabf58
RM
272762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27277
27278 * util/grub.d/00_header.in: Fix handling of locale_dir.
27279
02cf98ca
VS
272802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27281
27282 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27283 as possible unifont location (Gentoo).
27284 Reported by: Alexander Brüning
27285
327dbcd7
VS
272862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27287
27288 Don't try to generate lists for kernel.img.
27289
27290 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27291 (pkglib_MODULES): Remove kernel.img.
27292 (kernel_img_EXPORTS): Removed.
27293 (kernel_img_RELOCATABLE): New variable.
27294 * conf/x86_64-efi.rmk: Likewise.
27295 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27296
ca467290
VS
272972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27298
27299 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27300 grub_xasprintf or grub_snprintf.
27301 (grub_vsprintf): Likewise.
27302 (grub_snprintf): New proto.
27303 (grub_vsnprintf): Likewise.
27304 (grub_xasprintf): Likewise.
27305 (grub_xvasprintf): Likewise.
27306 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27307 (grub_sprintf): Removed.
27308 (grub_vsnprintf): New function.
27309 (grub_snprintf): Likewise.
27310 (grub_xvasprintf): Likewise.
27311 (grub_xasprintf): Likewise.
27312 (grub_vsprintf): Renamed to ...
27313 (grub_vsnprintf_real): ...this. New argument max_len.
27314
aca655fd
BC
273152010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27316
27317 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27318 fix grub-script-check warning.
27319
7ee92c32
VS
273202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 * include/grub/font.h (grub_font_load): Fix prototype.
27323
f80927ca
VS
273242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27327
119c50ea
VS
273282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 * include/grub/x86_64/at_keyboard.h: New file.
27331
47d5f3c1
VS
273322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 * loader/mips/linux.c: Include missing grub/i18n.h.
27335
55ff5266
RM
273362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27337
27338 * normal/menu.c (notify_execution_failure): Clarify error message.
27339
c893cc87
RM
273402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27343 return value (and revert all return statements). Update users.
27344
917dd370
CW
273452010-01-20 Dan Merillat <debian@dan.merillat.org>
27346
27347 * kern/device.c (grub_device_iterate): Allocate new part_ent
27348 structure based on sizeof (*p) rather than sizeof (p->next), to
27349 account for structure padding.
27350
27351 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27352 disk is NULL, which might happen for LVM physical volumes with no
27353 LVM signature.
27354
d4a4ee57
RM
273552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27356
27357 * loader/mips/linux.c (grub_cmd_initrd)
27358 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27359
273602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27361
27362 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27363 (grub_video_video_init, grub_video_bitmap_init)
27364 (grub_font_manager_init, grub_term_gfxterm_init)
27365 (grub_at_keyboard_init): New extern declarations.
27366 (grub_machine_init): Initialize gfxterm and at_keyboard.
27367
27368 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27369
27370 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27371 `gfxterm.mod' into core image.
27372
27373 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27374 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27375 (kernel_img_FORMAT): Copy to ...
27376
27377 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27378 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27379 (kernel_img_FORMAT): ... here, and ...
27380
27381 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27382 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27383 (kernel_img_FORMAT): ... here.
27384
27385 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27386 and input (at_keyboard) terminals in kernel.
27387 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27388
27389 (pkglib_MODULES): Remove `pci.mod'.
27390 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27391 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27392 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27393 (at_keyboard_mod_LDFLAGS): Remove variables.
27394
273952010-01-11 Felix Zielcke <fzielcke@z-51.de>
27396
27397 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27398
273992009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27400
27401 * include/grub/mips/libgcc.h: Only export symbols for functions
27402 that libgcc provides.
27403
274042009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27405
27406 MIPS support.
27407
27408 * bus/bonito.c: New file.
27409 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27410 GRUB_PCI_NUM_DEVICES.
27411 * term/i386/pc/serial.c: Move to ...
27412 * term/serial.c: ... here. All users updated.
27413 * util/i386/pc/grub-mkimage.c: Move to ...
27414 * util/grub-mkrawimage.c: ... here. All users updated.
27415 * term/i386/pc/at_keyboard.c: Move to ...
27416 * term/at_keyboard.c: ... here. All users updated.
27417 * conf/mips-qemu-mips.rmk: New file.
27418 * conf/mips-yeeloong.rmk: Likewise.
27419 * conf/mips.rmk: Likewise.
27420 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27421 mipsel-qemu-mips.
27422 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27423 to port addresses.
27424 (grub_ata_pciinit): Support CS5536.
27425 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27426 * font/font_cmd.c (loadfont_command): Open file before passing it to
27427 grub_font_load.
27428 (pseudo_file_read): New function.
27429 (pseudo_file_close): Likewise.
27430 (pseudo_fs): New structure.
27431 (load_font_module): New function.
27432 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27433 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27434 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27435 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27436 * include/grub/i386/at_keyboard.h: Split into ...
27437 * include/grub/at_keyboard.h: ... this ...
27438 * include/grub/i386/at_keyboard.h: ... and this.
27439 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27440 New prototype.
27441 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27442 updated.
27443 (grub_elf64_size): Likewise.
27444 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27445 filename.
27446 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27447 * include/grub/i386/coreboot/serial.h: Rewritten.
27448 * include/grub/i386/ieee1275/serial.h: Include
27449 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27450 * include/grub/i386/pc/serial.h: Moved from here ...
27451 * include/grub/serial.h: ... to here. All users updated.
27452 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27453 (GRUB_PCI_NUM_BUS): Likewise.
27454 (GRUB_PCI_NUM_DEVICES): Likewise.
27455 (grub_pci_device_map_range): Add missing volatile keyword.
27456 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27457 * include/grub/mips/at_keyboard.h: New file.
27458 * include/grub/mips/cache.h: Likewise.
27459 * include/grub/mips/io.h: Likewise.
27460 * include/grub/mips/kernel.h: Likewise.
27461 * include/grub/mips/libgcc.h: Likewise.
27462 * include/grub/mips/pci.h: Likewise.
27463 * include/grub/mips/qemu-mips/boot.h: Likewise.
27464 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27465 * include/grub/mips/qemu-mips/loader.h: Likewise.
27466 * include/grub/mips/qemu-mips/memory.h: Likewise.
27467 * include/grub/mips/qemu-mips/serial.h: Likewise.
27468 * include/grub/mips/qemu-mips/time.h: Likewise.
27469 * include/grub/mips/relocator.h: Likewise.
27470 * include/grub/mips/time.h: Likewise.
27471 * include/grub/mips/types.h: Likewise.
27472 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27473 * include/grub/mips/yeeloong/boot.h: Likewise.
27474 * include/grub/mips/yeeloong/kernel.h: Likewise.
27475 * include/grub/mips/yeeloong/loader.h: Likewise.
27476 * include/grub/mips/yeeloong/memory.h: Likewise.
27477 * include/grub/mips/yeeloong/pci.h: Likewise.
27478 * include/grub/mips/yeeloong/serial.h: Likewise.
27479 * include/grub/mips/yeeloong/time.h: Likewise.
27480 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27481 * kern/elf.c (grub_elf32_size): New parameter. All users
27482 updated.
27483 (grub_elf64_size): Likewise.
27484 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27485 Load modules before saying "Welcome to GRUB!".
27486 Call grub_refresh after saying "Welcome to GRUB!".
27487 * kern/mips/cache.S: New file.
27488 * kern/mips/cache_flush.S: Likewise.
27489 * kern/mips/dl.c: Likewise.
27490 * kern/mips/init.c: Likewise.
27491 * kern/mips/qemu-mips/init.c: Likewise.
27492 * kern/mips/startup.S: Likewise.
27493 * kern/mips/yeeloong/init.c: Likewise.
27494 * kern/term.c (grub_putcode): Handle NULL terminal.
27495 (grub_getcharwidth): Likewise.
27496 (grub_getkey): Likewise.
27497 (grub_checkkey): Likewise.
27498 (grub_getkeystatus): Likewise.
27499 (grub_getxy): Likewise.
27500 (grub_getwh): Likewise.
27501 (grub_gotoxy): Likewise.
27502 (grub_cls): Likewise.
27503 (grub_setcolorstate): Likewise.
27504 (grub_setcolor): Likewise.
27505 (grub_getcolor): Likewise.
27506 (grub_refresh): Likewise.
27507 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27508 (write_jump): Add hatch nop.
27509 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27510 * lib/mips/setjmp.S: New file.
27511 * loader/mips/linux.c: Likewise.
27512 * term/i386/pc/at_keyboard.c: Move from here ...
27513 * term/at_keyboard.c: ... to here.
27514 * term/i386/pc/serial.c: Moved from here ...
27515 * term/serial.c: ... to here. All users updated.
27516 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27517 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27518 (serial_translate_key_sequence): Avoid deadlock.
27519 (grub_serial_getkey): Handle backspace.
27520 (grub_serial_putchar): Fix newline handling.
27521 * util/i386/pc/grub-mkimage.c: Move from here ...
27522 * util/grub-mkrawimage.c: ... to here. All users updated.
27523 (generate_image): New parameters 'font_path' and 'format'.
27524 Support embedding font.
27525 Use grub_host_to_target* instead of grub_cpu_to_le*.
27526 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27527 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27528 (options): New option "--font".
27529 (usage): Likewise.
27530 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27531 (main): Handle "--font".
27532 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27533 (grub_virtual_screen_setup): Set bg_color_display.
27534 (redraw_screen_rect): Use bg_color_display instead of incorrect
27535 bg_color.
27536 (grub_gfxterm_cls): Likewise.
27537 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27538 Support embedding config file.
27539 (add_segments): Likewise.
27540 (options): New option "--config".
27541 (main): Handle "--config".
27542 * video/sm712.c: New file.
27543
25c2b5b3
RM
275442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27545
27546 Fix parallel builds.
27547
27548 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27549 font.c depend on ascii.h).
27550
275512010-01-12 Carles Pina i Estany <carles@pina.cat>
27552
27553 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27554
275552010-01-11 Carles Pina i Estany <carles@pina.cat>
27556
27557 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27558 By default: disabled.
27559 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27560 parameter.
27561
275622010-01-10 Carles Pina i Estany <carles@pina.cat>
27563
27564 * font/font.c: Update copyright years.
27565 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27566
275672010-01-10 Carles Pina i Estany <carles@pina.cat>
27568
27569 * font/font.c: Include `ascii.h'.
27570 (ASCII_BITMAP_SIZE): New macro.
27571 (ascii_font_glyph): Define.
27572 (ascii_glyph_lookup): New function.
27573 (grub_font_get_string_width): Change comment. If glyph not found, use
27574 ascii_glyph_lookup.
27575 (grub_font_get_glyph_with_fallback): If glyph not available returns
27576 ascii_glyph_lookup.
27577 * util/grub-mkfont.c (file_formats): New enum.
27578 (options): Add `ascii-bitmaps' new option.
27579 (usage): Add `asii-bitmaps' new option.
27580 (write_font_ascii_bitmap): New function.
27581 (write_font): Rename to ...
27582 (write_font_p2): ... this. Remove print_glyphs call.
27583 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27584 used. Call print_glyphs.
27585 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27586
275872010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27588
27589 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27590 (grub_bin2h_SOURCES): New variable.
27591 * util/bin2h.c: New file.
27592
915fc1b8
VS
275932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27594
27595 * include/multiboot.h: Resynced with spec.
27596 * include/multiboot2.h: Likewise.
27597 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27598 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27599
9444b678
RM
276002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27601
27602 * include/grub/term.h (grub_term_register_input,
27603 grub_term_register_output): Check return of terminal init()
27604 routines, and abort if errors are raised.
27605
27606 * commands/terminal.c: Update copyright year.
27607
cba98e8d
RM
276082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27609
27610 * commands/terminal.c (grub_cmd_terminal_input)
27611 (grub_cmd_terminal_output): Check return of terminal init()
27612 routines, and abort if errors are raised.
27613
6f7db5d6
VS
276142010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 * include/grub/i386/bsd.h: Fix include pathes.
27617
262bff8d
VS
276182010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 Add missing *BSD copyright headers.
27621
27622 * include/grub/aout.h: Add BSD licence.
27623 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27624 * include/grub/i386/freebsd_linker.h: ... here,
27625 * include/grub/i386/freebsd_reboot.h: ... here,
27626 * include/grub/i386/netbsd_bootinfo.h: ... here,
27627 * include/grub/i386/netbsd_reboot.h: ... here,
27628 * include/grub/i386/openbsd_bootarg.h: ... here,
27629 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27630 licence to each file.
27631
b2cab848
RM
276322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27633
27634 * acinclude.m4: Remove `nop' assembly instruction; it's not
27635 implemented by all architectures.
27636
2cb6be4b
RM
276372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27638
27639 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27640 ELILO. This is no longer necessary.
27641
a2eaee15
BC
276422010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27643
27644 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27645
27646 * util/grub-script-check.c: grub-script-check tool.
27647 * conf/common.rmk: Make rules for grub-script-check.
27648
88d17012
RM
276492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27650
27651 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27652 spotting it back in 2008. Shame on me for forgetting he did.
27653
27654 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27655
8040619d
RM
276562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27657
27658 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27659 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27660 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27661 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27662 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27663 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27664
a0c2a0f6
RM
276652010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27666
27667 * include/grub/test.h: Add license header.
27668 * tests/example_functional_test.c: Likewise.
27669 * tests/example_unit_test.c: Likewise.
27670 * tests/lib/functional_test.c: Likewise.
27671 * tests/lib/test.c: Likewise.
27672 * tests/lib/unit_test.c: Likewise.
27673
b0b13907
VS
276742010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 Use flag-based instead of hook-based video mode selection and "auto"
27677 keyword.
27678
27679 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27680 (grub_video_set_mode): Changed prototype. All users updated.
27681 (grub_video_check_mode_flag): New inline function.
27682 * video/video.c (parse_modespec): New function.
27683 (grub_video_set_mode): Parse flags and keywords.
27684
ea379330 276852010-01-17 Carles Pina i Estany <carles@pina.cat>
27686
27687 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27688 fprintf call.
27689
e15c215e
FZ
276902010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27691
27692 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27693
409ae1c9 276942010-01-16 Carles Pina i Estany <carles@pina.cat>
27695
27696 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27697 string.
27698 * util/grub-emu.c (usage): Likewise.
27699 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27700 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27701 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27702 * util/i386/pc/grub-setup.c (usage): Likewise.
27703
70a14d3d 277042010-01-16 Carles Pina i Estany <carles@pina.cat>
27705
27706 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27707 the message.
27708 (grub_util_info): Likewise.
27709 (grub_util_error): Likewise.
27710 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27711 and/or new lines in `grub_util_warna', `grub_util_info',
27712 `grub_util_error' calls.
27713 * util/getroot.c: Likewise.
27714 * util/grub-editenv.c: Likewise.
27715 * util/grub-emu.c: Likewise.
27716 * util/grub-fstest.c: Likewise.
27717 * util/grub-mkdevicemap.c: Likewise.
27718 * util/grub-mkfont.c: Likewise.
27719 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27720 * util/grub-mkrelpath.c: Likewise.
27721 * util/grub-pe2elf.c: Likewise.
27722 * util/grub-probe.c: Likewise.
27723 * util/hostdisk.c: Likewise.
27724 * util/i386/efi/grub-mkimage.c: Likewise.
27725 * util/i386/pc/grub-mkimage.c: Likewise.
27726 * util/i386/pc/grub-setup.c: Likewise.
27727 * util/ieee1275/ofpath.c: Likewise.
27728 * util/mkisofs/eltorito.c: Likewise.
27729 * util/mkisofs/rock.c: Likewise.
27730 * util/mkisofs/write.c: Likewise.
27731 * util/raid.c: Likewise.
27732 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27733 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27734
a0b766fc
VS
277352010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27736
27737 Enable multiboot on non-pc.
27738
27739 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27740 multiboot.mod and multiboot2.mod to ...
27741 * conf/i386.rmk (pkglib_MODULES): ... here.
27742 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27743 Moved to ...
27744 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27745 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27746 Moved to ...
27747 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27748 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27749 Moved to ...
27750 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27751 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27752 Moved to ...
27753 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27754 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27755 relocator.mod.
27756 (ata_mod_SOURCES): Removed.
27757 (ata_mod_CFLAGS): Likewise.
27758 (ata_mod_LDFLAGS): Likewise.
27759 (relocator_mod_SOURCES): Removed.
27760 (relocator_mod_CFLAGS): Likewise.
27761 (relocator_mod_ASFLAGS): Likewise.
27762 (relocator_mod_LDFLAGS): Likewise.
27763 Include i386.mk.
27764 * include/grub/x86_64/multiboot.h: New file.
27765 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27766 Terminate EFI.
27767
884ade56
VS
277682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27769
27770 Video multiboot support.
27771
27772 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27773 New prototype.
27774 * include/multiboot.h: Resynced with multiboot specification.
27775 * include/multiboot2.h: Likewise.
27776 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27777 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27778 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27779 (HAS_VGA_TEXT): Likewise.
27780 (accepts_video): New variable.
27781 (grub_multiboot_set_accepts_video): New function.
27782 (grub_multiboot_get_mbi_size): Account for video structures.
27783 (set_video_mode): New function.
27784 (retrieve_video_parameters): Likewise.
27785 (grub_multiboot_make_mbi): Fill video fields.
27786
0d90e8a6
VS
277872010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 Video driver ids.
27790
27791 * include/grub/video.h (grub_video_driver_id): New type.
27792 (grub_video_adapter): New member 'id'. All users updated.
27793 (grub_video_get_driver_id): New proto.
27794 * video/video.c (grub_video_get_driver_id): New function.
27795
5c71db1b 277962010-01-14 Carles Pina i Estany <carles@pina.cat>
27797
27798 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27799 `var=val'.
27800
cca15b52 278012010-01-14 Carles Pina i Estany <carles@pina.cat>
27802
27803 * normal/cmdline.c (print_completion): Gettextizze.
27804
c586fbb2 278052001-01-14 Carles Pina i Estany <carles@pina.cat>
27806
27807 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27808
ba2f6848 278092010-01-14 Carles Pina i Estany <carles@pina.cat>
27810
27811 * gettext/gettext.c (grub_gettext_translate): Push and pop
27812 grub_errno.
27813 (grub_gettext_delete_list): Change comment style.
27814 * kern/err.c (grub_error): Gettextizze.
27815 (grub_fatal): Gettextizze.
27816
0a46429a
RM
278172010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27818
27819 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27820 (grub_linux16_real_boot): ... this.
27821 * kern/i386/loader.S: Likewise.
27822 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27823 (grub_linux16_boot): New function. Switches to text mode and calls
27824 grub_linux16_real_boot().
27825
27826 * loader/i386/bsd.c: Include `<grub/video.h>'.
27827 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27828 text mode before calling grub_unix_real_boot().
27829
27830 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27831 (grub_multiboot_boot): Switch to text mode before calling
27832 grub_relocator32_boot().
27833
27834 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27835 (grub_chainloader_boot): Switch to text mode before calling
27836 grub_chainloader_real_boot().
27837
d6f93a66
RM
278382010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278392010-01-05 Colin Watson <cjwatson@ubuntu.com>
27840
27841 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27842 non-empty value.
27843
278442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278452010-01-05 Colin Watson <cjwatson@ubuntu.com>
27846
27847 * util/grub.d/00_header.in: Define a "savedefault" function for use
27848 in menu entries.
27849 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27850
278512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
278522010-01-05 Colin Watson <cjwatson@ubuntu.com>
27853
27854 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27855 saved_entry if boot_once is unset.
27856 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27857 previous saved entry (i.e. grub-reboot).
27858
278592009-12-08 Colin Watson <cjwatson@ubuntu.com>
27860
27861 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27862
278632009-12-08 Colin Watson <cjwatson@ubuntu.com>
27864
27865 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27866 `var=val'.
27867 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27868
278692009-12-08 Colin Watson <cjwatson@ubuntu.com>
27870
27871 * util/grub-reboot.in: Fix --version output.
27872 * util/grub-set-default.in: Likewise.
27873
278742009-12-08 Colin Watson <cjwatson@ubuntu.com>
27875
27876 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27877 blocks.
27878
278792009-12-08 Colin Watson <cjwatson@ubuntu.com>
27880
27881 * util/grub.d/00_header.in: Quote the value assigned to `default',
27882 in case it contains spaces.
27883
278842009-12-08 Colin Watson <cjwatson@ubuntu.com>
27885
27886 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27887 `save_default_entry' call from the macosx case to the linux case.
27888
278892009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
278902009-10-25 Colin Watson <cjwatson@ubuntu.com>
27891
27892 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27893 in `chosen' environment variable.
27894 * normal/menu_text.c (get_entry_number): Check if the variable
27895 matches the title of a menu entry.
27896 (run_menu): Pass menu to get_entry_number.
27897
27898 * util/grub-reboot.in: New file.
27899 * util/grub-set-default.in: New file.
27900 * conf/common.rmk (grub-reboot): New utility.
27901 (grub-set-default): New utility.
27902
27903 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27904 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27905 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27906 move it to `saved_entry' for the next boot. Load environment on
27907 initialisation.
27908 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27909 * util/grub.d/10_hurd.in: Likewise.
27910 * util/grub.d/10_linux.in (linux_entry): Likewise.
27911 * util/grub.d/10_windows.in: Likewise.
27912 * util/grub.d/30_os-prober.in: Likewise.
27913
27914 * util/grub-install.in: Create environment block.
27915 * util/i386/efi/grub-install.in: Likewise.
27916 * util/ieee1275/grub-install.in: Likewise.
27917 * util/sparc64/ieee1275/grub-install.in: Likewise.
27918
0934d184
BC
279192010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27920
27921 Unit testing framework for GRUB.
27922
27923 * Makefile.in: Test framework build rules for 'make check'.
27924 * conf/tests.rmk: Build rules for individual tests and framework.
27925
27926 * include/grub/test.h: Header file for whitebox tests.
27927 * tests/lib/functional_test.c: Framework support for whitebox
27928 functional tests.
27929 * tests/lib/test.c: Common whitebox testing code for unit and
27930 functional tests.
27931 * tests/lib/unit_test.c: Framework support for whitebox unit
27932 tests.
27933
27934 * tests/util/grub-shell-tester.in: Support utility for grub-script
27935 tests.
27936 * tests/util/grub-shell.in: Utility to execute grub-script
27937 commands in a Qemu instance.
27938
27939 * tests/example_functional_test.c: Example whitebox functional
27940 test.
27941 * tests/example_grub_script_test.in: Example grub-script test.
27942 * tests/example_scripted_test.in: Example scripted test.
27943 * tests/example_unit_test.c: Example whitebox unit test.
27944
9c4ffeeb
VS
279452010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27946
27947 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27948 Add loader/i386/multiboot_mbi.c.
27949 (multiboot2_mod_SOURCES): Likewise.
27950 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27951 (multiboot2_mod_SOURCES): Likewise.
27952 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27953 (grub_multiboot_make_mbi): Likewise.
27954 (grub_multiboot_free_mbi): Likewise.
27955 (grub_multiboot_init_mbi): Likewise.
27956 (grub_multiboot_add_module): Likewise.
27957 (grub_multiboot_set_bootdev): Likewise.
27958 * loader/i386/multiboot.c (mbi): Removed.
27959 (mbi_dest): Likewise.
27960 (alloc_mbi): New variable.
27961 (grub_multiboot_payload_size): Removed. All users updated.
27962 (grub_multiboot_pure_size): New variable.
27963 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27964 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27965 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27966 (grub_fill_multiboot_mmap): Likewise.
27967 (grub_multiboot_get_bootdev): Likewise.
27968 (grub_multiboot): Use multiboot_mbi functions.
27969 * loader/i386/multiboot_mbi.c: New file.
27970
17383dfe
VS
279712010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27974 it would result in module crash.
27975
c1f28820
VS
279762010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27977
27978 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27979 (grub_ofconsole_getwh): Split to ...
27980 (grub_ofconsole_getwh): ... this.
27981 (grub_ofconsole_dimensions): ...and this.
27982 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27983
58655a16
RM
279842010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27985
27986 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27987
10891398
VS
279882010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * loader/i386/pc/multiboot2.c: Removed stalled file.
27991
0b8a223c
VS
279922010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27995 Reported by: Grégoire Sutre
27996
92ab12b0
RM
279972010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27998
27999 * util/misc.c (canonicalize_file_name): New function.
28000 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28001 instead of realpath().
28002
a788afb6
CW
280032010-01-11 Colin Watson <cjwatson@ubuntu.com>
28004
28005 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28006 and make it clearer that it's optional. Based on confusion
28007 witnessed on IRC.
28008
ffa8e3d2
VS
280092010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28010
28011 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28012 in premature implicit newline.
28013
e9060a9d
VS
280142010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28015
28016 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28017 which resulted in garbled command line at the end of screen.
28018
f0d0c0b7
RM
280192010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28020
28021 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28022 initialization with similar approach as with other Linux loaders.
28023
0e60bae7
RM
280242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28025
28026 Fix i386-ieee1275 build.
28027
28028 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28029 and grub_term_height() for video_{width,height} initialization.
28030
280312010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28032
28033 Fix grub-emu build.
28034
28035 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28036
cdb3f378
RM
280372010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
280382010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28039
28040 Support for multiple terminals.
28041
28042 * Makefile.in (pkglib_DATA): terminal.lst.
28043 (terminal.lst): New target.
28044 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28045 (GRUB_MOD_INIT(handler)): Likewise.
28046 (GRUB_MOD_FINI(handler)): Likewise.
28047 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28048 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28049 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28050 (grub_cmd_sleep): Use grub_term_save_pos.
28051 * commands/terminal.c: New file.
28052 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28053 commands/terminal.c and lib/charset.c.
28054 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28055 (pkglib_MODULES): Add terminal.mod.
28056 (terminal_mod_SOURCES): New variable.
28057 (terminal_mod_CFLAGS): Likewise.
28058 (terminal_mod_LDFLAGS): Likewise.
28059 * genhandlerlist.sh: Don't handle terminals.
28060 * genmk.rb: Generate terminal-*.lst.
28061 * genterminallist.sh: New file.
28062 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28063 (grub_is_valid_utf8): Likewise.
28064 (grub_utf8_to_ucs4_alloc): Likewise.
28065 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28066 (grub_menu_register_viewer): Changed argument.
28067 (grub_menu_try_text): New proto.
28068 (grub_gfxmenu_try_hook): New declaration.
28069 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28070 (grub_menu_init_page): Additional argument term.
28071 (grub_normal_init_page): Likewise.
28072 (grub_cmdline_get): Arguments simplified.
28073 (grub_utf8_to_ucs4_alloc): Removed.
28074 (grub_print_ucs4): Additional argument term.
28075 (grub_getstringwidth): Likewise.
28076 (grub_print_message_indented): Likewise.
28077 (grub_menu_text_register_instances): New proto.
28078 (grub_show_menu): Likewise.
28079 (read_terminal_list): Likewise.
28080 (grub_set_more): Likewise.
28081 * include/grub/parser.h: Include handler.h.
28082 * include/grub/reader.h: Rewritten.
28083 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28084 (GRUB_TERM_WIDTH): Changed to function.
28085 (GRUB_TERM_HEIGHT): Likewise.
28086 (GRUB_TERM_BORDER_WIDTH): Likewise.
28087 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28088 (GRUB_TERM_NUM_ENTRIES): Likewise.
28089 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28090 (GRUB_TERM_CURSOR_X): Likewise.
28091 (grub_term_input_class): Likewise.
28092 (grub_term_output_class): Likewise.
28093 (grub_term_outputs_disabled): New declaration.
28094 (grub_term_inputs_disabled): Likewise.
28095 (grub_term_outputs): Likewise.
28096 (grub_term_inputs): Likewise.
28097 (grub_term_register_input): Rewritten.
28098 (grub_term_register_output): Likewise.
28099 (grub_term_unregister_input): Likewise.
28100 (grub_term_unregister_output): Likewise.
28101 (FOR_ACTIVE_TERM_INPUTS): New macro.
28102 (FOR_DISABLED_TERM_INPUTS): Likewise.
28103 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28104 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28105 * include/grub/terminfo.h: Add oterm argument to all protypes.
28106 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28107 Use grub_rescue_run.
28108 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28109 All users updated.
28110 * kern/reader.c: Removed. All users updated.
28111 * kern/rescue_reader.c (grub_rescue_init): Removed.
28112 (grub_rescue_reader): Likewise.
28113 (grub_register_rescue_reader): Likewise.
28114 (grub_rescue_run): New function based on kern/reader.c.
28115 * kern/term.c: Adapted for multiterm.
28116 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28117 (grub_is_valid_utf8): Likewise.
28118 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28119 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28120 right terminal.
28121 * loader/i386/linux.c (grub_linux_boot): Likewise.
28122 * normal/auth.c (grub_username_get): New function.
28123 (grub_auth_check_authentication): Use grub_username_get.
28124 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28125 * normal/color.c: Adapt for multiterm.
28126 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28127 (grub_normal_init_page): Additional argument term.
28128 (read_lists): Call read_terminal_lists.
28129 (grub_enter_normal_mode): Call grub_cmdline_run.
28130 Handle grub_normal_exit_level.
28131 (grub_cmd_normal): Make reentrant.
28132 (grub_cmd_normal_exit): New function.
28133 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28134 * normal/menu.c: Adapt for multiterm.
28135 * normal/menu_entry.c: Likewise.
28136 * normal/menu_text.c: Likewise.
28137 * normal/menu_viewer.c: Removed. All users updated.
28138 * normal/term.c: New file.
28139 * util/console.c: Change order of includes to workaround a bug in
28140 ncurses headers.
28141 * term/terminfo.c: New argument oterm on all exported functions.
28142 All users updated.
28143 * util/grub-editenv.c (grub_term_input_class): Removed.
28144 (grub_term_output_class): Likewise.
28145
1a064917
RM
281462010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28147
28148 Make loader output a bit more user-friendly.
28149
28150 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28151 is being loaded. Likewise for the Hurd.
28152
28153 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28154 that kernel of FreeBSD ${version} is being loaded.
28155
28156 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28157 grub_dprintf().
28158 (grub_cmd_initrd): Likewise.
28159 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28160 that Linux ${version} is being loaded. Likewise for initrd.
28161
5ce0a83a 281622010-01-09 Carles Pina i Estany <carles@pina.cat>
28163
28164 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28165
809bbfeb 281662010-01-08 Carles Pina i Estany <carles@pina.cat>
28167
28168 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28169 (GRUB_MOD_INIT): Gettextizze.
28170 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28171 (GRUB_MOD_INIT): Gettextizze.
28172 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28173 (grub_cmd_linux): Capitalise Linux.
28174 (GRUB_MOD_INIT): Gettextizze.
28175 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28176 (grub_cmd_linux): Capitalise Linux.
28177 (GRUB_MOD_INIT): Gettextizze.
28178 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28179 (grub_cmd_linux): Capitalise Linux.
28180 (GRUB_MOD_INIT): Gettextizze.
28181 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28182 (GRUB_MOD_INIT): Gettextizze.
28183 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28184 (grub_cmd_linux): Capitalise Linux.
28185 (GRUB_MOD_INIT): Gettextizze.
28186 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28187 (grub_cpu_xnu_init): Gettextizze.
28188 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28189 (GRUB_MOD_INIT): Gettextizze.
28190 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28191 (GRUB_MOD_INIT): Gettextizze.
28192 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28193 (grub_linux_load64): Capitalise Linux.
28194 (GRUB_MOD_INIT): Gettextizze.
28195 * loader/xnu.c: Include `<grub/i18n.h>'.
28196 (GRUB_MOD_INIT): Gettextizze.
28197 * po/POTFILES: Add `loader/efi/appleloader.c',
28198 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28199 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28200 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28201 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28202 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28203 and `loader/xnu.c'.
28204
b394b2ca
RM
282052010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28206
28207 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28208
282092010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28210
28211 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28212 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28213 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28214
bc8b32b3
RM
282152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28216
28217 Reset Multiboot 2 support. New loader implements the draft in
28218 /branches/multiboot2 and shares as much code as possible with the
28219 production Multiboot 1 implementation.
28220
28221 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28222 * loader/multiboot2.c: Likewise.
28223 * loader/i386/multiboot_helper.S: Likewise.
28224 * include/multiboot2.h: Replace with latest version from the draft
28225 in /branches/multiboot2.
28226
28227 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28228 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28229 and `loader/multiboot2.c'.
28230 (pkglib_MODULES): Add `multiboot2.mod'.
28231 (multiboot2_mod_SOURCES): New variable.
28232 (multiboot2_mod_LDFLAGS): Likewise.
28233 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28234
28235 * conf/i386-pc.rmk: Likewise.
28236
28237 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28238 (multiboot_mod_SOURCES): Remove variable.
28239 (multiboot_mod_LDFLAGS): Likewise.
28240 (multiboot_mod_CFLAGS): Likewise.
28241
28242 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28243 `<multiboot2.h>' instead of `<multiboot.h>'.
28244 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28245 (MULTIBOOT_HEADER_MAGIC): New macros.
28246
28247 * loader/multiboot_loader.c (module_version_status): Remove variable.
28248 (find_multi_boot2_header): Remove function.
28249 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28250 logic. Always check for the Multiboot version we're compiling for.
28251 (grub_cmd_module_loader): Likewise.
28252 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28253 command instead of `multiboot'.
28254
5d2c52b8
RM
282552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28256
28257 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28258 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28259 all users.
28260
53108d92
RM
282612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
282622010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28263
28264 Fix breakage introduced with previous commit.
28265
28266 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28267 commands.
28268 * normal/handler.c (read_handler_list): Revert part of previous commit
28269 affecting this file.
28270 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28271 (grub_normal_execute): ... here.
28272
e2e936b2
RM
282732010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28274
28275 Merge prefix-redefinition-fix branch.
28276
28277 * normal/autofs.c (read_fs_list): Make function capable of being
28278 run multiple times, gracefuly replacing the previous data
28279 structures.
28280 * normal/dyncmd.c (read_command_list): Likewise.
28281 * normal/handler.c (read_handler_list): Likewise.
28282 * normal/main.c (read_lists): New function. Calls all the
28283 list reading functions.
28284 (grub_normal_execute): Use read_lists() instead of calling all
28285 list reading functions explicitly. Register read_lists() as a
28286 variable hook attached to ${prefix}.
28287
607a3701
VS
282882010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 Merge crypto branch.
28291
28292 * Makefile.in (pkglib_DATA): Add crypto.lst.
28293 (crypto.lst): New target.
28294 * commands/hashsum.c: New file.
28295 * commands/password.c (check_password): Use grub_crypto_memcmp.
28296 * commands/password_pbkdf2.c: New file.
28297 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28298 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28299 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28300 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28301 -I$(srcdir)/lib/libgcrypt_wrap.
28302 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28303 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28304 password_pbkdf2.mod.
28305 (crypto_mod_SOURCES): New variable.
28306 (crypto_mod_CFLAGS): Likewise.
28307 (crypto_mod_LDFLAGS): Likewise.
28308 (hashsum_mod_SOURCES): New variable.
28309 (hashsum_mod_CFLAGS): Likewise.
28310 (hashsum_mod_LDFLAGS): Likewise.
28311 (pbkdf2_mod_SOURCES): New variable.
28312 (pbkdf2_mod_CFLAGS): Likewise.
28313 (pbkdf2_mod_LDFLAGS): Likewise.
28314 (password_pbkdf2_mod_SOURCES): New variable.
28315 (password_pbkdf2_mod_CFLAGS): Likewise.
28316 (password_pbkdf2_mod_LDFLAGS): Likewise.
28317 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28318 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28319 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28320 Include conf/gcry.rmk.
28321 * include/grub/auth.h: Rewritten.
28322 * include/grub/crypto.h: New file.
28323 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28324 * include/grub/normal.h (read_crypto_list): New prototype.
28325 * lib/crypto.c: New file.
28326 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28327 * lib/pbkdf2.c: Likewise.
28328 * normal/auth.c (grub_auth_strcmp): Removed.
28329 (grub_iswordseparator): Likewise.
28330 (grub_auth_strword): Likewise.
28331 (is_authenticated): Use grub_strword.
28332 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28333 and grub_strword. Pass entered password to authentication callback.
28334 * normal/crypto.c: New file.
28335 * normal/main.c: Call read_crypto_list.
28336 * util/grub-mkpasswd-pbkdf2.c: New file.
28337 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28338
42841caa
VS
283392010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28340
28341 Fix descent and ascent calculation.
28342
28343 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28344 (options): New option "asce".
28345 (usage): Likewise.
28346 (add_char): Ignore invalid glyphs for descent calculation.
28347 Calculate ascent from actual content.
28348 (print_glyphs): Use 'asce'.
28349 (write_font): Likewise. Allow ascent override.
28350 (main): Handle "asce" option.
28351
e7730de7 283522010-01-06 Carles Pina i Estany <carles@pina.cat>
28353
28354 * kern/err.c: Include `<grub/i18n.h>'.
28355 (grub_print_error): Add full stop. Gettextizze.
28356 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28357 (grub_bsd_load_elf): Capitalise ELF.
28358 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28359 (grub_cmd_freebsd_module): Likewise.
28360 (grub_cmd_freebsd_module_elf): Likewise.
28361 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28362
40e3a41f 283632010-01-06 Carles Pina i Estany <carles@pina.cat>
28364
28365 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28366 * commands/search_file.c (HELP_MESSAGE): New macro.
28367 * commands/search_label.c (HELP_MESSAGE): Likewise.
28368 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28369 * po/POTFILES: Add `commands/search_file.c',
28370 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28371 `commands/search.c'.
28372
83507e68
RM
283732010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28374
28375 * config.rpath: Update from Gnulib.
28376
465c787b
YB
283772010-01-05 Yves Blusseau <blusseau@zetam.org>
28378
28379 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28380
6581dd3a
YB
283812010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28382
28383 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28384
3bff18c5
CW
283852010-01-05 Colin Watson <cjwatson@ubuntu.com>
28386
28387 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28388 arguments to fread so that we get a return value in bytes, rather
28389 than something that will normally be rounded down to 0.
28390 Adjust error handling to avoid producing garbage when size_t is not
28391 the same size as long long.
28392
a1368118
CW
283932010-01-05 Colin Watson <cjwatson@ubuntu.com>
28394
28395 * util/mkisofs/write.c (padblock_write): Check return value of
28396 fread.
28397
7c302978
RM
283982010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28399
28400 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28401 floppy images now.
28402
28403 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28404
e33ace06
RM
284052010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28406
28407 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28408 instead of manual alignment.
28409 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28410 verbose). Avoid attempts to read past end of the device
28411 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28412 but GRUB_DISK_CACHE_SIZE may exceed that).
28413
4b856776
RM
284142010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28415
28416 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28417 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28418 it to upper layer.
28419
52c2d97f
VS
284202010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28421
28422 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28423 New constant.
28424 (grub_efi_piwg_device_path): New structure
28425 (grub_efi_piwg_device_path_t): New type.
28426 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28427 (devpath_1): Transform to a structure. All users updated.
28428 (devpath_2): Likewise.
28429 (devpath_3): Likewise.
28430 (devpath_4): Likewise.
28431 (devpath_5): Likewise.
28432
98ff6a54
VS
284332010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 * loader/efi/appleloader.c: Restored. Update all users.
28436
3a73dcb6
RM
284372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28440
28441 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28442 (struct boot_blocklist): Move from here ...
28443 * include/grub/i386/pc/boot.h [ASM_FILE]
28444 (struct grub_boot_blocklist): ... to here. Update all users.
28445 (setup): Only initialize `start' member of `first_block'
28446 structure. Add assert() calls to verify the other members.
28447
28448 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28449 (generate_image): Fix broken blocklist length initialization.
28450 Add assert() call to verify blocklist `segment' field.
28451
ab0eeb0c
RM
284522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28453
28454 * loader/efi/appleloader.c: Remove. Update all users.
28455
58bc8bd5
RM
284562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28457
28458 * boot/i386/pc/boot.S: Update copyright year.
28459 * boot/i386/pc/cdboot.S: Likewise.
28460 * boot/i386/pc/diskboot.S: Likewise.
28461 * boot/i386/pc/lnxboot.S: Likewise.
28462 * boot/i386/pc/pxeboot.S: Likewise.
28463 * bus/pci.c: Likewise.
28464 * commands/cmp.c: Likewise.
28465 * commands/help.c: Likewise.
28466 * commands/hexdump.c: Likewise.
28467 * commands/i386/pc/halt.c: Likewise.
28468 * commands/i386/pc/play.c: Likewise.
28469 * commands/i386/pc/vbeinfo.c: Likewise.
28470 * commands/ls.c: Likewise.
28471 * commands/test.c: Likewise.
28472 * disk/dmraid_nvidia.c: Likewise.
28473 * disk/i386/pc/biosdisk.c: Likewise.
28474 * disk/ieee1275/nand.c: Likewise.
28475 * disk/ieee1275/ofdisk.c: Likewise.
28476 * disk/lvm.c: Likewise.
28477 * disk/raid.c: Likewise.
28478 * disk/raid6_recover.c: Likewise.
28479 * disk/scsi.c: Likewise.
28480 * fs/affs.c: Likewise.
28481 * fs/cpio.c: Likewise.
28482 * fs/ext2.c: Likewise.
28483 * fs/hfs.c: Likewise.
28484 * fs/iso9660.c: Likewise.
28485 * fs/ntfs.c: Likewise.
28486 * fs/sfs.c: Likewise.
28487 * fs/udf.c: Likewise.
28488 * fs/ufs.c: Likewise.
28489 * fs/xfs.c: Likewise.
28490 * gencmdlist.sh: Likewise.
28491 * genmk.rb: Likewise.
28492 * include/grub/disk.h: Likewise.
28493 * include/grub/efi/api.h: Likewise.
28494 * include/grub/efi/efi.h: Likewise.
28495 * include/grub/efi/pe32.h: Likewise.
28496 * include/grub/elf.h: Likewise.
28497 * include/grub/fs.h: Likewise.
28498 * include/grub/i386/at_keyboard.h: Likewise.
28499 * include/grub/i386/pc/memory.h: Likewise.
28500 * include/grub/i386/pc/vbe.h: Likewise.
28501 * include/grub/i386/pci.h: Likewise.
28502 * include/grub/i386/tsc.h: Likewise.
28503 * include/grub/ieee1275/ieee1275.h: Likewise.
28504 * include/grub/ntfs.h: Likewise.
28505 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28506 * include/grub/sparc64/libgcc.h: Likewise.
28507 * include/grub/symbol.h: Likewise.
28508 * include/grub/types.h: Likewise.
28509 * include/multiboot2.h: Likewise.
28510 * io/gzio.c: Likewise.
28511 * kern/device.c: Likewise.
28512 * kern/disk.c: Likewise.
28513 * kern/efi/efi.c: Likewise.
28514 * kern/efi/mm.c: Likewise.
28515 * kern/elf.c: Likewise.
28516 * kern/file.c: Likewise.
28517 * kern/i386/dl.c: Likewise.
28518 * kern/i386/pc/init.c: Likewise.
28519 * kern/i386/pc/startup.S: Likewise.
28520 * kern/ieee1275/ieee1275.c: Likewise.
28521 * kern/ieee1275/init.c: Likewise.
28522 * kern/main.c: Likewise.
28523 * kern/mm.c: Likewise.
28524 * kern/powerpc/dl.c: Likewise.
28525 * kern/sparc64/dl.c: Likewise.
28526 * kern/x86_64/dl.c: Likewise.
28527 * lib/hexdump.c: Likewise.
28528 * loader/efi/appleloader.c: Likewise.
28529 * loader/i386/ieee1275/linux.c: Likewise.
28530 * loader/i386/pc/chainloader.c: Likewise.
28531 * loader/i386/pc/linux.c: Likewise.
28532 * loader/i386/pc/multiboot2.c: Likewise.
28533 * loader/ieee1275/multiboot2.c: Likewise.
28534 * loader/multiboot2.c: Likewise.
28535 * loader/multiboot_loader.c: Likewise.
28536 * loader/powerpc/ieee1275/linux.c: Likewise.
28537 * normal/completion.c: Likewise.
28538 * normal/menu_entry.c: Likewise.
28539 * partmap/apple.c: Likewise.
28540 * util/grub.d/10_hurd.in: Likewise.
28541 * util/hostfs.c: Likewise.
28542 * video/readers/png.c: Likewise.
28543
e2d70b5c
CW
285442010-01-03 Colin Watson <cjwatson@ubuntu.com>
28545
28546 * include/grub/misc.h (GNUC_PREREQ): New macro.
28547 (ATTRIBUTE_ERROR): New macro.
28548 * include/grub/list.h (grub_bad_type_cast_real): Use
28549 ATTRIBUTE_ERROR.
28550
a173283f 285512010-01-03 Carles Pina i Estany <carles@pina.cat>
28552
28553 * normal/menu_text.c (print_message): Change messages.
28554
7fa7ff74 285552010-01-03 Carles Pina i Estany <carles@pina.cat>
28556
28557 * normal/menu_entry.c (store_completion): Gettextizze.
28558
136d24f6 285592010-01-03 Carles Pina i Estany <carles@pina.cat>
28560
28561 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28562
f936862e 285632010-01-03 Carles Pina i Estany <carles@pina.cat>
28564
28565 * po/POTFILES: Sort correctly.
28566
29c44ad1 285672010-01-03 Carles Pina i Estany <carles@pina.cat>
28568
28569 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28570 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28571 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28572 full stop.
28573 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28574 summary. Gettextizze the strings.
28575 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28576 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28577 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28578 full stop.
28579 (GRUB_MOD_INIT): Remove command name from summary.
28580 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28581 summary.
28582 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28583 * term/i386/pc/serial.c (options): Add full stops.
28584 (GRUB_MOD_INIT): Remove command name from the summary.
28585
77a79592 285862010-01-03 Carles Pina i Estany <carles@pina.cat>
28587
28588 * commands/acpi.c: Gettextizze help strings and/or options. Include
28589 `grub/i18n.h' if needed.
28590 * commands/blocklist.c: Likewise.
28591 * commands/boot.c: Likewise.
28592 * commands/cat.c: Likewise.
28593 * commands/cmp.c: Likewise.
28594 * commands/configfile.c: Likewise.
28595 * commands/crc.c: Likewise.
28596 * commands/date.c: Likewise.
28597 * commands/echo.c: Likewise.
28598 * commands/efi/fixvideo.c: Likewise.
28599 * commands/efi/loadbios.c: Likewise.
28600 * commands/gptsync.c: Likewise.
28601 * commands/halt.c: Likewise.
28602 * commands/handler.c: Likewise.
28603 * commands/hdparm.c: Likewise.
28604 * commands/hexdump.c: Likewise.
28605 * commands/i386/cpuid.c: Likewise.
28606 * commands/i386/pc/drivemap.c: Likewise.
28607 * commands/i386/pc/halt.c: Likewise.
28608 * commands/i386/pc/pxecmd.c: Likewise.
28609 * commands/i386/pc/vbeinfo.c: Likewise.
28610 * commands/i386/pc/vbetest.c: Likewise.
28611 * commands/ieee1275/suspend.c: Likewise.
28612 * commands/keystatus.c: Likewise.
28613 * commands/loadenv.c: Likewise.
28614 * commands/ls.c: Likewise.
28615 * commands/lsmmap.c: Likewise.
28616 * commands/lspci.c: Likewise.
28617 * commands/memrw.c: Likewise.
28618 * commands/minicmd.c: Likewise.
28619 * commands/parttool.c: Likewise.
28620 * commands/password.c: Likewise.
28621 * commands/probe.c: Likewise.
28622 * commands/read.c: Likewise.
28623 * commands/reboot.c: Likewise.
28624 * commands/search.c: Likewise.
28625 * commands/sleep.c: Likewise.
28626 * commands/test.c: Likewise.
28627 * commands/true.c: Likewise.
28628 * commands/usbtest.c: Likewise.
28629 * commands/videotest.c: Likewise.
28630 * commands/xnu_uuid.c: Likewise.
28631 * disk/loopback.c: Likewise.
28632 * hello/hello.c: Likewise.
28633 * loader/i386/bsd.c: Likewise.
28634 * term/i386/pc/serial.c: Likewise.
28635 * po/POTFILES: Add new files.
28636
da8d5c53
CW
286372010-01-02 Colin Watson <cjwatson@ubuntu.com>
28638
28639 * term/i386/pc/at_keyboard.c
28640 (keyboard_controller_wait_untill_ready): Rename to ...
28641 (keyboard_controller_wait_until_ready): ... this. Update all users.
28642
33937904 286432010-01-01 Carles Pina i Estany <carles@pina.cat>
28644
28645 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28646 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28647 string using string width.
28648 * normal/menu_text.c (grub_print_message_indented): Use
28649 grub_print_spaces and not print_spaces.
28650 (print_timeout): Likewise.
28651 (print_spaces): Move to...
28652 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28653
3fd3b8d8
RM
286542010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28655
28656 Import from Gnulib.
28657
28658 * gnulib/getdelim.c: New file.
28659 * gnulib/getline.c: Likewise.
28660
33433555
VS
286612009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28662
28663 * include/grub/list.h (grub_assert_fail): Removed.
28664 (grub_bad_type_cast_real): New function.
28665 (grub_bad_type_cast): New macro.
28666 (GRUB_AS_LIST): Use grub_bad_type_cast.
28667 (GRUB_AS_LIST_P): Likewise.
e44721e8 28668 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28669 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28670 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28671 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28672 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28673
f5a51306
VS
286742009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28677 Fix syntax error.
28678
90d1e879
RM
286792009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28680
28681 * configure.ac: Check for TARGET_CFLAGS initialization before we
28682 initialize it ourselves (sigh).
28683 Move a few modifications to TARGET_CFLAGS to be unconditional
28684 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28685 eh_frame)
28686
28687 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28688 * term/i386/pc/at_keyboard.c
28689 (keyboard_controller_wait_untill_ready): Likewise.
28690 (keyboard_controller_led): Rename `led_status' paramter to avoid
28691 name conflict.
28692
465b5a81 286932009-12-28 Carles Pina i Estany <carles@pina.cat>
28694
28695 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28696 quotes.
28697
c181849b
VS
286982009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28699
28700 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28701
9c8739a4
VS
287022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28703
28704 * normal/menu_text.c (grub_print_message_indented): Prevent
28705 past-the-end-of-array dereference.
28706
3e74249c
VS
287072009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28708
28709 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28710 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28711
64fd18ed 287122009-12-27 Carles Pina i Estany <carles@pina.cat>
28713
28714 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28715 * normal/main.c (grub_normal_read_line): Remove a space from the
28716 default prompt.
28717
714af9b9 287182009-12-27 Carles Pina i Estany <carles@pina.cat>
28719
28720 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28721 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28722 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28723 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28724 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28725 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28726 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28727
82f3e412 287282009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28729
28730 * video/readers/jpeg.c (cmd): Declare.
28731 (grub_cmd_jpegtest): 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/png.c (cmd): Declare.
28736 (grub_cmd_pngtest): 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 * video/readers/tga.c (cmd): Declare.
28741 (grub_cmd_tgatest): Use `grub_command_t' type.
28742 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28743 Assign to `cmd'.
28744 (GRUB_MOD_FINI): Use `cmd' to unregister.
28745
82f3e412 287462009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28747
28748 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28749 stops.
28750 * kern/corecmd.c (grub_register_core_commands): Likewise.
28751 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28752 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28753 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28754 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28755 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28756 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28757 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28758 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28759 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28760 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28761 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28762 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28763 * normal/handler.c (insert_handler): Likewise.
28764 * normal/main.c (GRUB_MOD_INIT): Likewise.
28765 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28766
fdcdbb66 287672009-12-26 Carles Pina i Estany <carles@pina.cat>
28768
28769 * commands/help.c (grub_cmd_help): Print the command name before the
28770 summary.
28771 (GRUB_MOD_INIT): Remove command name from the summary.
28772 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28773 string as summary.
fdcdbb66 28774 * lib/arg.c (find_long): Print the command name before the summary.
28775 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28776 summary.
28777 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28778 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28779 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28780 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28781 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28782 * commands/date.c (GRUB_MOD_INIT): Likewise.
28783 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28784 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28785 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28786 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28787 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28788 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28789 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28790 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28791 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28792 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28793 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28794 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28795 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28796 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28797 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28798 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28799 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28800 * commands/password.c (GRUB_MOD_INIT): Likewise.
28801 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28802 * commands/read.c (GRUB_MOD_INIT): Likewise.
28803 * commands/search.c (GRUB_MOD_INIT): Likewise.
28804 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28805 * commands/test.c (GRUB_MOD_INIT): Likewise.
28806 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28807 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28808 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28809 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28810 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28811 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28812 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28813 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28814 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28815 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28816 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28817 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28818 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28819 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28820
9c288be2
VS
288212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 Use search command for preliminar UUID search.
28824
28825 * commands/search.c: Split into ...
28826 * commands/search_wrap.c: ...this
28827 * commands/search.c: ...and this.
28828 * commands/search_file.c: New file.
28829 * commands/search_label.c: New file.
28830 * commands/search_uuid.c: New file.
28831 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28832 Add commands/search_wrap.c, commands/search_file.c,
28833 commands/search_label.c and commands/search_uuid.c.
28834 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28835 (search_mod_SOURCES): Set to commands/search_wrap.c.
28836 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28837 search_label.mod.
28838 (search_fs_file_mod_SOURCES): New variable.
28839 (search_fs_file_mod_CFLAGS): Likewise.
28840 (search_fs_file_mod_LDFLAGS): Likewise.
28841 (search_label_mod_SOURCES): Likewise.
28842 (search_label_mod_CFLAGS): Likewise.
28843 (search_label_mod_LDFLAGS): Likewise.
28844 (search_fs_uuid_mod_SOURCES): New variable.
28845 (search_fs_uuid_mod_CFLAGS): Likewise.
28846 (search_fs_uuid_mod_LDFLAGS): Likewise.
28847 (fs_file_mod_SOURCES): Removed.
28848 (fs_file_mod_CFLAGS): Likewise.
28849 (fs_file_mod_LDFLAGS): Likewise.
28850 (fs_uuid_mod_SOURCES): Removed.
28851 (fs_uuid_mod_CFLAGS): Likewise.
28852 (fs_uuid_mod_LDFLAGS): Likewise.
28853 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28854 Set to util/grub-install.in.
28855 * disk/fs_file.c: Removed.
28856 * disk/fs_uuid.c: Likewise.
28857 * include/grub/search.h: New file.
28858 * util/grub-install.in: Handle sparc64.
28859 Create and use load.cfg.
28860 * util/sparc64/ieee1275/grub-install.in: Removed.
28861
db943399
VS
288622009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28863
28864 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28865 Ignore return status if CF is cleared.
28866 (grub_biosdisk_get_diskinfo_standard): Likewise.
28867
3fdae612
RM
288682009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28869
28870 * term/i386/pc/at_keyboard.c
28871 (keyboard_controller_wait_untill_ready): New function.
28872 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28873 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28874 for keyboard polling, rather than duplicate the same loop. This
28875 saves a few bytes in code size.
28876
7ebaa2b4
VS
288772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28878
28879 Support for (pxe[:server[:gateway]]) syntax and
28880 use environment variable for PXE.
28881
28882 * commands/i386/pc/pxecmd.c (options): Removed.
28883 (print_ip): Removed.
28884 (grub_cmd_pxe): Removed
28885 (grub_cmd_pxe_unload): New function.
28886 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28887 (grub_pxe_your_ip): Made static.
28888 (grub_pxe_default_server_ip): Likewise.
28889 (grub_pxe_default_gateway_ip): Likewise.
28890 (grub_pxe_blksize): Likewise.
28891 (parse_ip): New function.
28892 (grub_pxe_open): Support server and gateway specification.
28893 (grub_pxe_close): Free disk->data.
28894 (grub_pxefs_open): Use disk->data.
28895 (grub_pxefs_read): Likewise.
28896 (grub_env_write_readonly): New function.
28897 (set_mac_env): Likewise.
28898 (set_env_limn_ro): Likewise.
28899 (parse_dhcp_vendor): Likewise.
28900 (grub_pxe_detect): Set the environment variables.
28901 (set_ip_env): New function.
28902 (write_ip_env): Likewise.
28903 (grub_env_write_pxe_default_server): Likewise.
28904 (grub_env_write_pxe_default_gateway): Likewise.
28905 (grub_env_write_pxe_blocksize): Likewise.
28906 (GRUB_MOD_INIT(pxe)): Set environment variables.
28907 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28908 (grub_pxe_mac_addr_t): ... this. All users updated.
28909 (grub_pxe_your_ip): Removed.
28910 (grub_pxe_server_ip): Likewise.
28911 (grub_pxe_gateway_ip): Likewise.
28912 (grub_pxe_blksize): Likewise.
28913
ec5f98ab 289142009-12-25 Carles Pina i Estany <carles@pina.cat>
28915
28916 * commands/help.c: Include `<grub/i18n.h>'.
28917 (grub_cmd_help): Gettextizze.
28918 (GRUB_MOD_INIT): Likewise.
28919 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28920 (GRUB_MOD_INIT): Gettextizze.
28921 * commands/search.c: Include `<grub/i18n.h>'.
28922 (options): Gettextizze.
28923 (GRUB_MOD_INIT): Gettextizze.
28924 * lib/arg.c: Include `<grub/i18n.h>'.
28925 (help_options): Gettextizze.
28926 (find_long): Likewise.
28927 (grub_arg_show_help): Likewise.
28928 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28929 (read_command_list): Gettextizze.
28930 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28931 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28932
22815526
RM
289332009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28934
28935 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28936 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28937 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28938 (led_status): New variable.
28939 (keyboard_controller_led): New function.
28940 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28941 update led status for caps lock, num lock and scroll lock.
28942
0ad46fd7
FZ
289432009-12-25 Felix Zielcke <fzielcke@z-51.de>
28944
28945 * util/hostdisk.c (open_device): Fix a comment.
28946
d0e158c2
RM
289472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28948
28949 * util/grub-install.in (host_os): New variable.
28950 * util/i386/efi/grub-install.in (host_os): Likewise.
28951
401c0ad6
RM
289522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28953
28954 * util/mkisofs/write.c (padblock_write): Abort when given an
28955 excedingly large embed image, instead of silently truncating it.
28956
d14d3370
RM
289572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28958
28959 * include/multiboot.h: Indentation fixes.
28960
eeed10b4
RM
289612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28962
28963 * include/multiboot.h (struct multiboot_aout_symbol_table)
28964 (struct multiboot_elf_section_header_table): New structure
28965 declarations (stolen from GRUB Legacy).
28966 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28967 table information.
28968
28969 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28970 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28971 type aliases.
28972
681c70ab
RM
289732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28974
28975 * include/multiboot.h: Make comments src2texi-friendly.
28976
e4d47d8d
RM
289772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28978
28979 For consistency with [multiboot]/docs/boot.S.
28980
28981 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28982 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28983 (MULTIBOOT_MAGIC2): Rename from this ...
28984 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28985
a0b70bda
RM
289862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28987
28988 * include/multiboot.h: Remove `<grub/types.h>'.
28989 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28990 types. Update all users.
28991
61ba42be 289922009-12-25 Carles Pina i Estany <carles@pina.cat>
28993
28994 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28995 `couldn't' and `can not' by `cannot'.
28996 * commands/i386/pc/drivemap.c: Likewise.
28997 * disk/ata.c: Likewise.
28998 * disk/ieee1275/nand.c: Likewise.
28999 * fs/affs.c: Likewise.
29000 * fs/fat.c: Likewise.
29001 * fs/hfs.c: Likewise.
29002 * fs/hfsplus.c: Likewise.
29003 * fs/iso9660.c: Likewise.
29004 * fs/jfs.c: Likewise.
29005 * fs/minix.c: Likewise.
29006 * fs/reiserfs.c: Likewise.
29007 * fs/sfs.c: Likewise.
29008 * fs/udf.c: Likewise.
29009 * fs/ufs.c: Likewise.
29010 * fs/xfs.c: Likewise.
29011 * loader/powerpc/ieee1275/linux.c: Likewise.
29012 * loader/sparc64/ieee1275/linux.c: Likewise.
29013 * util/grub-probe.c: Likewise.
29014 * util/misc.c: Likewise.
29015
7fd0baee 290162009-12-24 Carles Pina i Estany <carles@pina.cat>
29017
29018 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29019 grub_errno calls.
29020 * commands/acpi.c: Likewise.
29021 * commands/blocklist.c: Likewise.
29022 * commands/efi/loadbios.c: Likewise.
29023 * commands/i386/pc/drivemap.c: Likewise.
29024 * commands/loadenv.c: Likewise.
29025 * commands/memrw.c: Likewise.
29026 * commands/password.c: Likewise.
29027 * commands/videotest.c: Likewise.
29028 * disk/ata.c: Likewise.
29029 * disk/ata_pthru.c: Likewise.
29030 * disk/dmraid_nvidia.c: Likewise.
29031 * disk/ieee1275/nand.c: Likewise.
29032 * disk/ieee1275/ofdisk.c: Likewise.
29033 * disk/loopback.c: Likewise.
29034 * disk/lvm.c: Likewise.
29035 * disk/mdraid_linux.c: Likewise.
29036 * disk/raid.c: Likewise.
29037 * disk/raid6_recover.c: Likewise.
29038 * disk/scsi.c: Likewise.
29039 * efiemu/main.c: Likewise.
29040 * efiemu/mm.c: Likewise.
29041 * efiemu/pnvram.c: Likewise.
29042 * efiemu/symbols.c: Likewise.
29043 * font/font.c: Likewise.
29044 * fs/cpio.c: Likewise.
29045 * fs/hfsplus.c: Likewise.
29046 * fs/iso9660.c: Likewise.
29047 * fs/jfs.c: Likewise.
29048 * fs/minix.c: Likewise.
29049 * fs/ntfs.c: Likewise.
29050 * fs/ntfscomp.c: Likewise.
29051 * fs/reiserfs.c: Likewise.
29052 * fs/ufs.c: Likewise.
29053 * fs/xfs.c: Likewise.
29054 * gettext/gettext.c: Likewise.
29055 * include/grub/auth.h: Likewise.
29056 * kern/elf.c: Likewise.
29057 * kern/file.c: Likewise.
29058 * kern/ieee1275/init.c: Likewise.
29059 * kern/ieee1275/mmap.c: Likewise.
29060 * kern/ieee1275/openfw.c: Likewise.
29061 * kern/powerpc/dl.c: Likewise.
29062 * kern/sparc64/dl.c: Likewise.
29063 * lib/arg.c: Likewise.
29064 * loader/i386/bsd.c: Likewise.
29065 * loader/i386/bsdXX.c: Likewise.
29066 * loader/i386/efi/linux.c: Likewise.
29067 * loader/i386/efi/xnu.c: Likewise.
29068 * loader/i386/ieee1275/linux.c: Likewise.
29069 * loader/i386/linux.c: Likewise.
29070 * loader/i386/multiboot.c: Likewise.
29071 * loader/i386/pc/linux.c: Likewise.
29072 * loader/i386/pc/multiboot2.c: Likewise.
29073 * loader/i386/xnu.c: Likewise.
29074 * loader/ieee1275/multiboot2.c: Likewise.
29075 * loader/macho.c: Likewise.
29076 * loader/machoXX.c: Likewise.
29077 * loader/multiboot2.c: Likewise.
29078 * loader/multiboot_loader.c: Likewise.
29079 * loader/powerpc/ieee1275/linux.c: Likewise.
29080 * loader/sparc64/ieee1275/linux.c: Likewise.
29081 * loader/xnu.c: Likewise.
29082 * loader/xnu_resume.c: Likewise.
29083 * mmap/i386/pc/mmap.c: Likewise.
29084 * normal/menu_viewer.c: Likewise.
29085 * partmap/acorn.c: Likewise.
29086 * partmap/amiga.c: Likewise.
29087 * partmap/apple.c: Likewise.
29088 * script/lexer.c: Likewise.
29089 * term/gfxterm.c: Likewise.
29090 * term/i386/pc/serial.c: Likewise.
29091 * term/i386/pc/vga.c: Likewise.
29092 * term/ieee1275/ofconsole.c: Likewise.
29093 * term/terminfo.c: Likewise.
29094 * video/bitmap.c: Likewise.
29095 * video/efi_gop.c: Likewise.
29096 * video/efi_uga.c: Likewise.
29097 * video/fb/video_fb.c: Likewise.
29098 * video/i386/pc/vbe.c: Likewise.
29099 * video/readers/tga.c: Likewise.
29100 * video/video.c: Likewise.
29101
0ad46fd7 291022009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29103
29104 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29105 * commands/lspci.c: Likewise.
29106 * commands/probe.c: Likewise.
29107 * commands/xnu_uuid.c: Likewise.
29108 * conf/i386-coreboot.rmk: Likewise.
29109 * conf/i386-efi.rmk: Likewise.
29110 * conf/i386-ieee1275.rmk: Likewise.
29111 * conf/i386-pc.rmk: Likewise.
29112 * conf/powerpc-ieee1275.rmk: Likewise.
29113 * conf/sparc64-ieee1275.rmk: Likewise.
29114 * conf/x86_64-efi.rmk: Likewise.
29115 * fs/i386/pc/pxe.c: Likewise.
29116 * gettext/gettext.c: Likewise.
29117 * include/grub/efi/graphics_output.h: Likewise.
29118 * include/grub/i386/pc/memory.h: Likewise.
29119 * kern/env.c: Likewise.
29120 * kern/i386/qemu/startup.S: Likewise.
29121 * lib/i386/pc/biosnum.c: Likewise.
29122 * lib/i386/relocator.c: Likewise.
29123 * lib/i386/relocator_asm.S: Likewise.
29124 * lib/relocator.c: Likewise.
29125 * loader/i386/bsd.c: Likewise.
29126 * loader/i386/multiboot.c: Likewise.
29127 * loader/i386/pc/chainloader.c: Likewise.
29128 * loader/i386/xnu.c: Likewise.
29129 * loader/xnu.c: Likewise.
29130 * normal/main.c: Likewise.
29131 * normal/menu_text.c: Likewise.
29132 * util/getroot.c: Likewise.
29133 * util/grub-mkconfig_lib.in: Likewise.
29134 * util/grub.d/00_header.in: Likewise.
29135 * util/i386/pc/grub-mkimage.c: Likewise.
29136 * util/mkisofs/eltorito.c: Likewise.
29137 * util/mkisofs/exclude.h: Likewise.
29138 * util/mkisofs/hash.c: Likewise.
29139 * util/mkisofs/iso9660.h: Likewise.
29140 * util/mkisofs/joliet.c: Likewise.
29141 * util/mkisofs/mkisofs.c: Likewise.
29142 * util/mkisofs/mkisofs.h: Likewise.
29143 * util/mkisofs/multi.c: Likewise.
29144 * util/mkisofs/name.c: Likewise.
29145 * util/mkisofs/rock.c: Likewise.
29146 * util/mkisofs/tree.c: Likewise.
29147 * util/mkisofs/write.c: Likewise.
29148 * video/efi_gop.c: Likewise.
29149
009ec743
VS
291502009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29151
29152 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29153 size counting.
29154
0ad46fd7 291552009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29156
29157 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29158 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29159
d3d30ea0
VS
291602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29163 (GRUB_MOD_INIT(memrw)): Update help line.
29164
a34f5c70
VS
291652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29168 Use grub_extcmd_t. All users updated.
29169 (options): New variable.
29170 (grub_cmd_read): Restructure for readability. Support "-v" option.
29171 (grub_cmd_write): Restructure for readability.
29172
0ad46fd7 291732009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29174
29175 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29176
0ad46fd7 291772009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29178
29179 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29180 with the actual contents of the correspondending make variable.
29181 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29182 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29183 specifying `*.lst' and `efiemu??.o'
29184
0ad46fd7 291852009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29186
29187 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29188 after function name.
29189 Noticed by Rene Engelhard <rene@debian.org>.
29190
dc77a799
VS
291912009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29194 (options): New variable.
29195 (iospace): Likewise.
29196 (grub_lspci_iter): List IO spaces if "-i" was given.
29197 (grub_cmd_lspci): Parse options.
29198 (GRUB_MOD_INIT(lspci)): Use extcmd.
29199 (GRUB_MOD_FINI(lspci)): Likewise.
29200
0ad46fd7 292012009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29202
29203 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29204 `function' keyword.
29205 Patch by Tony Mancill <tmancill@debian.org>.
29206
b5d5993b
VS
292072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29210 (grub_uhci_portstatus): Likewise.
29211 (grub_uhci_portstatus): Add necessary delay.
11d18281 29212 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29213
941903f2 292142009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29215
941903f2 29216 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29217 (GRUB_MOD_INIT): Likewise.
29218 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29219 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29220 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29221 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29222 (enable_rom_area): Likewise.
29223 (GRUB_MOD_INIT): Likewise.
29224 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29225 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29226 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29227 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29228 * commands/hexdump.c (options): Likewise.
29229 * commands/i386/cpuid.c (options): Likewise.
29230 (GRUB_MOD_INIT): Likewise.
29231 * commands/i386/pc/drivemap.c (options): Likewise.
29232 (GRUB_MOD_INIT): Likewise.
29233 * commands/i386/pc/halt (options): Likewise.
29234 (GRUB_MOD_INIT): Likewise.
29235 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29236 * commands/i386/pc/pxecmd.c (options): Likewise.
29237 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29238 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29239 * commands/keystatus.c (options): Likewise.
29240 (GRUB_MOD_INIT): Likewise.
29241 * commands/loadenv.c (options): Likewise.
29242 * commands/ls.c (options): Likewise.
29243 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29244 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29245 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29246 * commands/parttool.c (helpmsg): Likewise.
29247 * commands/probe.c (options): Likewise.
29248 * commands/read.c (GRUB_MOD_INIT): Likewise.
29249 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29250 * commands/search.c (options): Likewise.
29251 * commands/sleep.c (options): Likewise.
29252 * commands/test.c (GRUB_MOD_INIT): Likewise.
29253 * commands/true.c (GRUB_MOD_INIT): Likewise.
29254 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29255 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29256 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29257 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29258 `$(XGETTEXT)'.
98a50553 29259 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29260
0ad46fd7 292612009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29262
ef3c2c3a 29263 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29264 instead of specifying them explicit.
29265
7922f68b
RM
292662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29267
29268 * NEWS: Add grub-probe support for GNU/Hurd.
29269
537ce47f
RM
292702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29271
29272 * NEWS: gettext was added after 1.97.
29273
9b214e3a
RM
292742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29275
29276 * util/mkisofs/msdos_partition.h: New file (based on
29277 include/grub/msdos_partition.h).
29278 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29279 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29280 (ld_options, main): Recognize --protective-msdos-label.
29281 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29282 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29283 (padblock_write): If `use_protective_msdos_label' is set, patch a
29284 protective DOS-style label in the output image.
29285
29286 * util/grub-mkrescue.in: Use --protective-msdos-label.
29287
e9309813
RM
292882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29289
29290 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29291 boot.
29292
0ae56929
RM
292932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29294
29295 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29296 variables.
29297 (ld_options, main): Recognize `--embedded-boot'.
29298 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29299 declarations.
29300 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29301 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29302 (padblock_write): Likewise. Rewrite to support embedded boot image.
29303
29304 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29305 for BIOS-based disk boot instead of only ElTorito.
29306
b15937b1
RM
293072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29310 build (not needed for bootstrap).
29311
52cc3ce0
RM
293122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29313
29314 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29315 from i386-pc build (not needed for bootstrap).
29316 Rewrite a pair of strings.
29317
36f5ff04
RM
293182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29319
29320 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29321
973c6c85 293222009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29323
29324 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29325
05d21547
AB
293262009-12-21 Andreas Born <futur.andy@googlemail.com>
29327
29328 * kern/env.c (grub_env_context_open): Mark exported variable for
29329 reexport.
29330
0175d51f
AB
293312009-12-21 Andreas Born <futur.andy@googlemail.com>
29332
29333 * kern/env.c (grub_env_export): Create nonexistent variables before
29334 exporting.
29335
7f39d92f 293362009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29337
7f39d92f 29338 * include/grub/auth.h: Include `<grub/i18n.h>'.
29339 (GRUB_GET_PASSWORD): Gettextizze string.
29340 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29341 menu_text.c.
29342 (grub_utf8_to_ucs4_alloc): Fix indentation.
29343 (grub_print_ucs4): Likewise.
29344 (grub_getstringwidth): Likewise.
29345 (print_message_indented): New declaration.
29346 * normal/auth.c: Include `<grub/i18n.h>'.
29347 (grub_auth_check_authentication): Gettexttize string.
29348 * normal/cmdline.c: Include `<grub/i18n.h>'.
29349 (grub_cmdline_get): Gettextizze.
29350 * normal/color.c: Include `<grub/i18n.h>'.
29351 (grub_parse_color_name_pair): Gettexttize strings.
29352 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29353 string (use `print_message_indented').
29354 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29355 `include/grub/normal.h'.
29356 (print_message_indented): Renamed to ...
29357 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29358 used in normal/main.c).
29359 (print_message): Use `grub_print_message_indented' instead of
29360 `print_message_indented'.
29361 (print_timeout): Likewise.
29362 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29363 (grub_normal_print_device_info): Gettexttize strings.
29364 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29365
3041d898
VS
293662009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29367
29368 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29369 of arguments. Return number of tokens and not arguments. All users
29370 updated.
29371
de15bf8e
VS
293722009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29375 non-MSDOS paritions.
29376
e0a6ca52
VS
293772009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 * include/grub/types.h (UNUSED): Removed since it conflicts with
29380 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29381 Reported by Grégoire Sutre.
29382
b99518d1 293832009-12-19 Carles Pina i Estany <carles@pina.cat>
29384
29385 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29386 (grub_print_ucs4_alloc): Likewise.
29387 (grub_getstringwidth): Likewise.
29388 * normal/main.c (grub_normal_init_page): Gettextize version string.
29389 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29390 (getstringwidth): Renamed to ...
29391 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29392 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29393 (grub_print_ucs4): Remove `static' qualifer (now used in
29394 normal/main.c).
29395 * po/POTFILES: Add normal/main.c.
29396
bfd5e52b 293972009-12-19 Carles Pina i Estany <carles@pina.cat>
29398
29399 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29400 (print_message_indented): Add `margin_left' and `margin_right'
29401 parameters.
29402 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29403 strings.
29404 (print_timeout): Use `print_message_indented' to print the message.
29405 Deletes `second_stage' parameter.
29406 (run_menu): Update `print_timeout' calls.
29407
5a1ad2b9
VS
294082009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 Fix console palette on OpenFirmware.
29411
29412 * term/ieee1275/ofconsole.c (MAX): Removed.
29413 (colors): Redone based on VGA palette.
29414 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29415 colors are supported.
29416 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29417
b045f00a
VS
294182009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29419
29420 Fix potential EfiEmu double prepare.
29421
29422 * efiemu/main.c (prepared): New variable
29423 (grub_efiemu_unload): Set prepare to '0'.
29424 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29425
29426 set_virtual_address_map support.
29427
29428 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29429 prototype.
29430 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29431 prototype.
29432 (grub_efiemu_crc32): Likewise.
29433 (grub_efiemu_crc64): Likewise.
29434 (grub_efiemu_set_virtual_address_map): Likewise.
29435 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29436 New definition.
29437 (grub_autoefi_set_virtual_address_map): Likewise.
29438 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29439 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29440 Restructure flow to accomodate it.
29441 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29442 (grub_efiemu_crc): Recompute CRC32.
29443 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29444 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29445 * efiemu/symbols.c (relocated_handle): New variable.
29446 (grub_efiemu_free_syms): Free relocated_handle.
29447 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29448 (grub_efiemu_write_sym_markers): New function.
29449 (grub_efiemu_set_virtual_address_map): Likewise.
29450
29451 Newer XNU parameters.
29452
29453 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29454 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29455 (grub_xnu_fill_devicetree): New prototype.
29456 (grub_xnu_heap_real_start): New variable.
29457 * loader/xnu.c (get_name_ptr): New function.
29458 (grub_xnu_load_driver): Fill namelen and name.
29459
29460 64-bit xnu support.
29461
29462 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29463 and 'loader/macho64.c'.
29464 * conf/i386-pc.rmk: Likewise.
29465 * conf/x86_64-efi.rmk: Likewise.
29466 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29467 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29468 * include/grub/macho.h (grub_macho_segment64): New structure.
29469 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29470 (grub_macho_size32): ... to this.
29471 (grub_macho32_get_entry_point): Renamed from ...
29472 (grub_macho_get_entry_point32): ... to this.
29473 (grub_macho_contains_macho64): New prototype.
29474 (grub_macho_size64): Likewise.
29475 (grub_macho_get_entry_point64): Likewise.
29476 (grub_macho32_load): Renamed from ...
29477 (grub_macho_load32): ... to this.
29478 (grub_macho32_filesize): Renamed from ...
29479 (grub_macho_filesize32): ... to this.
29480 (grub_macho32_readfile): Renamed from ...
29481 (grub_macho_readfile32): ... to this.
29482 (grub_macho_filesize64): New prototype.
29483 (grub_macho_readfile64): Likewise.
29484 (grub_macho_parse32): Likewise.
29485 (grub_macho_parse64): Likewise.
29486 * loader/macho.c: Split into ...
29487 * loader/machoXX.c: ... and this. Replace 32 with XX.
29488 * loader/macho32.c: New file.
29489 * loader/macho64.c: Likewise.
29490 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29491 (grub_cmd_xnu_kernel): Make 32-bit only.
29492 (grub_cmd_xnu_kernel64): New function.
29493 (grub_xnu_load_driver): Support Mach-O 64.
29494 (grub_cmd_xnu_mkext): Likewise.
29495 * util/grub.d/30_os-prober.in (osx_entry): New function.
29496 Generate entries for 64-bit boot too.
29497
29498 Eliminate ad-hoc tree format in XNU and EfiEmu.
29499
29500 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29501 * efiemu/pnvram.c: Rewritten to use environment variables.
29502 All users updated.
29503
29504 Inline utf16_to_utf8.
29505
29506 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29507 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29508 All users updated.
29509 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29510
29511 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29512 * commands/usbtest.c (grub_usb_get_string): ... move here.
29513 (usb_print_str): Fix error handling.
29514 * include/grub/usb.h (grub_usb_get_string): Remove.
29515
29516 UTF-8 to UTF-16 transformation.
29517
29518 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29519 (charset_mod_SOURCES): New variable.
29520 (charset_mod_CFLAGS): Likewise.
29521 (charset_mod_LDFLAGS): Likewise.
29522 * include/grub/utf.h: New file.
29523 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29524
29525 Support for device properties.
29526
29527 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29528 (grub_xnu_devprop_device_header): Likewise.
29529 (grub_xnu_devprop_device_descriptor): Likewise.
29530 (grub_xnu_devprop_add_device): New prototype.
29531 (grub_xnu_devprop_remove_device): Likewise.
29532 (grub_xnu_devprop_remove_property): Likewise.
29533 (grub_xnu_devprop_add_property_utf8): Likewise.
29534 (grub_xnu_devprop_add_property_utf16): Likewise.
29535 (grub_cpu_xnu_init): Likewise.
29536 (grub_cpu_xnu_fini): Likewise.
29537 (grub_cpu_xnu_unload): Likewise.
29538 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29539 (property_descriptor): Likewise.
29540 (devices): New variable.
29541 (grub_xnu_devprop_remove_property): New function.
29542 (grub_xnu_devprop_add_device): Likewise.
29543 (grub_xnu_devprop_remove_device): Likewise.
29544 (grub_xnu_devprop_add_property): Likewise.
29545 (grub_xnu_devprop_add_property_utf8): Likewise.
29546 (grub_xnu_devprop_add_property_utf16): Likewise.
29547 (hextoval): Likewise.
29548 (grub_cpu_xnu_fill_devprop): Likewise.
29549 (grub_cmd_devprop_load): Likewise.
29550 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29551 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29552 (cmd_devprop_load): New variable.
29553 (grub_cpu_xnu_init): New function.
29554 (grub_cpu_xnu_fini): Likewise.
29555 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29556 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29557 (grub_cmd_xnu_devtree): Likewise.
29558 (hextoval): New function.
29559 (unescape): Likewise.
29560 (grub_xnu_fill_devicetree): Likewise.
29561
29562 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29563 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29564
0945f181
VS
295652009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 Workaround for broken ATI VBE.
29568
29569 * video/i386/pc/vbe.c (last_set_mode): New variable.
29570 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29571 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29572 (grub_video_vbe_setup): Don't check for reserved flag.
29573
0ad46fd7 295742009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29575
29576 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29577 the `find' command.
29578
c179ebe4
VS
295792009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 UUID support for HFS.
29582
29583 * fs/hfs.c (grub_hfs_uuid): New function.
29584 (grub_hfs_fs): New value .uuid.
29585 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29586
0ad46fd7 295872009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29588
29589 Fix a segfault with parsing unknown long options.
29590
29591 * util/grub-mkrelpath.c (options): Zero terminate it.
29592
c4a3e41a
CPE
295932009-12-13 Carles Pina i Estany <carles@pina.cat>
29594
29595 * include/grub/misc.h (grub_puts): New declaration.
29596 (grub_puts_): Likewise.
a22008a6 29597 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29598 (grub_puts_): Likewise.
29599
2e8a7602
RM
296002009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29601
29602 * util/grub-probe.c (probe): Improve error message.
29603
b50b77b9
RM
296042009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * loader/i386/multiboot_elfxx.c
29607 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29608 initialization.
29609
296102009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29611
29612 Relocator framework
29613
29614 * loader/i386/xnu_helper.S: Removed. All users updated.
29615 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29616 (relocator_mod_SOURCES): New variable.
29617 (relocator_mod_CFLAGS): Likewise.
29618 (relocator_mod_LDFLAGS): Likewise.
29619 (relocator_mod_ASFLAGS): Likewise.
29620 * conf/x86_64.rmk: Likewise.
29621 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29622 (grub_multiboot_payload_entry_offset): Likewise.
29623 (grub_multiboot_forward_relocator): Likewise.
29624 (grub_multiboot_forward_relocator_end): Likewise.
29625 (grub_multiboot_backward_relocator): Likewise.
29626 (grub_multiboot_backward_relocator_end): Likewise.
29627 (grub_multiboot_payload_eip): New variable.
29628 (grub_multiboot_payload_orig): Likewise.
29629 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29630 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29631 * include/grub/i386/memory.h
29632 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29633 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29634 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29635 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29636 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29637 * include/grub/i386/relocator.h: New file.
29638 * include/grub/x86_64/relocator.h: Likewise.
29639 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29640 (XNU_RELOCATOR): New macro.
29641 (grub_xnu_launcher_start): Remove.
29642 (grub_xnu_launcher_end): Likewise.
29643 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29644 (grub_xnu_heap_real_start): Remove.
29645 (grub_xnu_heap_start): Change to void *. All users updated.
29646 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29647 * lib/i386/relocator.c: New file.
29648 * lib/i386/relocator_asm.S: Likewise.
29649 * lib/i386/relocator_backward.S: Likewise.
29650 * lib/mips/relocator.c: Likewise.
29651 * lib/mips/relocator_asm.S: Likewise.
29652 * lib/relocator.c: Likewise.
29653 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29654 (entry): Removed.
29655 (playground): Likewise.
29656 (grub_multiboot_payload_orig): New variable.
29657 (grub_multiboot_payload_dest): Likewise.
29658 (grub_multiboot_payload_size): Likewise.
29659 (grub_multiboot_payload_eip): Likewise.
29660 (grub_multiboot_payload_esp): Likewise.
29661 (grub_multiboot_boot): Use grub_relocator32_boot.
29662 (grub_multiboot_unload): Free relocators.
29663 (grub_multiboot): Setup stack. Use relocators.
29664 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29665 (grub_multiboot_load_elfXX): Use relocators.
29666 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29667 (grub_multiboot_payload_size): Likewise.
29668 (grub_multiboot_payload_dest): Likewise.
29669 (grub_multiboot_payload_entry_offset): Likewise.
29670 (grub_multiboot_forward_relocator): Likewise.
29671 (grub_multiboot_backward_relocator): Likewise.
29672 (grub_multiboot_real_boot): Likewise.
29673 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29674 (grub_xnu_entry_point): Likewise.
29675 (grub_xnu_arg1): Likewise.
29676 (grub_xnu_stack): Likewise.
29677 (grub_xnu_launch): Removed.
29678 (grub_xnu_boot_resume): New function.
29679 (grub_xnu_boot): Use relocators.
29680 * loader/i386/xnu_helper.S: Removed.
29681 * loader/xnu.c (grub_xnu_heap_start): New variable.
29682 (grub_xnu_heap_size): Likewise.
29683 (grub_xnu_heap_malloc): Use relocators.
29684 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29685
29eb90c6
VS
296862009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29689 anything.
29690
31027430
CPE
296912009-12-13 Carles Pina i Estany <carles@pina.cat>
29692
29693 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29694 GRUB_ERR_NONE before calling grub_env_set.
29695
dc0c71d9
RM
296962009-12-12 Robert Millan <rmh@aybabtu.com>
29697
29698 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29699 * genmk.rb (video): New variable.
29700 (CLEANFILES, VIDEOFILES): Add #{video}.
29701 (#{video}): New target rule.
29702 * genvideolist.sh: New file.
29703 * Makefile.in (pkglib_DATA): Add video.lst.
29704 (video.lst): New target rule.
29705 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29706 `video.lst'.
29707 * util/grub.d/30_os-prober.in: Replace `vbe' with
29708 ${GRUB_VIDEO_BACKEND}.
29709
2a4bfcf0
RM
297102009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29711
29712 * THANKS: Add David Miller.
29713
2a3aa4d5
RM
297142009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29715
29716 libpciaccess support.
29717
29718 * Makefile.in (LIBPCIACCESS): New variable.
29719 (enable_grub_emu_pci): Likewise.
29720 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29721 util/pci.c and commands/lspci.c.
29722 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29723 * configure.ac (grub-emu-pci): New option.
29724 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29725 (grub_pci_device_unmap_range): Likewise.
29726 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29727 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29728 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29729 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29730 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29731 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29732 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29733 * include/grub/pciutils.h: New file.
29734 * util/pci.c: Likewise.
29735
0ad46fd7 297362009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29737
29738 * util/misc.c: Don't include <errno.h> twice.
29739
0ad46fd7 297402009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29741
29742 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29743 name in an error message.
29744 (grub_biosdisk_rw): Likewise.
29745
2e59983c
VS
297462009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29747
29748 Eliminate NTFS 4Gib barrier.
29749
29750 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29751 (read_run_data): Likewise.
29752 (grub_ntfs_read_run_list): Likewise.
29753 (grub_ntfs_read_block): Likewise.
29754 (grub_ntfs_iterate_dir): Likewise.
29755 (read_mft): Likewise.
29756 (read_data): Likewise.
29757 Use COM_LOG_LEN.
29758 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29759 to avoid 64-bit division
29760 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29761 (grub_ntfs_rlst): Use grub_disk_addr_t.
29762
71ee178a
VS
297632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29764
29765 Eliminate grub-fstest 4Gib barrier.
29766
29767 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29768 (read_file): Fix error reporting.
29769
2520d4b8
VS
297702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29771
29772 Eliminate hexdump 4Gib barrier.
29773
29774 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29775 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29776
e1f27065
VS
297772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29780 Fixes amarsh bug.
29781
1a0f7f45
RM
297822009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29783
29784 Remove miscellaneous files in distclean target.
29785
29786 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29787
c631d9fb
CW
297882009-12-09 Colin Watson <cjwatson@ubuntu.com>
29789
29790 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29791 if they're already set. This resolves the conflict between my
29792 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29793 fixing the --grub-probe option again.
29794 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29795 change on 2009-10-06, so that we now once again source
29796 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29797
7c7b6106
RM
297982009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29799
29800 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29801 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29802 `util/devicemap.c'.
29803
e3069ec1
CPE
298042009-12-08 Carles Pina i Estany <carles@pina.cat>
29805
29806 * include/grub/misc.h (grub_printf_): New declaration.
29807 * kern/misc.c (grub_printf_): New definition.
29808 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29809 instead of `grub_printf' and `_'.
29810 * normal/menu_entry.c (store_completion): Likewise.
29811 (run): Likewise.
29812 (grub_menu_entry_run): Likewise.
29813 * normal/menu_text.c (grub_wait_after_message): Likewise.
29814 (notify_booting): Likewise.
29815 (notify_fallback): Likewise.
29816 (notify_execution_failure): Likewise.
29817
d6ceebf1
CW
298182009-12-07 Colin Watson <cjwatson@ubuntu.com>
29819
29820 * configure.ac: Check for vasprintf.
29821 * util/misc.c (asprintf): Move allocation from here ...
29822 (vasprintf): ... to here. New function.
29823 (xasprintf): New function.
29824 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29825 prototypes.
29826 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29827 * util/grub-mkfont.c (write_font): Likewise.
29828 * util/grub-probe.c (probe): Likewise.
29829 * util/hostdisk.c (make_device_name): Likewise.
29830
de6daa8b
DM
298312009-12-06 David S. Miller <davem@sunset.davemloft.net>
29832
29833 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29834 anything even prefixed with 'cdrom' as a cdrom.
29835
0ad46fd7 298362009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29837
29838 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29839 mount points.
29840
98d3dc02
CPE
298412009-12-05 Carles Pina i Estany <carles@pina.cat>
29842
29843 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29844 grub_gettext_msg_list.
29845 (grub_gettext_gettranslation_from_position): Return const char *
29846 and not char *.
a2c1332b 29847 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29848 returns from the list if existing there.
29849 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29850 (grub_gettext_delete_list): Delete the list.
29851 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29852 lang environment variable is changed.
29853 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29854
b283f108
VS
298552009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29856
29857 Rename kernel.mod to kernel.img.
29858
29859 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29860 (kernel_mod_EXPORTS): Rename to ...
29861 (kernel_img_EXPORTS): ... this.
29862 (kernel_mod_SOURCES): Rename to ...
29863 (kernel_img_SOURCES): ... this.
29864 (kernel_mod_HEADERS): Rename to ...
29865 (kernel_img_HEADERS): ... this. All users updated.
29866 (kernel_mod_CFLAGS): Rename to ...
29867 (kernel_img_CFLAGS): ... this.
29868 (kernel_mod_ASFLAGS): Rename to ...
29869 (kernel_img_ASFLAGS): ... this.
29870 (kernel_mod_LDFLAGS): Rename to ...
29871 (kernel_img_LDFLAGS): ... this.
29872 * conf/x86_64-efi.rmk: Likewise.
29873 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29874 (read_kernel_image): ... this. All users updated.
29875 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29876
69055f8a
CPE
298772009-12-05 Carles Pina i Estany <carles@pina.cat>
29878
29879 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29880 (print_spaces): New function.
29881 (grub_print_ucs4): New function.
29882 (getstringwidth): New function.
29883 (print_message_indented): New function.
29884 (print_message): Gettexttize strings using print_message_indented.
29885 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29886 width.
29887 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29888 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29889 Gettextize.
29890 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29891 string.
29892 (run): Likewise.
29893 (grub_menu_entry_run): Likewise.
29894 * PO/POTFILES: Add normal/menu_entry.c.
29895
f616f51c
VS
298962009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29897
29898 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29899
57bbe3be
CPE
299002009-12-05 Carles Pina i Estany <carles@pina.cat>
29901
29902 * util/grub-install.in: Install gettext .mo files.
29903 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29904
013d67a1
CPE
299052009-12-05 Carles Pina i Estany <carles@pina.cat>
29906
29907 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29908 grub_dprintf.
29909
fb954db0
RM
299102009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29913 non-firmware-dependant one in realmode.S takes precedence.
29914
6b8474f8
RM
299152009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29916
29917 * commands/halt.c: Replace misc arch-specific headers with
29918 `<grub/misc.h>'.
29919 * commands/reboot.c: Likewise.
29920 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29921 `<grub/misc.h>'.
29922 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29923 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29924 (kernel_img_SOURCES): ... to here.
29925
29926 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29927 * include/grub/i386/pc/init.h: Likewise.
29928 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29929 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29930
29931 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29932
29933 * include/grub/i386/halt.h: Remove.
29934 * include/grub/i386/reboot.h: Likewise.
29935
29936 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29937
4b2e6ca2
DM
299382009-12-03 David S. Miller <davem@sunset.davemloft.net>
29939
29940 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29941 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29942 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29943 "progname.h"
29944 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29945 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29946 (usage): Add missing comma in printf.
29947
5239348f
RM
299482009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29949
29950 Use the same reboot approach on i386 coreboot and qemu as we do on
29951 BIOS.
29952
29953 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29954 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29955 * kern/i386/reboot.c: Remove.
29956 * include/grub/i386/reboot.h (grub_reboot): Export function.
29957 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29958 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29959 0xf000:0xfff0 instead of 0xffff:0x0000.
29960 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29961 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29962
ef34cbd4
RM
299632009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29964
29965 Fix $srcdir != $objdir build.
29966
29967 * Makefile.in (po/%.po): Rewrite as ...
29968 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29969
dc9837ea
ST
299702009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29971
29972 Fix GNU/Hurd grub-install crash.
29973 * util/grub-probe.c (probe): Try to access `path' only when it is not
29974 NULL.
29975
2f857f98
VS
299762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29977
29978 Correct module naming.
29979
29980 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29981 (GRUB_MOD_INIT(efi_uga)): ... to this
29982 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29983 (GRUB_MOD_FINI(efi_uga)): ... to this
29984 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29985 (GRUB_MOD_INIT(efi_gop)): ... to this
29986 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29987 (GRUB_MOD_FINI(efi_gop)): ... to this
29988
c5448046
RM
299892009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29990
29991 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29992 translatable.
29993 (usage): Translate `arg' strings using gettext().
29994 Thanks to Jordi Mallach for the suggestion.
29995
c85184ad
VS
299962009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29997
29998 GOP support. Based on patch from Bean
29999 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30000
30001 * video/efi_gop.c: New file.
30002 * include/grub/efi/graphics_output.h: Likewise.
30003 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30004 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30005 variables.
30006 * conf/x86_64-efi.rmk: Likewise.
30007
8a4c48d8
VS
300082009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30009
30010 Rename efi_fb to efi_uga.
30011
30012 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30013 'efi_uga.mod'.
30014 (efi_fb_mod_SOURCES): Rename this ...
30015 (efi_uga_mod_SOURCES): ... to this.
30016 (efi_fb_mod_CFLAGS): Rename this ...
30017 (efi_uga_mod_CFLAGS): ... to this.
30018 (efi_fb_mod_LDFLAGS): Rename this ...
30019 (efi_uga_mod_LDFLAGS): ... to this.
30020 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30021 'efi_uga.mod'.
30022 (efi_fb_mod_SOURCES): Rename this ...
30023 (efi_uga_mod_SOURCES): ... to this.
30024 (efi_fb_mod_CFLAGS): Rename this ...
30025 (efi_uga_mod_CFLAGS): ... to this.
30026 (efi_fb_mod_LDFLAGS): Rename this ...
30027 (efi_uga_mod_LDFLAGS): ... to this.
30028 * video/efi_fb.c: Move this ...
30029 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30030
fb6c1a7b
RM
300312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30032
30033 * po/README: New file. Explain our PO file workflow.
30034
3bc7896c
RM
300352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30036
30037 * po/ChangeLog: Remove. Move relevant entries back to ...
30038 * ChangeLog: ... here.
30039 * po/ca.po: Remove (now handled by TLP).
30040 * po/id.po: Likewise.
30041 * po/zh_CN.po: Likewise.
30042 * Makefile.in (LINGUAS): Initialize in a way that supports
30043 empty set.
30044
9ed4841d
RM
300452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30046
30047 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30048 reliing on po/LINGUAS.
30049 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30050 (po/%.po): ... this.
30051
0ad46fd7 300522009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30053
30054 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30055 (main): Use `program_name' instead of nonexistent `progname'.
30056
e30dd392
FZ
300572009-11-26 Felix Zielcke <fzielcke@z-51.de>
30058
30059 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30060 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30061
7656de4f
RM
300622009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30063
30064 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30065 commit.
30066 * conf/i386-efi.rmk: Likewise.
30067 * conf/i386-ieee1275.rmk: Likewise.
30068 * conf/powerpc-ieee1275.rmk: Likewise.
30069 * conf/sparc64-ieee1275.rmk: Likewise.
30070 * conf/x86_64-efi.rmk: Likewise.
30071
db77c4d4
FZ
300722009-11-26 Felix Zielcke <fzielcke@z-51.de>
30073
30074 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30075
a755bb04
FZ
300762009-11-26 Felix Zielcke <fzielcke@z-51.de>
30077
30078 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30079
8a4c07fd
RM
300802009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30081
30082 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30083 (grub_mkdevicemap_SOURCES): New variable.
30084 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30085 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30086 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30087 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30088 (grub_mkdevicemap_SOURCES): Remove.
30089 * conf/i386-efi.rmk: Likewise.
30090 * conf/i386-ieee1275.rmk: Likewise.
30091 * conf/i386-pc.rmk: Likewise.
30092 * conf/powerpc-ieee1275.rmk: Likewise.
30093 * conf/sparc64-ieee1275.rmk: Likewise.
30094 * conf/x86_64-efi.rmk: Likewise.
30095 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30096 (usage): Fix strings to use `program_name'.
30097 (main): Initialize gettext.
30098 * util/grub-editenv.c: Likewise.
30099 * util/grub-emu.c: Likewise.
30100 * util/grub-fstest.c: Likewise.
30101 * util/grub-mkdevicemap.c: Likewise.
30102 * util/grub-mkfont.c: Likewise.
30103 * util/grub-mkrelpath.c: Likewise.
30104 * util/grub-pe2elf.c: Likewise.
30105 * util/grub-probe.c: Likewise.
30106 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30107 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30108 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30109
30110 * util/misc.c: Include `"progname.h"'.
30111 (progname): Remove variable.
30112 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30113
6f61ed55
FZ
301142009-11-25 Felix Zielcke <fzielcke@z-51.de>
30115
30116 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30117 printf and print a newline after the menuentry header line.
30118 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30119
f022876b
FZ
301202009-11-25 Felix Zielcke <fzielcke@z-51.de>
30121
30122 autoconf >= 2.60 support $(localedir).
30123
30124 * INSTALL: Note that autoconf 2.60 is required.
30125 * configure.ac (AC_PREREQ): Bump to 2.60.
30126 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30127 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30128
6717926e
YB
301292009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30130
30131 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30132 aclocal is run.
30133
08806a54
RM
301342009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30135
30136 * normal/main.c (grub_normal_read_line): Fix off-by-one
30137 buffer overflow.
30138
13b33fba
RM
301392009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30140
30141 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30142 "parser.grub" in grub_command_execute() call.
30143
4a8572e9
CPE
301442009-11-24 Carles Pina i Estany <carles@pina.cat>
30145
30146 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30147 * conf/i386-efi.rmk: Likewise.
30148 * conf/i386-ieee1275.rmk: Likewise.
30149 * conf/i386-pc.rmk: Likewise.
30150 * conf/powerpc-ieee1275.rmk: Likewise.
30151 * conf/sparc64-ieee1275.rmk: Likewise.
30152 * conf/x86_64-efi.rmk: Likewise.
30153 * gettext/gettex.c: Include <grub/i18n.h>.
30154 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30155 here ...
30156 * include/grub/i18n.h: ... to here
30157 * include/grub/i18n.h: ... to here.
30158 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30159 (grub_gettext_dummy): Move above user.
4a8572e9 30160
bee48093
FZ
301612009-11-24 Felix Zielcke <fzielcke@z-51.de>
30162
30163 * util/Makefile.in (install-local): Convert a `for' into a normal
30164 shell expansion.
30165
a031e91c
RM
301662009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30167
30168 * autogen.sh: Add automake call.
30169 * config.guess: Remove.
30170 * config.sub: Likewise.
30171 * install-sh: Likewise.
30172
26bec39d
FZ
301732009-11-24 Felix Zielcke <fzielcke@z-51.de>
30174
30175 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30176
8e2532fd
FZ
301772009-11-24 Felix Zielcke <fzielcke@z-51.de>
30178
30179 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30180 function to a normal shell `for'.
30181
fefa1b7d
FZ
301822009-11-24 Felix Zielcke <fzielcke@z-51.de>
30183
30184 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30185
4501250b
FZ
301862009-11-24 Felix Zielcke <fzielcke@z-51.de>
30187
30188 * util/grub-mkrelpath.c: New file.
30189 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30190 (grub_mkrelpath_SOURCES): New variable.
30191 * include/grub/util/misc.h: New function prototype.
30192 * util/misc.c (make_system_path_relative_to_its_root): New function.
30193
30194 * util/grub-mkconfig_lib.in (bindir): New variable.
30195 (grub_mkrelpath): Likewise.
30196 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30197
30198 * util/probe.c (probe): Make the file path relative to its root.
30199 Change a info message to use the GRUB path. Enable again the
30200 check if we can read the file with GRUB facilities.
30201
30202 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30203 to its root.
30204
11d9778b
FZ
302052009-11-24 Felix Zielcke <fzielcke@z-51.de>
30206
30207 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30208 platform.
30209
4465287d
FZ
302102009-11-24 Felix Zielcke <fzielcke@z-51.de>
30211
30212 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30213 strncmp().
30214
62b47f22
FZ
302152009-11-24 Felix Zielcke <fzielcke@z-51.de>
30216
30217 * util/getroot.c (grub_util_is_dmraid): New function.
30218 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30219 devices as normal ones, not as LVM.
30220
1eafb9b9 302212009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30222
30223 * conf/common.rmk: Add grub-gettext_lib target and updates
30224 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30225 LDFLAGS.
30226 * gettext/gettext.c: New file. (Reads mo files).
30227 * include/grub/file.h (grub_file_pread): New prototype.
30228 * include/grub/i18n.h (_): New prototype.
30229 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30230 prototypes.
30231 * kern/misc.c (grub_gettext_dummy): New function.
30232 * normal/menu_text.c: Include <grub/i18n.h>.
30233 * normal/menu_text.c (print_timeout): Gettexttize string.
30234 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30235 * po/POTFILES: Add `normal/menu_text.c'.
30236 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30237 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30238 gettext module and defines locale_dir and lang in grub.cfg.
30239 * NEWS: Add gettext support.
30240
0fdb2568
RM
302412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * util/hostdisk.c: Include `<grub/i18n.h>'.
30244 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30245 (make_device_name): Rewrite using asprintf.
30246 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30247 (find_system_device): If a device is not found, generate one just
30248 by reusing the OS path name.
30249 (read_device_map): Make it permissible for device.map not to exist.
30250
f515aa62
RM
302512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30252
30253 * script/sh/execute.c: Move from here ...
30254 * script/execute.c: ... to here. Update all users.
30255 * script/sh/function.c: Move from here ...
30256 * script/function.c: ... to here. Update all users.
30257 * script/sh/lexer.c: Move from here ...
30258 * script/lexer.c: ... to here. Update all users.
30259 * script/sh/main.c: Move from here ...
30260 * script/main.c: ... to here. Update all users.
30261 * script/sh/parser.y: Move from here ...
30262 * script/parser.y: ... to here. Update all users.
30263 * script/sh/script.c: Move from here ...
30264 * script/script.c: ... to here. Update all users.
30265
f84b481b
RM
302662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30267
30268 * configure.ac: Detect all `emu' platforms. Define
30269 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30270 --enable-grub-emu logic. Disable include/grub/machine
30271 symlink on `emu' platforms.
30272
30273 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30274 * gensymlist.sh.in: Likewise.
30275
30276 * include/grub/i386/coreboot/machine.h: Remove file.
30277 * include/grub/i386/efi/machine.h: Likewise.
30278 * include/grub/i386/ieee1275/machine.h: Likewise.
30279 * include/grub/i386/pc/machine.h: Likewise.
30280 * include/grub/i386/qemu/machine.h: Likewise.
30281 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30282 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30283 * include/grub/x86_64/efi/machine.h: Likewise.
30284
30285 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30286 * commands/halt.c: Likewise.
30287 * commands/reboot.c: Likewise.
30288 * include/grub/autoefi.h: Likewise.
30289 * include/grub/i386/at_keyboard.h: Likewise.
30290 * include/grub/i386/kernel.h: Likewise.
30291 * include/grub/i386/loader.h: Likewise.
30292 * include/grub/i386/pc/memory.h: Likewise.
30293 * kern/dl.c: Likewise.
30294 * kern/i386/coreboot/init.c: Likewise.
30295 * loader/i386/bsd.c: Likewise.
30296 * loader/i386/linux.c: Likewise.
30297 * loader/multiboot_loader.c: Likewise.
30298 * term/i386/pc/serial.c: Likewise.
30299 * term/usb_keyboard.c: Likewise.
30300
30301 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30302 `<grub/machine/machine.h>'
30303 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30304 * util/misc.c: Remove `<grub/machine/machine.h>' and
30305 `<grub/machine/time.h>'.
30306
30307 * Makefile.in (enable_grub_emu): Remove variable.
30308 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30309
30310 * conf/any-emu.rmk: New file.
30311 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30312 (grub_emu_init.c): Move from here ...
30313 * conf/any-emu.rmk: ... to here.
30314
30315 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30316 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30317 * conf/any-emu.rmk: ... to here.
30318
4efeab03
RM
303192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30320
30321 * include/grub/parser.h (grub_parser_register): Document need
30322 of `name' parameter.
30323 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30324 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30325 "sh" to "grub".
30326
ea1dd8bf
RM
303272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30328
30329 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30330 `$(XGETTEXT)'.
30331 * include/grub/i18n.h (N_): New macro.
30332 * util/mkisofs/mkisofs.h: Likewise.
30333 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30334 around N_().
30335 (usage): Use gettext() to translate help strings when printing them.
30336
0c140626
RM
303372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30338
30339 Based on patch from Bean
30340 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30341
30342 * video/efi_fb.c: New file.
30343 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30344 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30345 variables.
30346 * conf/x86_64-efi.rmk: Likewise.
30347
87d58298
RM
303482009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30349
30350 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30351 * util/i386/pc/grub-setup.c: Likewise.
30352
994cc3a3
ST
303532009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30354
30355 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30356 <hurd/fs.h>
30357 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30358 file_get_storage_info to implement grub_guess_root_device.
30359
26a61d6a
FZ
303602009-11-21 Felix Zielcke <fzielcke@z-51.de>
30361
30362 * Makefile.in (target): Use make's builtin $(shell) function
30363 instead of calling directly $(SHELL) to create the locale directories,
30364 inside the $(foreach) function.
30365
74ff1dd5
FZ
303662009-11-21 Felix Zielcke <fzielcke@z-51.de>
30367
30368 * util/grub-mkrescue.in: Print an error and usage if output option
30369 has not been given.
30370
0b787d0e
FZ
303712009-11-21 Felix Zielcke <fzielcke@z-51.de>
30372
30373 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30374 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30375 root and /boot are on different devices.
30376
1164b270
RM
303772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30378
30379 Fix build for srcdir != objdir.
30380
30381 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30382 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30383 $(srcdir).
30384 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30385 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30386 reference for input.
30387
13774a2f
RM
303882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30391 or hardlinking it). Remove -J option, Joliet is not compatible with
30392 multiple source directories.
30393
efda854e
RM
303942009-11-21 Carles Pina i Estany <carles@pina.cat>
303952009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30396
30397 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30398 (process_input_dir): New function. Process an arbitrary input
30399 directory.
30400 Misc adjustments to support both "override mode" and system-wide mode.
30401
6c09890c
FZ
304022009-11-20 Felix Zielcke <fzielcke@z-51.de>
30403
30404 * configure.ac (UNIFONT_BDF): Rename to ...
30405 (FONT_SOURCE): ... this. Update all users.
30406
a797824f
FZ
304072009-11-20 Felix Zielcke <fzielcke@z-51.de>
30408
30409 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30410 to the list of unifont files to look for.
30411
cd4f42b0
RM
304122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30413
30414 Patch from Joe Auricchio <jauricchio@gmail.com>
30415 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30416 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30417 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30418
393c783d
FZ
304192009-11-19 Felix Zielcke <fzielcke@z-51.de>
30420
30421 * Makefile.in (install-local): Add a missing backslash.
30422
b2f1e327
FZ
304232009-11-19 Felix Zielcke <fzielcke@z-51.de>
30424
30425 * include/grub/x86_64/io.h: New file.
30426
f577f7a0
RM
304272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30428
30429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30430 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30431 Include `"progname.h"'.
30432 (main): Initialize gettext.
30433 * util/i386/pc/grub-setup.c: Gettexttize.
30434 * util/i386/pc/grub-mkimage.c: Likewise.
30435
30436 * Makefile.in (po/*.po): Redefine as ...
30437 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30438
3bc7896c
RM
30439 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30440
c37943b6
RM
304412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30444 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30445 (program_name): Remove.
30446 (main): Initialize gettext support.
6323f705
RM
30447 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30448 Include `<libintl.h>'.
30449 (_): New macro.
c37943b6
RM
30450
30451 * util/mkisofs/eltorito.c: Gettexttize.
30452 * util/mkisofs/joliet.c: Likewise.
30453 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30454 * util/mkisofs/multi.c: Likewise.
30455 * util/mkisofs/rock.c: Likewise.
30456 * util/mkisofs/tree.c: Likewise.
30457 * util/mkisofs/write.c: Likewise.
30458
3bc7896c
RM
30459 * po/POTFILES: Update with new files.
30460
5ce77c6e
RM
304612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30462
30463 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30464 * util/mkisofs/iso9660.h: Likewise.
30465 * util/mkisofs/joliet.c: Likewise.
30466 * util/mkisofs/mkisofs.c: Likewise.
30467 * util/mkisofs/mkisofs.h: Likewise.
30468 * util/mkisofs/rock.c: Likewise.
30469 * util/mkisofs/tree.c: Likewise.
30470 * util/mkisofs/write.c: Likewise.
30471
30472 * util/mkisofs/eltorito.c (rcsid): Remove.
30473 * util/mkisofs/hash.c: Likewise.
30474 * util/mkisofs/joliet.c: Likewise.
30475 * util/mkisofs/name.c: Likewise.
30476 * util/mkisofs/rock.c: Likewise.
30477 * util/mkisofs/tree.c: Likewise.
30478 * util/mkisofs/write.c: Likewise.
30479
1dabbc77
RM
304802009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30483 instead of static allocation.
30484 * util/mkisofs/match.h: Likewise.
30485
633877cb
RM
304862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30487
3bc7896c
RM
30488 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30489 and `util/grub.d/10_linux.in'.
633877cb
RM
30490 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30491 translatable Shell files.
30492
af1c0c85
RM
304932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30494
30495 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30496
769ae37b
RM
304972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30498
30499 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30500 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30501 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30502 Add gettext initialization.
30503 (kfreebsd_entry): Make menuentry output translatable.
30504
305052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30506
30507 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30508 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30509 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30510 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30511 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30512 * po/LINGUAS: New file.
769ae37b
RM
30513
305142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30515
30516 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30517 other things).
30518 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30519 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30520 bindtextdomain() calls for gettext initialization.
30521
305222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30523
30524 * gnulib/progname.c: New file (imported from Gnulib).
30525 * gnulib/progname.h: Likewise.
30526 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30527 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30528 (usage): Replace `progname' with `program_name'.
30529 (main): Use set_program_name() for program name initialization.
30530
305312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30532
30533 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30534 from here ...
30535 * Makefile.in (CPPFLAGS): ... to here.
30536
305372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30538
30539 * aclocal.m4: Move from here ...
30540 * acinclude.m4: ... to here.
30541 * autogen.sh: Add call to `aclocal'.
30542 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30543
305442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30545
30546 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30547 (LINGUAS): New variable.
30548 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30549 (install-local): Install MO files.
30550 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30551 * include/grub/i18n.h: New file.
3bc7896c
RM
30552 * po/POTFILES: New file.
30553 * po/ca.po: New file.
769ae37b
RM
30554 * util/grub.d/10_linux.in (bindir): New variable.
30555 Add gettext initialization.
30556 (linux_entry): Make menuentry output translatable.
30557 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30558 (usage): Make --help output translatable.
30559 (main): Initialize gettext.
30560
02c0a6ad
RM
305612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30562
30563 * import_gcry.py: New file (written by Vladimir with minor
30564 adjustments).
30565 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30566 ciphers.
30567 * INSTALL: Document that Python is required for bootstrap.
30568
305692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30570
30571 Import ciphers from libgcrypt 1.4.4.
30572
30573 * lib/libgcrypt/cipher/ChangeLog
30574 * lib/libgcrypt/cipher/ac.c
30575 * lib/libgcrypt/cipher/arcfour.c
30576 * lib/libgcrypt/cipher/bithelp.h
30577 * lib/libgcrypt/cipher/blowfish.c
30578 * lib/libgcrypt/cipher/camellia-glue.c
30579 * lib/libgcrypt/cipher/camellia.c
30580 * lib/libgcrypt/cipher/camellia.h
30581 * lib/libgcrypt/cipher/cast5.c
30582 * lib/libgcrypt/cipher/cipher.c
30583 * lib/libgcrypt/cipher/crc.c
30584 * lib/libgcrypt/cipher/des.c
30585 * lib/libgcrypt/cipher/dsa.c
30586 * lib/libgcrypt/cipher/ecc.c
30587 * lib/libgcrypt/cipher/elgamal.c
30588 * lib/libgcrypt/cipher/hash-common.c
30589 * lib/libgcrypt/cipher/hash-common.h
30590 * lib/libgcrypt/cipher/hmac-tests.c
30591 * lib/libgcrypt/cipher/md.c
30592 * lib/libgcrypt/cipher/md4.c
30593 * lib/libgcrypt/cipher/md5.c
30594 * lib/libgcrypt/cipher/primegen.c
30595 * lib/libgcrypt/cipher/pubkey.c
30596 * lib/libgcrypt/cipher/rfc2268.c
30597 * lib/libgcrypt/cipher/rijndael-tables.h
30598 * lib/libgcrypt/cipher/rijndael.c
30599 * lib/libgcrypt/cipher/rmd.h
30600 * lib/libgcrypt/cipher/rmd160.c
30601 * lib/libgcrypt/cipher/rsa.c
30602 * lib/libgcrypt/cipher/seed.c
30603 * lib/libgcrypt/cipher/serpent.c
30604 * lib/libgcrypt/cipher/sha1.c
30605 * lib/libgcrypt/cipher/sha256.c
30606 * lib/libgcrypt/cipher/sha512.c
30607 * lib/libgcrypt/cipher/tiger.c
30608 * lib/libgcrypt/cipher/twofish.c
30609 * lib/libgcrypt/cipher/whirlpool.c
30610
af2f93ac
RM
306112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30612
30613 Fix build for systems without error().
30614
30615 * gnulib/error.c: New file (imported from Gnulib).
30616 * gnulib/error.h: Likewise.
30617 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30618 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30619 (this variable is now used by error()).
30620
73fb3dd5
FZ
306212009-11-16 Felix Zielcke <fzielcke@z-51.de>
30622
814f5e96
FZ
30623 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30624 instead of relying that char is signed.
73fb3dd5 30625
a691ca33
VS
306262009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30627
30628 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30629 blocksize different from specified.
30630 (grub_pxefs_read): Likewise.
30631
2af8f0f4
FZ
306322009-11-16 Felix Zielcke <fzielcke@z-51.de>
30633
30634 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30635
30636 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30637 (grub_ata_readwrite): Likewise. Update 2 format strings.
30638 (grub_atapi_read): Likewise.
30639
30640 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30641 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30642 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30643 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30644 (ata_mod_LDFLAGS): Move from here ...
30645 * conf/i386.rmk: ... to here ...
30646 * conf/x86_64-efi.rmk: ... and here.
30647 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30648 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30649
83bdecaf
RM
306502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30651
30652 Relicense multiboot.h, with RMS' blessing.
30653
30654 * include/multiboot.h: Change to X11 license.
30655
fd6fd3d7
RM
306562009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30657
30658 Support --version in grub-mkisofs.
30659
30660 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30661 (OPTION_VERSION): New macro.
30662 (ld_options): Recognize --version.
30663 (usage): Move `program_name' from here ...
30664 (program_name): ... to here. Add `static' qualifier.
30665 (main): Recognize `OPTION_VERSION'.
30666
16a88c49
FZ
306672009-11-15 Felix Zielcke <fzielcke@z-51.de>
30668
30669 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30670 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30671
a4158476
RM
306722009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30673
30674 Fix help2man generation for mkisofs.
30675
30676 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30677 (usage): Send output to stdout (rather than stderr).
30678
fc2208b0
RM
306792009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30680
30681 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30682 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30683 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30684 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30685 (bin_SCRIPTS): Add `grub-mkfloppy'.
30686 (grub_mkfloppy_SOURCES): New variable.
30687
30688 * util/grub-mkrescue.in: New file.
30689 * util/i386/pc/grub-mkfloppy.in: New file.
30690
30691 * util/i386/coreboot/grub-mkrescue.in: Remove.
30692 * util/i386/pc/grub-mkrescue.in: Remove.
30693
8d0edf4a
RM
306942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30695
30696 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30697 from here ...
30698 * include/multiboot.h (struct multiboot_header): ... to here. Update
30699 all users.
30700 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30701 from here ...
30702 * include/multiboot.h (struct multiboot_info): ... to here. Update
30703 all users.
30704 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30705 from here ...
30706 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30707 Update all users.
30708 * include/grub/multiboot.h (struct grub_mod_list): Move
30709 from here ...
30710 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30711 Update all users.
30712
a73f5969
RM
307132009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30714
30715 * include/multiboot2.h (multiboot_word): Rename from this ...
30716 (multiboot2_word): ... to this. Update all users.
30717 (multiboot_header): Rename from this ...
30718 (multiboot2_header): ... to this. Update all users.
30719 (multiboot_tag_header): Rename from this ...
30720 (multiboot2_tag_header): ... to this. Update all users.
30721 (multiboot_tag_start): Rename from this ...
30722 (multiboot2_tag_start): ... to this. Update all users.
30723 (multiboot_tag_name): Rename from this ...
30724 (multiboot2_tag_name): ... to this. Update all users.
30725 (multiboot_tag_module): Rename from this ...
30726 (multiboot2_tag_module): ... to this. Update all users.
30727 (multiboot_tag_memory): Rename from this ...
30728 (multiboot2_tag_memory): ... to this. Update all users.
30729 (multiboot_tag_unused): Rename from this ...
30730 (multiboot2_tag_unused): ... to this. Update all users.
30731 (multiboot_tag_end): Rename from this ...
30732 (multiboot2_tag_end): ... to this. Update all users.
30733
1c8927f0
RM
307342009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30735
30736 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30737 this platform we should support Multiboot1 first.
30738
30739 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30740 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30741 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30742
6e1e0d89
RM
307432009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30744
30745 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30746 of write calls (converting them to fwrite() if they aren't already).
30747 (get_torito_desc): Likewise.
30748 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30749
7f2b34d8
RM
307502009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30751
30752 * util/i386/pc/grub-install.in: Move from here ...
30753 * util/grub-install.in: ... to here. Update all users.
30754
c0ef3311
CW
307552009-11-11 Colin Watson <cjwatson@ubuntu.com>
30756
30757 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30758
e1f240ff
RM
307592009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30760
30761 Support for El Torito without floppy emulation.
30762
30763 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30764 (init_boot_catalog): Improve error handling.
30765 (get_torito_desc): Don't use floppy emulation unless requested by
30766 user. Patch boot information table when requested via
30767 `-boot-info-table'.
30768 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30769 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30770 (use_boot_info_table): New variables.
30771 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30772 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30773 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30774 `--eltorito-emul-floppy'.
30775 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30776 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30777 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30778 (use_boot_info_table, get_731): New prototypes.
30779 * util/mkisofs/write.c (get_731): New function.
30780
af7d4de5
FZ
307812009-11-11 Felix Zielcke <fzielcke@z-51.de>
30782
30783 Fix the generation of the man page.
30784
30785 * util/pc/i386/grub-install.in: Source
30786 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30787
2c55dbc0
RM
307882009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 Large file support for grub-mkisofs.
30791
30792 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30793 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30794 (session_start): Upgrade type to `uint64_t'. Update all users.
30795 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30796 (struct directory_entry): Upgrade type of `starting_block' and
30797 `size' to `uint64_t'. Update all users.
30798 (struct deferred): Remove unused structure.
30799 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30800 Update all users.
30801 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30802 file is larger than `UINT32_MAX'.
30803 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30804 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30805 return value.
30806 (struct deferred_write): Upgrade type of `extent' and `size' to
30807 `uint64_t'. Update all users.
30808 (last_extent_written): Upgrade type to `uint64_t'. Update all
30809 users.
30810 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30811 Update all users. Upgrade type of `remain' to `int64_t' and
30812 `use' to `size_t'. Use error() to handle fread() errors.
30813 (write_files): Rely on write_one_file() rather than calling
30814 xfwrite() directly.
30815
6a9cead5
FZ
308162009-11-09 Felix Zielcke <fzielcke@z-51.de>
30817
30818 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30819
4825d790
RM
308202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30821
30822 * util/mkisofs/fnmatch.c: Remove.
30823 * util/mkisofs/getopt1.c: Likewise.
30824 * util/mkisofs/getopt.c: Likewise.
30825 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30826 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30827 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30828 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30829 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30830
30831 * configure.ac: Detect `mingw32msvc' host_os.
30832 Check for lstat(), getuid() and getgid().
30833
30834 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30835 instances of `u_char' with `uint8_t'.
30836
30837 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30838 [!HAVE_GETUID] (getuid): New function (stub).
30839 [!HAVE_GETGID] (getgid): Likewise.
30840 [!HAVE_LSTAT] (lstat): Likewise.
30841 [!S_IROTH] (S_IROTH): New macro (dummy).
30842 [!S_IRGRP] (S_IRGRP): Likewise.
30843
84b860d8
RM
308442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30847 conditional expression).
30848
66e9b712
RM
308492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 Import from Gnulib.
30852
30853 * gnulib/fnmatch.c: New file.
30854 * gnulib/fnmatch.h: Likewise.
30855 * gnulib/fnmatch_loop.c: Likewise.
30856 * gnulib/getopt.c: Likewise.
30857 * gnulib/getopt.h: Likewise.
30858 * gnulib/getopt1.c: Likewise.
30859 * gnulib/getopt_int.h: Likewise.
30860 * gnulib/gettext.h: Likewise.
30861
34f4a5b0
RM
308622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30865 * normal/handler.c (read_handler_list): Likewise.
30866
ac451143
RM
308672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30868
30869 Misc cleanup.
30870
30871 * kern/command.c (grub_register_command_prio): Use
30872 grub_zalloc() instead of explicitly zeroing data.
30873 * kern/list.c: Include `<grub/mm.h>'.
30874 (grub_named_list_find): Replace `0' with `NULL'.
30875 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30876 (fs_module_list): Change type to `grub_named_list_t'. Update all
30877 users.
30878 * normal/dyncmd.c (read_command_list): Add space between function
30879 call and parenthesis.
30880 * normal/handler.c (read_handler_list): Likewise.
30881
4089b167
RM
308822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * normal/auth.c (punishment_delay): Moved from here ...
30885 (grub_auth_strcmp): ... to here (inside function).
30886
325f5037
RM
308872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30888
30889 * include/grub/list.h (struct grub_named_list): Remove `const'
30890 qualifier from `name'.
30891 (struct grub_prio_list): Likewise.
30892
7aea29a3
RM
308932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30894
30895 * normal/auth.c: Include `<grub/time.h>'.
30896 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30897
3fd6f044
RM
308982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30899
30900 * normal/auth.c (punishment_delay): New variable.
30901 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30902 (grub_auth_check_authentication): Punish failed login attempts with
30903 an incremental (2^N) delay.
30904
a4cd68e4
RM
309052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30906
30907 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30908 path with $(srcdir).
30909
7ad12f43
VS
309102009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30913
c1129f03
RM
309142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30915
30916 * util/i386/coreboot/grub-mkrescue.in: New file.
30917 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30918 variables.
30919
30920 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30921 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30922 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30923 requirements.
30924 * util/mkisofs/defaults.h: New file.
30925 * util/mkisofs/eltorito.c: Likewise.
30926 * util/mkisofs/exclude.h: Likewise.
30927 * util/mkisofs/fnmatch.c: Likewise.
30928 * util/mkisofs/getopt.c: Likewise.
30929 * util/mkisofs/getopt1.c: Likewise.
30930 * util/mkisofs/hash.c: Likewise.
30931 * util/mkisofs/include/fctldefs.h: Likewise.
30932 * util/mkisofs/include/mconfig.h: Likewise.
30933 * util/mkisofs/include/prototyp.h: Likewise.
30934 * util/mkisofs/include/statdefs.h: Likewise.
30935 * util/mkisofs/iso9660.h: Likewise.
30936 * util/mkisofs/joliet.c: Likewise.
30937 * util/mkisofs/match.c: Likewise.
30938 * util/mkisofs/match.h: Likewise.
30939 * util/mkisofs/mkisofs.c: Likewise.
30940 * util/mkisofs/mkisofs.h: Likewise.
30941 * util/mkisofs/multi.c: Likewise.
30942 * util/mkisofs/name.c: Likewise.
30943 * util/mkisofs/rock.c: Likewise.
30944 * util/mkisofs/tree.c: Likewise.
30945 * util/mkisofs/write.c: Likewise.
30946
ec8bb77d
VS
309472009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30948
30949 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30950 being insecure.
30951
3716b12c
RM
309522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30955 `grub-mkimage' (and use $0 when possible).
30956
b97b7b91
RM
309572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30958
30959 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30960 error message for excessively large memory map.
30961
04114812
RM
309622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30963
30964 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30965 executable bit.
30966
e4eb2373
RM
309672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30968
30969 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30970 message for coreboot users.
30971
c926e1d5 309722009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30973
30974 Fix build with GNU gold.
30975
30976 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30977 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30978 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30979 link addresses.
30980 * aclocal.m4: Likewise.
30981
86e5b1db 309822009-11-04 Felix Zielcke <fzielcke@z-51.de>
30983
30984 * configure.ac (AC_PREREQ): Bump to 2.59d.
30985 * INSTALL: Make it more clear when Autoconf and Ruby are
30986 needed and when to run `./autogen.sh'.
30987
246cd78f 309882009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30989
30990 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30991 OSes.
30992
4f9dfb37 309932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30994
30995 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30996
b82bd5e1 309972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30998
30999 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31000 giving it to GNU Mach.
31001
ff1a9bca 310022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31003
31004 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31005 GNU partition number to get internal GRUB partition number.
31006
61697d9c 310072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31008
31009 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31010 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31011
a50569e1 310122009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31013
31014 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31015 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31016 case.
31017
5b153867 310182009-11-01 Felix Zielcke <fzielcke@z-51.de>
31019
31020 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31021
d9e2cd70 310222009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31023
31024 Fix build problem.
31025
31026 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31027 `-isystem=$(srcdir)/include'.
31028
805111a4 310292009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31032 checked (grub-install doesn't currently rely on it).
31033
fa6e945f 310342009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31035
31036 Revert SVN r2660.
31037
31038 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31039 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31040 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31041 * conf/i386-ieee1275.rmk: Likewise.
31042 * conf/i386-pc.rmk: Likewise.
31043 * conf/powerpc-ieee1275.rmk: Likewise.
31044 * conf/sparc64-ieee1275.rmk: Likewise.
31045 * conf/x86_64-efi.rmk: Likewise.
31046
cee15086 310472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31048
31049 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31050
95b9239e 310512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31052
31053 * include/grub/misc.h: Stop checking for APPLE_CC.
31054
2ed19dfd 310552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31058 doesn't cause an infinite call loop.
31059
fdcdde19 310602009-10-28 Felix Zielcke <fzielcke@z-51.de>
31061
31062 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31063 strings.
31064
cefabfe1 310652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31066
31067 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31068 variable.
31069 * Makefile.in: Likewise.
31070
ed96ab6d 310712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31072
31073 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31074
0579b753 310752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31076
31077 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31078
478df409 310792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31082
083d1679 310832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31086 from here ...
31087 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31088
5947ae32 310892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31090
31091 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31092 in $(MAKEINFO) invocation. This makes it clear in output that
31093 errors are being ignored.
31094
94180ff6 310952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31096
31097 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31098 from here ...
31099 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31100 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31101 * conf/i386-ieee1275.rmk: Likewise.
31102 * conf/i386-pc.rmk: Likewise.
31103 * conf/powerpc-ieee1275.rmk: Likewise.
31104 * conf/sparc64-ieee1275.rmk: Likewise.
31105 * conf/x86_64-efi.rmk: Likewise.
31106
9031b03a 311072009-10-26 Colin Watson <cjwatson@ubuntu.com>
31108
31109 * util/grub-editenv.c (main): If only a command is given, use
31110 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31111 (usage): FILENAME is now optional and has a default.
31112
e4f6809b 311132009-10-26 Colin Watson <cjwatson@ubuntu.com>
31114
31115 Improve grub-mkconfig performance when there are several menu
31116 entries on a single filesystem.
31117
31118 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31119 prepare_grub_to_access_device.
31120 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31121 * util/grub.d/30_os-prober.in: Likewise.
31122
67937d4d 311232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31124
31125 * util/grub.d/10_freebsd.in: Remove.
31126 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31127 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31128
ee3756cc 311292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31130
5c35048e 31131 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31132
4dea1c6f 311332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31134
31135 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31136 grub_util_error() call.
31137
042484d7 311382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31139
31140 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31141 `reserved_first_sector' member.
31142 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31143 `reserved_first_sector' to 1.
31144 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31145 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31146 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31147 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31148 filesystems which begin at first sector.
31149 (options): New option --skip-fs-probe.
31150 (main): Handle --skip-fs-probe and pass it to setup().
31151
d64448a7 311522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31153
31154 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31155 (memset): Fix function prototype.
31156
508d42ec 311572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
311582009-10-25 Vasily Averin <vvs@parallels.com>
31159
31160 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31161 `dirent.direntlen == 0'.
31162
b240e30c 311632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31164
31165 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31166 `cpio'.
31167 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31168
346e7fbe 311692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31170
31171 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31172 `__trampoline_setup' and `__ucmpdi2'.
31173 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31174 that libgcc provides.
31175
cdb308b0 311762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31177
31178 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31179 * include/grub/sparc64/libgcc.h (memset): Likewise.
31180 * include/grub/misc.h (memset, memcmp): New function prototypes.
31181
fb26abc2 311822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31183
31184 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31185 `cpio'.
31186 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31187
f6693890 311882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31189
31190 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31191 * docs/grub.cfg: Compensate for recent change in multiboot
31192 loader (since 2009-08-14 it won't pass filename to payload).
31193 * util/grub.d/10_hurd.in: Likewise.
31194
0933cdc0 311952009-10-21 Felix Zielcke <fzielcke@z-51.de>
31196
31197 * config.guess: Update to latest version from config git
31198 repository.
31199 * config.sub: Likewise.
31200
3b2fe8c2 312012009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31202
31203 Fix build on sparc64.
31204
31205 * configure.ac: Perform checks for libgcc symbols before
31206 adding `-nostdlib' to LDFLAGS.
31207
46695a62 312082009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31209
31210 Let user specify OpenBSD root device.
31211
31212 * loader/i386/bsd.c (openbsd_root): New variable.
31213 (openbsd_opts): New option 'root'.
31214 (OPENBSD_ROOT_ARG): New macro.
31215 (grub_openbsd_boot): Use 'openbsd_root'.
31216 (grub_cmd_openbsd): Fill 'openbsd_root'.
31217
d2b6b7fc 312182009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31219
31220 * NEWS: Misc adjustments.
31221
421bd7ac 312222009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31223
31224 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31225
f1d29d87 312262009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31227
31228 * configure.ac: Bump version to 1.97.
31229
6f3cd880 312302009-10-16 Colin Watson <cjwatson@ubuntu.com>
31231
31232 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31233 -mno-3dnow on x86 architectures. Some toolchains enable these
31234 features by default, but they rely on registers that aren't enabled
31235 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31236
035f7122 312372009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31238
31239 Make entry text a bit more readable.
31240
31241 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31242
44998e58 312432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31244
31245 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31246
cd2851b3 312472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31248
31249 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31250 operations.
31251
c6f3b249 312522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31253
31254 * configure.ac: Add missing dollar.
31255
6b5886ba 312562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31257
31258 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31259
31260 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31261 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31262 exports.
31263 * include/grub/sparc64/libgcc.h: Likewise. Use
31264 preprocessor conditionals.
31265
e9d66f6d 312662009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31267
31268 * conf/common.rmk (grub-dumpbios): Remove rule.
31269 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31270 * util/grub-dumpbios.in: Remove file.
31271
9155bc17 312722009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31273
31274 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31275 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31276
31277 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31278 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31279 users.
31280
31281 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31282 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31283 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31284 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31285 users.
31286
bf7f7a18 312872009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31288
31289 * term/tparm.c: Switch to GPLv3.
31290
86564c26 312912009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31292
31293 * include/grub/i386/cpuid.h: Add header protection.
31294
5c936493 312952009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31296
31297 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31298
31299 * include/grub/i386/cpuid.h: New file.
31300 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31301 (has_longmode): Rename to ...
31302 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31303 `static' attribute.
31304 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31305 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31306 on a CPU that doesn't implement AMD64 instruction set.
31307
186e7cf2 313082009-10-06 Colin Watson <cjwatson@ubuntu.com>
31309
31310 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31311 that version.texi is rebuilt on version number changes.
31312
83b65c4a 313132009-10-06 Colin Watson <cjwatson@ubuntu.com>
31314
31315 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31316 Fixes bug #27602.
31317
d244281c 313182009-10-06 Colin Watson <cjwatson@ubuntu.com>
31319
31320 * util/i386/pc/grub-install.in: Source
31321 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31322 that the --grub-probe option will work.
31323 * util/sparc64/ieee1275/grub-install.in: Likewise.
31324
da25306d 313252009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31326
31327 * configure.ac: Bump version to 1.97~beta4.
31328
e8ee83c0 313292009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31330
31331 Resync grub-mkdevicemap in x86_64-efi.
31332
31333 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31334 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31335 `util/devicemap.c'.
31336
50dcabcf 313372009-10-01 Colin Watson <cjwatson@ubuntu.com>
31338
31339 * util/grub-editenv.c (create_envblk_file): Write new block with a
31340 .new suffix and then rename it into place, to ensure atomic
31341 creation.
31342
0e51c3a7 313432009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31344
31345 Do not automatically install headers.
31346
31347 * Makefile.in (include_DATA): Remove. Update all users.
31348
31299a95 313492009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31350
31351 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31352 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31353
31354 * util/osdetect.lua: Remove.
31355 * script/lua/lauxlib.c: Likewise.
31356 * script/lua/ldebug.c: Likewise.
31357 * script/lua/grub_main.c: Likewise.
31358 * script/lua/lauxlib.h: Likewise.
31359 * script/lua/ldebug.h: Likewise.
31360 * script/lua/ltablib.c: Likewise.
31361 * script/lua/liolib.c: Likewise.
31362 * script/lua/lstrlib.c: Likewise.
31363 * script/lua/lualib.h: Likewise.
31364 * script/lua/ldo.c: Likewise.
31365 * script/lua/ldump.c: Likewise.
31366 * script/lua/ldo.h: Likewise.
31367 * script/lua/loslib.c: Likewise.
31368 * script/lua/lundump.c: Likewise.
31369 * script/lua/grub_lib.c: Likewise.
31370 * script/lua/ldblib.c: Likewise.
31371 * script/lua/lundump.h: Likewise.
31372 * script/lua/lmem.c: Likewise.
31373 * script/lua/grub_lib.h: Likewise.
31374 * script/lua/lmathlib.c: Likewise.
31375 * script/lua/lstate.c: Likewise.
31376 * script/lua/ltm.c: Likewise.
31377 * script/lua/lvm.c: Likewise.
31378 * script/lua/lmem.h: Likewise.
31379 * script/lua/lstate.h: Likewise.
31380 * script/lua/ltm.h: Likewise.
31381 * script/lua/ltable.c: Likewise.
31382 * script/lua/lvm.h: Likewise.
31383 * script/lua/llex.c: Likewise.
31384 * script/lua/lgc.c: Likewise.
31385 * script/lua/grub_lua.h: Likewise.
31386 * script/lua/loadlib.c: Likewise.
31387 * script/lua/lfunc.c: Likewise.
31388 * script/lua/lopcodes.c: Likewise.
31389 * script/lua/lparser.c: Likewise.
31390 * script/lua/ltable.h: Likewise.
31391 * script/lua/llex.h: Likewise.
31392 * script/lua/lgc.h: Likewise.
31393 * script/lua/lfunc.h: Likewise.
31394 * script/lua/lbaselib.c: Likewise.
31395 * script/lua/lopcodes.h: Likewise.
31396 * script/lua/lparser.h: Likewise.
31397 * script/lua/lzio.c: Likewise.
31398 * script/lua/linit.c: Likewise.
31399 * script/lua/lobject.c: Likewise.
31400 * script/lua/llimits.h: Likewise.
31401 * script/lua/lstring.c: Likewise.
31402 * script/lua/lzio.h: Likewise.
31403 * script/lua/lapi.c: Likewise.
31404 * script/lua/lcode.c: Likewise.
31405 * script/lua/lua.h: Likewise.
31406 * script/lua/lobject.h: Likewise.
31407 * script/lua/lstring.h: Likewise.
31408 * script/lua/lapi.h: Likewise.
31409 * script/lua/lcode.h: Likewise.
31410 * script/lua/luaconf.h: Likewise.
31411
cb8a2c38 314122009-09-26 Colin Watson <cjwatson@ubuntu.com>
31413
31414 * docs/grub.texi (Command-line and menu entry commands): Document
31415 date and echo commands.
31416
6b9b6276 314172009-09-24 Pavel Roskin <proski@gnu.org>
31418
31419 * include/grub/kernel.h (struct grub_module_header): Remove
31420 `grub_module_header_types'. Make `type' unsigned. Make `size'
31421 32-bit on all platforms.
31422 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31423 8-bit field. Use grub_host_to_target32() for `size'.
31424 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31425 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31426 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31427
4e5a02a7 314282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31429
31430 Fix "lost keypress" bug in at_keyboard.
31431
31432 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31433 Checks for readyness of input buffer (without flushing it).
31434 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31435 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31436
c6dcedf6 314372009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31438
31439 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31440 size check within GRUB_MACHINE_PCBIOS section.
31441
74c958b1 314422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31443
31444 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31445 return value.
31446 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31447 KEYBOARD_ISREADY check.
31448 (grub_at_keyboard_checkkey): Rename to ...
31449 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31450 Remove gratuitous cast.
31451
ff420223 314522009-09-23 Colin Watson <cjwatson@ubuntu.com>
31453
31454 * configure.ac: Call AC_PROG_MKDIR_P.
31455 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31456 version.texi in $(builddir) rather than $(srcdir).
31457 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31458 to makeinfo's @include search path.
31459
d96875df 314602009-09-23 Felix Zielcke <fzielcke@z-51.de>
31461
31462 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31463
9b3f8365 314642009-09-23 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31467 for `*.dpkg-new'.
31468
c44c90db 314692009-09-21 Colin Watson <cjwatson@ubuntu.com>
31470
31471 Build info documentation. Some code borrowed from Automake.
31472
31473 * configure.ac: Check for makeinfo.
31474 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31475 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31476 docs/version.texi.
31477 (MOSTLYCLEANFILES): Add vti.tmp.
31478 (docs/version.texi, docs/stamp-vti): Update automatically.
31479 (docs/grub.info): Build info documentation. Use --force and ignore
31480 errors for now.
31481 (all-local): Add $(INFOS).
31482 (install-local): Install info files.
31483 (uninstall): Uninstall info files.
31484 * docs/version.texi: Remove from revision control. This file is
31485 automatically generated on build now.
31486 * gendistlist.sh: Add `*.info'.
31487
e0b37bb5 314882009-09-21 Felix Zielcke <fzielcke@z-51.de>
31489
31490 * kern/term.c: Fix indentation.
31491
5a78865b 314922009-09-21 Felix Zielcke <fzielcke@z-51.de>
31493
31494 * util/hostdisk.c: Fix a comment.
31495
dace7e8a 314962009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31497
31498 Fix regression introduced in r2539.
31499
31500 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31501 to 0xA1.
31502
a83d079b 315032009-09-19 Colin Watson <cjwatson@ubuntu.com>
31504
31505 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31506 os-prober. Under normal operation, it does not print anything to
31507 stderr; if it does, we need to debug it, and throwing away stderr
31508 makes that excessively difficult.
a83d079b 31509
be94a509 315102009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31511
31512 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31513
63f745e8 315142009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31515
31516 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31517 AC_LANG_PROGRAM from autoconf.
31518 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31519 prototypes (fixes warning).
31520
31521 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31522 `--disable-werror' was used.
31523
bbb2a70f 315242009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31525
31526 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31527 uninitialized `lastaddr'.
31528
77c24f1d 315292009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31530
0f0b8c87 31531 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31532
07197f23 315332009-09-14 Colin Watson <cjwatson@ubuntu.com>
31534
31535 * commands/test.c (get_fileinfo): Return immediately if
31536 grub_fs_probe fails.
31537
dabf1798 315382009-09-14 José Martínez <xosemp@gmail.com>
31539
31540 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31541
d52109a7 315422009-09-14 Colin Watson <cjwatson@ubuntu.com>
31543
31544 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31545 output.
31546
56532179 315472009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31548
31549 * configure.ac: Remove --enable-grub-pe2elf. Only build
31550 grub-pe2elf when needed by the build system itself.
31551 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31552
8ef070f5 315532009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31554
31555 * configure.ac: Bump version to 1.97~beta3.
31556 * docs/version.texi: Likewise.
31557
61229557 315582009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31559
31560 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31561 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31562 from here ...
31563 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31564 (grub_linux_setup_video): ... to here (with some adjustments).
31565
5c9f8d84 315662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31567
31568 Fix memory corruption issue (spotted by Colin Watson).
31569
31570 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31571 causing returned size to be stored in an incorrect memory location.
31572 Fix use of uninitialized value when storing the returned size.
31573
e8f5d6e9 315742009-09-12 Yves Blusseau <blusseau@zetam.org>
31575
31576 Change clean rules to properly remove files
31577
31578 * genmk.rb: add new clean rules
31579 * Makefile.in (clean): add the new targets
31580 (mostlyclean): likewise
31581
cda2a409 315822009-09-11 Colin Watson <cjwatson@ubuntu.com>
31583
31584 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31585 to grub_uint64_t.
31586 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31587 non-resident files.
31588
86695375 315892009-09-11 Colin Watson <cjwatson@ubuntu.com>
31590
31591 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31592 part of bug #27349.
31593
8aa1541a 315942009-09-10 Felix Zielcke <fzielcke@z-51.de>
31595
31596 * util/grub-mkconfig.in: Make the created config mode 400 and
31597 print a warning if it fails.
31598
48d9bb0a 315992009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31600
31601 * util/grub.d/40_custom.in: Ask user to type custom entries below
31602 comment, rather than below 'exec tail' line.
31603
3b0521be 316042009-09-10 Colin Watson <cjwatson@ubuntu.com>
31605
31606 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31607 visible in grub.cfg.
31608
50051d55 316092009-09-10 Colin Watson <cjwatson@ubuntu.com>
31610
31611 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31612 file.
31613
c0d34387 316142009-09-10 Felix Zielcke <fzielcke@z-51.de>
31615
31616 * docs/grub.cfg: Add an example menu entry for memtest86+.
31617
80a608f3 316182009-09-09 Felix Zielcke <fzielcke@z-51.de>
31619
a2094832 31620 * config.guess: Update to latest version from config git.
80a608f3 31621 * config.sub: Likewise.
31622
99423078 316232009-09-08 Colin Watson <cjwatson@ubuntu.com>
31624
31625 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31626 unknown-command case. Fixes bug #27320.
31627
44454e4c 316282009-09-08 Felix Zielcke <fzielcke@z-51.de>
31629
31630 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31631 `help' if the command exists.
31632
e30d87ad 316332009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31634
31635 * INSTALL: Require GCC 4.1.3 or later.
31636
9a86f1ec 316372009-09-06 Yves Blusseau <blusseau@zetam.org>
31638
31639 * Makefile.in (RMKFILES): add i386-qemu.rmk
31640 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31641 $(srcdir)/stamp-h.in
31642
7f26d466 316432009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31644
31645 * util/grub-probe.c (probe): Comment out buggy codepath, which
31646 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31647 should be re-enabled after 1.97.
31648
3a613259 316492009-09-05 Felix Zielcke <fzielcke@z-51.de>
31650
31651 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31652 find searches for.
31653
197f76c7 316542009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31655
31656 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31657 unnecessary calls to grub_error.
31658
70ba68ce 316592009-09-04 Colin Watson <cjwatson@ubuntu.com>
31660
31661 * NEWS: Mention `keystatus' and Unicode fonts.
31662
4ff0d7a4 316632009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31664
31665 * configure.ac: Bump version to 1.97~beta2.
31666 * docs/version.texi: Likewise.
31667
77c55a87 316682009-09-03 Colin Watson <cjwatson@ubuntu.com>
31669
31670 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31671 containing unwind information in some cases where it previously did
31672 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31673 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31674 discussion.
31675
f79572cd 316762009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31677
31678 Embedding loadenv module into grub-emu
31679
31680 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31681 commands/loadenv.c
31682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31686 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31688
93a81088 316892009-09-03 Magnus Granberg <zorry@ume.nu>
31690
31691 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31692 include -fPIE in the default specs.
31693 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31694 to TARGET_CFLAGS.
31695
160034b2 316962009-09-03 Felix Zielcke <fzielcke@z-51.de>
31697
31698 * INSTALL: Note that GNU Bison 2.3 or later is required.
31699
087c07c4 317002009-09-03 Colin Watson <cjwatson@ubuntu.com>
31701
31702 * kern/i386/pc/startup.S: Fix typo.
31703
cbf978c0 317042009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31705
31706 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31707 according to GCS.
31708
317092009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31710
31711 * docs/grub.texi (Naming convention): Describe one-based partition
31712 numbering.
31713 (Device syntax): Likewise.
31714 (File name syntax): Likewise.
31715 (Block list syntax): Likewise.
31716 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31717 menu.lst.
31718 (File name syntax): Likewise.
31719 (Command-line and menu entry commands): Document acpi, blocklist,
31720 crc, export, insmod, keystatus, ls, set, and unset commands.
31721
f3e8cdfd 317222009-09-02 Colin Watson <cjwatson@ubuntu.com>
31723
31724 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31725 to avoid implying that only one of --shift, --ctrl, or --alt may be
31726 used.
31727
c0bc232b 317282009-09-02 Colin Watson <cjwatson@ubuntu.com>
31729
31730 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31731 rather than comparing against S_IFREG, which will almost never work.
31732
aa0f752d 317332009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31734
31735 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31736 (write_blocklists): Likewise.
31737
ecb3166a 317382009-09-01 Colin Watson <cjwatson@ubuntu.com>
31739
31740 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31741 argument to grub_printf.
31742
c403a125 317432009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31744
31745 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31746 non GNU test.
31aba781 31747
b5e7312c 317482009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31749
31750 * kern/file.c (grub_file_read): Spelling fix
31751
fe00f472 317522009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31753
31754 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31755 loading of headers in some cases.
31756
cc55302e 317572009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31758
31759 * configure.ac: Bump version to 1.97~beta1.
31760 * docs/version.texi: Likewise.
31761
5c90cdd2 317622009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31763
31764 * include/grub/i386/xnu.h: Add license header.
31765 include grub/err.h explicitly.
31766
c90edae4 317672009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31768
31769 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31770 to `ufs' in the vfs.root.mountfrom kernel parameter.
31771
d8888b5c 317722009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31773
31774 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31775
31776 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31777 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31778
31779 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31780 `ARRAY_SIZE' macro.
31781
6f07b921 317822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31783
31784 * kern/file.c (grub_file_read): Check offset.
31785 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31786 * fs/jfs.c (grub_jfs_read_file): Likewise.
31787 * fs/ntfs.c (grub_ntfs_read): Likewise.
31788 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31789 * fs/minix.c (grub_minix_read_file): Correct offset check.
31790 * fs/ufs.c (grub_ufs_read_file): Likewise.
31791
b4f34077 317922009-08-28 Colin Watson <cjwatson@ubuntu.com>
31793
31794 * term/i386/pc/console.c (bios_data_area): Cast
31795 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31796
e7c69859 317972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31798
31799 1-bit optimised blitters.
31800
31801 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31802 prototype.
31803 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31804 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31805 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31806 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31807 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31808 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31809 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31810 function.
31811 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31812 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31813 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31814 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31815 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31816 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31817 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31818 when possible.
31819 * video/video.c (grub_video_get_blit_format): Return
31820 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31821
a57da43f 318222009-08-28 Colin Watson <cjwatson@ubuntu.com>
31823
31824 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31825 the first argument to grub_printf.
31826
4cbe67e5 318272009-08-28 Colin Watson <cjwatson@ubuntu.com>
318282009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31829
31830 Add `getkeystatus' terminal method. Add a new `keystatus' command
31831 to query it.
31832
31833 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31834 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31835 modifier key bitmasks.
31836 (struct grub_term_input): Add `getkeystatus' member.
31837 (grub_getkeystatus): Add prototype.
31838 * kern/term.c (grub_getkeystatus): New function.
31839
31840 * include/grub/i386/pc/memory.h
31841 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31842 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31843 Data Area layout.
31844 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31845 (grub_console_term_input): Set `getkeystatus' member.
31846 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31847 constants.
31848 (grub_usb_keyboard_getreport): Likewise.
31849 (grub_usb_keyboard_checkkey): Likewise.
31850 (grub_usb_keyboard_getkeystatus): New function.
31851 (grub_usb_keyboard_term): Set `getkeystatus' member.
31852
31853 * commands/keystatus.c: New file.
31854 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31855 (keystatus_mod_SOURCES): New variable.
31856 (keystatus_mod_CFLAGS): Likewise.
31857 (keystatus_mod_LDFLAGS): Likewise.
31858 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31859 commands/keystatus.c.
31860 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31861 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31862 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31865 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31866
6e2a9085 318672009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31868
31869 Split befs.mod and afs.mod into *_be.mod and *.mod
31870
31871 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31872 (grub_fstest_SOURCES): Likewise.
31873 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31874 (afs_be_mod_SOURCES): New variable.
31875 (afs_be_mod_CFLAGS): Likewise.
31876 (afs_be_mod_LDFLAGS): Likewise.
31877 (befs_be_mod_SOURCES): Likewise.
31878 (befs_be_mod_CFLAGS): Likewise.
31879 (befs_be_mod_LDFLAGS): Likewise.
31880 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31882 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31883 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31884 (grub_emu_SOURCES): Likewise.
31885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31886 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31887 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31888 * fs/afs_be.c: New file.
31889 * fs/befs_be.c: New file.
31890 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31891 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31892 (U16): Replaced with ...
31893 (grub_afs_to_cpu16): ...this. All users updated.
31894 (U32): Replaced with ...
31895 (grub_afs_to_cpu32): ...this. All users updated.
31896 (U64): Replaced with ...
31897 (grub_afs_to_cpu64): ...this. All users updated.
31898 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31899 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31900 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31901 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31902 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31903 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31904 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31905 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31906 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31907 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31908 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31909
32a71655 319102009-08-26 Bean <bean123ch@gmail.com>
31911
31912 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31913 64-bit number.
31914 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31915 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31916 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31917
552bf6c5 319182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31919
31920 NetBSD memory map support.
31921
31922 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31923 (grub_netbsd_btinfo_mmap_header): New structure.
31924 (grub_netbsd_btinfo_mmap_entry): Likewise.
31925 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31926
1ae2078c 319272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31928
31929 Enable bsd.mod on coreboot.
31930
31931 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31932 (bsd_mod_SOURCES): New variable.
31933 (bsd_mod_CFLAGS): Likewise.
31934 (bsd_mod_LDFLAGS): Likewise.
31935 (bsd_mod_ASFLAGS): Likewise.
31936 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31937 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31938
beefc598 319392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31940
31941 Cleanup NetBSD root support.
31942
31943 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31944 grub_bsd_get_device.
31945 Fix typo.
31946
3b76e68b 319472009-08-25 Felix Zielcke <fzielcke@z-51.de>
31948
31949 * util/grub.d/00_header.in: Move check for the video backend of
31950 gfxterm from here ...
31951 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31952 a suitable video backend.
31953
aea664ea 319542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31955
31956 Fix breakage in grub-setup.
31957
31958 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31959 "msdos_partition_map".
31960
ff747d50 319612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31962
31963 Fix breakage in normal/auth.c.
31964
31965 * normal/auth.c (grub_iswordseparator): New function.
31966
e7e1f93f 319672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31968
31969 Authentication support.
31970
31971 * commands/password.c: New file.
31972 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31973 (password_mod_SOURCES): New variable.
31974 (password_mod_CFLAGS): Likewise.
31975 (password_mod_LDFLAGS): Likewise.
31976 (normal_mod_SOURCES): Add normal/auth.c.
31977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31978 normal/auth.c.
31979 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31980 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31981 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31983 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31984 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31985 * include/grub/auth.h: New file.
31986 * include/grub/err.h (grub_err_t): New enum value
31987 GRUB_ERR_ACCESS_DENIED.
31988 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31989 'users'.
31990 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31991 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31992 users updated.
31993 * normal/auth.c: New file.
31994 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31995 (grub_cmdline_run): Don't allow to go to command line without
31996 authentication.
31997 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31998 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31999 menuentry without superuser rights.
32000 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32001 user isn't a superuser.
32002
70f1161d 320032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32004
32005 Save space by inlining misc.c functions.
32006
32007 * kern/misc.c (grub_iswordseparator): Made static.
32008 * kern/misc.c (grub_strcat): Moved from here ...
32009 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32010 * kern/misc.c (grub_strncat): Moved from here ...
32011 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32012 * kern/misc.c (grub_strcasecmp): Moved from here ...
32013 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32014 * kern/misc.c (grub_strncasecmp): Moved from here ...
32015 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32016 * kern/misc.c (grub_isalpha): Moved from here ...
32017 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32018 * kern/misc.c (grub_isdigit): Moved from here ...
32019 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32020 * kern/misc.c (grub_isgraph): Moved from here ...
32021 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32022 * kern/misc.c (grub_tolower): Moved from here ...
32023 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32024
48e40bff 320252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32026
32027 * script/sh/function.c (grub_script_function_find): Cut error message
32028 not to flood terminal.
32029 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32030 limit.
32031 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32032
c385bfc3 320332009-08-24 Colin Watson <cjwatson@ubuntu.com>
32034
32035 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32036 `report' grub_uint8_t *.
32037 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32038 Use a 50-millisecond timeout rather than just repeating
32039 grub_usb_keyboard_getreport 50 times.
32040 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32041
2d21e3e8 320422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32043
32044 Rename *_partition_map to part_*
32045
32046 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32047 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32048 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32049 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32050 All users updated.
32051 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32052 All users updated.
32053 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32054 * util/grub-probe.c (probe_partmap): Don't transform partition name
32055 to get module name.
32056
dd103c4e 320572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32058
32059 Fix OpenBSD and NetBSD support.
32060
32061 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32062 memory address conflict.
32063 (OPENBSD_MMAP_ACPI): New definition.
32064 (OPENBSD_MMAP_NVS): Likewise.
32065 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32066 and OPENBSD_MMAP_NVS.
32067 Add memory map terminator
32068 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32069 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32070
16c84d74 320712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32072
32073 Let user specify NetBSD root device.
32074
32075 * loader/i386/bsd.c (netbsd_root): New variable.
32076 (netbsd_opts): New option 'root'.
32077 (NETBSD_ROOT_ARG): New macro.
32078 (grub_netbsd_boot): Use 'netbsd_root'.
32079 (grub_bsd_unload): Free 'netbsd_root'.
32080 (grub_cmd_netbsd): Fill 'netbsd_root'.
32081
adb29902 320822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32083
32084 Support for 64-bit NetBSD.
32085
32086 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32087 point when booting non-FreeBSD.
32088
f5ae9f74 320892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32090
32091 Support --no-smp and --no-acpi for NetBSD.
32092
32093 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32094 (NETBSD_AB_NOACPI): Likewise.
32095 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32096 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32097
de74f136 320982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32099
32100 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32101 errors.
32102 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32103 errors. Call grub_error when needed.
32104
e9a925da 321052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32106
32107 * commands/search.c (search_fs): Try searching without autoload first.
32108 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32109 filesystem module explicitly for faster booting.
32110
5174302b 321112009-08-23 Colin Watson <cjwatson@ubuntu.com>
32112
32113 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32114
c8c80635 321152009-08-23 Colin Watson <cjwatson@ubuntu.com>
32116
32117 * util/grub.d/30_os-prober.in: Disable os-prober if
32118 `GRUB_DISABLE_OS_PROBER' was set to true.
32119
71acf5e5 321202009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32121
32122 * partmap/pc.c: Rename to ...
32123 * partmap/msdos.c: ... this. Update all users.
32124 (grub_pc_partition_map): Rename to ...
32125 (grub_msdos_partition_map): ... this. Update all users.
32126
32127 * parttool/pcpart.c: Rename to ...
32128 * parttool/msdospart.c: ... this. Update all users.
32129
32130 * include/grub/pc_partition.h: Rename to ...
32131 * include/grub/msdos_partition.h: ... this. Update all users.
32132 (grub_pc_partition_bsd_entry): Rename to ...
32133 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32134 (grub_pc_partition_disk_label): Rename to ...
32135 (grub_msdos_partition_disk_label): ... this. Update all users.
32136 (grub_pc_partition_entry): Rename to ...
32137 (grub_msdos_partition_entry): ... this. Update all users.
32138 (grub_pc_partition_mbr): Rename to ...
32139 (grub_msdos_partition_mbr): ... this. Update all users.
32140 (grub_pc_partition): Rename to ...
32141 (grub_msdos_partition): ... this. Update all users.
32142 (grub_pc_partition_is_empty): Rename to ...
32143 (grub_msdos_partition_is_empty): ... this. Update all users.
32144 (grub_pc_partition_is_extended): Rename to ...
32145 (grub_msdos_partition_is_extended): ... this. Update all users.
32146 (grub_pc_partition_is_bsd): Rename to ...
32147 (grub_msdos_partition_is_bsd): ... this. Update all users.
32148
32149 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32150 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32151 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32152 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32153 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32154 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32155 (gpt_mod_LDFLAGS): Rename to ...
32156 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32157 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32158 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32159 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32160 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32161 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32162 (part_gpt_mod_LDFLAGS): ... this.
32163 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32164 `pcpart.mod' to `msdospart.mod'.
32165 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32166 to ...
32167 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32168 (msdospart_mod_LDFLAGS): ... this.
32169
c11fded5 321702009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32171
32172 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32173 (openbsd_opts): Likewise.
32174 (netbsd_opts): Likewise.
32175 (freebsd_flags): Added 0 terminator.
32176 (openbsd_flags): Likewise.
32177 (netbsd_flags): Likewise.
32178 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32179 (grub_cmd_freebsd): Transformed into extended command.
32180 (grub_cmd_openbsd): Likewise.
32181 (grub_cmd_netbsd): Likewise.
32182 (cmd_freebsd): Changed type to grub_extcmd_t.
32183 (cmd_openbsd): Likewise.
32184 (cmd_netbsd): Likewise.
32185 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32186 grub_cmd_openbsd as extended commands.
32187 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32188 cmd_netbsd and cmd_openbsd
32189
11d1c769 321902009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32191
32192 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32193
7a9094e5 321942009-08-21 Pavel Roskin <proski@gnu.org>
32195
5496c37e 32196 * Makefile.in (install-local): When checking if a file is in the
32197 build directory, use "test -e" to detect symlinks.
32198
7a9094e5 32199 * Makefile.in (install-local): Remove all files in
32200 $(DESTDIR)$(pkglibdir) before installing new files there.
32201
e53cea11 322022009-08-18 Felix Zielcke <fzielcke@z-51.de>
32203
32204 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32205 grub-mkelfimage.
32206
9aced544 322072009-08-18 Felix Zielcke <fzielcke@z-51.de>
32208
32209 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32210 explicitly specified by the user.
32211
b7da6bab 322122009-08-18 Pavel Roskin <proski@gnu.org>
32213
32214 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32215 grub_uint8_t pointer for data.
32216 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32217 Likewise.
32218 * video/fb/fbutil.c: Remove unnecessary casts.
32219
19f1b335 322202009-08-17 Michal Suchanek <hramrach@centrum.cz>
32221
32222 VBE cleanup.
32223
32224 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32225 (grub_vbe_set_video_mode): Save active mode info
32226 only after setting the mode.
32227 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32228 second argument.
32229
2f467aa9 322302009-08-17 Michal Suchanek <hramrach@centrum.cz>
32231
32232 Rename variables for clarity.
32233
32234 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32235 (active_vbe_mode_info): ... this. All users updated.
32236 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32237 All users updated.
32238 (initial_mode): Rename to ...
32239 (initial_vbe_mode): ... this. All users updated.
32240 (mode_in_use): Rename to ..
32241 (vbe_mode_in_use): ... this. All users updated.
32242 (mode_list): Rename to ..
32243 (vbe_mode_list): ... this. All users updated.
32244 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32245 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32246 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32247 'mode_list_size' to 'vbe_mode_list_size'.
32248 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32249 'best_mode_info' to 'best_vbe_mode_info' and
32250 'best_mode' to 'best_vbe_mode'
32251
6025fcd7 322522009-08-17 Michal Suchanek <hramrach@centrum.cz>
32253
32254 Remove duplicate grub_video_fb_get_video_ptr.
32255
32256 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32257 (grub_video_fb_get_video_ptr): ... this.
32258 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32259 * video/fb/fbutil.c: Add comment about addressing.
32260 (get_data_ptr): Rename to ...
32261 (grub_video_fb_get_video_ptr): ... this. All users updated.
32262 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32263
cc8c6faf 322642009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32265
32266 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32267 grub_dprintf() that was just added.
32268
08aa61f0 322692009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32270
32271 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32272 (DEFAULT_VIDEO_MODE): Remove macros.
32273 (grub_linux_boot): Remove assumption that Linux has FB support,
32274 and use "text" as default video mode.
32275
7cef4f75 322762009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32277
32278 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32279 grub_dprintf.
32280 * fs/fat.c (grub_fat_read_data): Likewise.
32281
e1f39873 322822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32283
32284 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32285 payload.
32286 (grub_module): Likewise.
32287
c166d79e 322882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32291 mbi->cmdline but free playground.
32292
c60cee8e 322932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 Handle group offset on UFS1.
32296
32297 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32298 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32299
c0d8b5d4 323002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 Split ufs.mod into ufs1.mod and ufs2.mod.
32303
32304 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32305 (grub_fstest_SOURCES): Likewise.
32306 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32307 (ufs_mod_SOURCES): Remove.
32308 (ufs_mod_CFLAGS): Likewise.
32309 (ufs_mod_LDFLAGS): Likewise.
32310 (ufs1_mod_SOURCES): New variable.
32311 (ufs1_mod_CFLAGS): Likewise.
32312 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32313 (ufs2_mod_SOURCES): New variable.
32314 (ufs2_mod_CFLAGS): Likewise.
32315 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32317 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32318 Likewise.
32319 (grub_emu_SOURCES): Likewise.
32320 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32322 (grub_setup_SOURCES): Likewise.
32323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32324 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32325 (grub_setup_SOURCES): Likewise.
32326 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32327 Likewise.
32328 * fs/ufs2.c: New file.
32329 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32330
d3539132 323312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32332
32333 Framebuffer split.
32334
32335 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32336 subsystem at the end.
32337 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32338 (video_fb_mod_SOURCES): New variable.
32339 (video_fb_mod_CFLAGS): Likewise.
32340 (video_fb_mod_LDFLAGS): Likewise.
32341 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32342 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32343 * video/i386/pc/vbeblit.c: Moved from here ...
32344 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32345 * video/i386/pc/vbefill.c: Moved from here ...
32346 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32347 * video/i386/pc/vbeutil.c: Moved from here ...
32348 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32349 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32350 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32351 * include/grub/i386/pc/vbefill.h: Moved from here ...
32352 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32353 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32354 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32355 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32356 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32357 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32358 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32359 (grub_video_adapter): Added 'get_info_and_fini'.
32360 (grub_video_get_info_and_fini): New prototype.
32361 (grub_video_set_mode): make modestring const char *.
32362 * loader/i386/linux.c (grub_linux_setup_video): Use
32363 grub_video_get_info_and_fini.
32364 (grub_linux_boot): Move modesetting just before booting.
32365 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32366 grub_video_get_info_and_fini.
32367 * video/i386/pc/vbe.c: Moved framebuffer part ...
32368 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32369 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32370 grub_video_fbstd_colors and grub_video_fb_set_palette.
32371 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32372 grub_video_fb_init.
32373 (grub_video_vbe_fini): Use grub_video_fb_fini.
32374 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32375 render_target and use grub_video_fb_set_active_render_target and
32376 grub_video_fb_set_palette.
32377 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32378 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32379 (grub_video_vbe_adapter): Use framebuffer.
32380 * video/video.c (grub_video_get_info_and_fini): New function.
32381 (grub_video_set_mode): Make modestring const char *.
32382 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32383 values are already initialised.
32384
d404ee56 323852009-08-14 Pavel Roskin <proski@gnu.org>
32386
32387 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32388 ABS and APPLE_CC.
32389 * boot/i386/pc/diskboot.S: Likewise.
32390 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32391 sectors allow compilation on MacOSX.
32392 * conf/i386-pc.rmk: Enable unconditional compilation of
32393 lnxboot.img.
32394
9a10df16 323952009-08-13 Colin Watson <cjwatson@ubuntu.com>
32396
32397 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32398 * util/grub.d/00_header.in: Enter interruptible sleep if
32399 GRUB_HIDDEN_TIMEOUT is set.
32400
be3c9ca7 324012009-08-13 Yves Blusseau <blusseau@zetam.org>
32402
32403 * include/grub/symbol.h: Add the LOCAL macro.
32404 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32405 starting with "L_".
32406
1f9e557e 324072009-08-13 Pavel Roskin <proski@gnu.org>
32408
9ca62843 32409 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32410 any modern compilers we support.
32411
1f9e557e 32412 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32413 Use local labels starting with "L_" so that Apple assembler
32414 knows they are local.
32415
81623db6 324162009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32417
32418 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32419 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32420 (bsd_kernel_types): ... this enum.
32421
32422 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32423 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32424 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32425
32426 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32427 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32428 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32429 messages.
32430
f5d35e7a 324312009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32432
32433 * util/grub-dumpdevtree: Moved from here ...
32434 * util/i386/efi/grub-dumpdevtree: ... to here.
32435 (hexify): New function. Converts a string to its hex version.
32436 Generate hex versions of "efi" and "device-properties" by calling
32437 hexify() on the ASCII strings rather than by hardcoding numbers.
32438
d1e1d527 324392009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32440
32441 * fs/jfs.c: Update copyright year.
32442
1ebbe064 324432009-08-08 Felix Zielcke <fzielcke@z-51.de>
32444
32445 * util/grub.d/00_header.in: Fix a comment.
32446 * util/grub.d/10_linux.in: Likewise.
32447 * util/grub.d/10_windows.in: Likewise.
32448 * util/grub.d/10_hurd.in: Likewise.
32449
a78c8d24 324502009-08-08 Felix Zielcke <fzielcke@z-51.de>
32451
32452 * util/grub-mkconfig.in: Allow the user to specify the used font
32453 with GRUB_FONT.
32454
29a6b9e8 324552009-08-08 Pavel Roskin <proski@gnu.org>
32456
b5f16cc4 32457 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32458 available, xfs.mod needs it now.
32459
2f5cb827 32460 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32461 the "g" modifier in sed when the intention is to strip something
32462 once. This fixes comparison of kernels with multiple dashes.
32463
29a6b9e8 32464 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32465 on it. Add missing space before closing bracket. Fix
32466 misleading formatting.
32467
892a3d98 324682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32469
32470 * docs/grub.texi: Major overhaul. Remove all sections that are
32471 specific to GRUB Legacy, or mostly composed of Legacy-specific
32472 information.
32473
ed94253f 324742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32475
32476 * docs/version.texi: New file. Provides version information for
32477 grub.texi.
32478
126d6628 324792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32480
32481 * docs/grub.texi: Update CVS information to SVN.
32482 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32483
998b5aa9 324842009-08-07 Felix Zielcke <fzielcke@z-51.de>
32485
32486 * util/grub-mkconfig.in: Remove a wrong `fi'.
32487
818e094a 324882009-08-07 Felix Zielcke <fzielcke@z-51.de>
32489
32490 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32491 (grub_jfs_uuid): New function.
32492 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32493
b969c52f 324942009-08-07 Felix Zielcke <fzielcke@z-51.de>
32495
32496 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32497 of it to ...
32498 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32499 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32500
7a4894cc 325012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32502
32503 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32504 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32505 Update all users.
32506
32507 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32508 not just "vmlinu[zx]".
32509 Moved from here ...
32510 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32511 all users.
32512
32513 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32514 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32515 all users.
32516
4e2171f8 325172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32518
32519 * util/grub.d/10_freebsd.in: Use an absolute device path for
32520 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32521
6dcfcb32 325222009-08-06 Felix Zielcke <fzielcke@z-51.de>
32523
32524 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32525 handling of multiple abstraction modules.
32526
f56a8756 325272009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32528
32529 Fix a bug resulting in black screen when loading Linux using a
32530 packed video mode.
32531
32532 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32533 function.
32534
32535 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32536 (grub_vbe_bios_getset_dac_palette_width): New function.
32537 (grub_vbe_bios_get_dac_palette_width)
32538 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32539 grub_vbe_bios_getset_dac_palette_width()).
32540
32541 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32542 check for return status.
32543 (grub_vbe_get_video_mode_info): When getting information for a packed
32544 mode (<= 8 bpp), obtain DAC palette width using
32545 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32546 {red,green,blue}_mark_size.
32547
222671b2 325482009-08-04 Felix Zielcke <fzielcke@z-51.de>
32549
ecb1a6d9 32550 * commands/search.c (options): Fix help output to match actual code.
222671b2 32551
f84114f5 325522009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32553
32554 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32555 of homegrown code.
32556
bd288a20 325572009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32558
32559 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32560 on XFS or ReiserFS.
32561
8aab5e25 325622009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32563
32564 Support Apple partition map with sector size different from 512 bytes.
32565
32566 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32567 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32568 and 'apart.partmap_size'.
32569
6ad6258a 325702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
325712009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32572
32573 Fix cpuid command.
32574
32575 * commands/i386/cpuid.c (options): New variable.
32576 (grub_cmd_cpuid): Return real error.
32577 (GRUB_MOD_INIT(cpuid)): Declare options.
32578
67459bc6 325792009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32580
32581 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32582 valid.
32583
fbc6ab54 325842009-07-31 Bean <bean123ch@gmail.com>
32585
32586 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32587 log2_inode.
32588 (grub_fshelp_node): Move inode field to the end.
32589 (grub_xfs_data): Remove inode field.
32590 (grub_xfs_inode_block): Calculate inode size using sblock.
32591 (grub_xfs_inode_offset): Likewise.
32592 (grub_xfs_read_inode): Calculate inode size using sblock.
32593 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32594 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32595 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32596 to match inode size.
32597 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32598 not accessible when data is null.
32599 (grub_xfs_open): Likewise.
32600
f45d6cfc 326012009-07-31 Bean <bean123ch@gmail.com>
32602
32603 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32604 Don't change pv->disk if it's already set.
32605
32606 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32607 (grub_raid_register): ... here.
32608 (grub_raid_rescan): Removed.
32609
32610 * include/grub/raid.h (grub_raid_rescan): Removed.
32611
32612 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32613 (fstest): Replace grub_raid_rescan with module fini function followed
32614 by init function.
32615
32616 * util/grub-probe.c: Add include file <grub/raid.h>.
32617 (probe_raid_level): New function.
32618 (probe): Detect abstraction by walking the disk device, support two
32619 level of abstraction (LVM on RAID) when detecting partition map.
32620
24443b5a 326212009-07-31 Pavel Roskin <proski@gnu.org>
32622
32623 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32624 to grub_zalloc(), it was erroneous.
32625 Reported by Bean <bean123ch@gmail.com>
32626
a275d9e7 326272009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32628
32629 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32630 embedding zone, not only the first one.
a275d9e7 32631
56c5a47f 326322009-07-29 Joe Auricchio <jauricchio@gmail.com>
32633
32634 * term/gfxterm.c (clear_char): New function.
32635 (grub_virtual_screen_setup): Use clear_char.
32636 (scroll_up): Likewise.
32637 (grub_virtual_screen_cls): Likewise.
32638
67bb323a 326392009-07-29 Felix Zielcke <fzielcke@z-51.de>
32640
32641 * util/deviceiter.c (get_acceleraid_disk_name): New static
32642 function.
32643 (grub_util_iterate_devices): Handle Accelraid devices.
32644 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32645
388a7c75 326462009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32647
32648 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32649 separator for the suggested gfxpayload string (';' collides with the
32650 parser and needs escaping).
32651
3bb7abcf 326522009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32653
32654 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32655 Clear direction flag before jumping to OS.
32656 (grub_multiboot2_real_boot): Likewise.
32657
2ddd36d7 326582009-07-28 Felix Zielcke <fzielcke@z-51.de>
32659
32660 * util/i386/pc/grub-install: Fix parsing of --disk-module
32661 option.
32662
c521b62b 326632009-07-28 Felix Zielcke <fzielcke@z-51.de>
32664
32665 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32666 when embedding.
32667
880e0a0c 326682009-07-26 Felix Zielcke <fzielcke@z-51.de>
32669
32670 * util/grub-mkconfig.in (package_version): New variable.
32671 Use it do display the version.
32672
2366e356 326732009-07-25 Felix Zielcke <fzielcke@z-51.de>
32674
32675 * kern/file.c (grub_file_open): Revert to previous check with
32676 grub_errno.
32677
7ad8c80e 326782009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32679
32680 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32681 from help line. It's out of sync with code.
32682
72b9658b 326832009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32684
32685 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32686 entries on failed boot.
32687
77435277 326882009-07-25 Felix Zielcke <fzielcke@z-51.de>
32689
32690 * kern/file.c (grub_file_open): Fix an error check.
32691
fcaa8b21 326922009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32693
35d16c74 32694 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32695 partition map couldn't be identified.
fcaa8b21 32696
48904cd1 326972009-07-23 Pavel Roskin <proski@gnu.org>
32698
ef3c317f 32699 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32700 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32701 case of little endian words becomes just an optimization.
32702 Respect const modifier.
ad8ea1f4 32703 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32704
48904cd1 32705 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32706 to avoid loss of upper bits if align is unsigned and shorter
32707 than addr.
32708
260c9a89 327092009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32710
32711 UUID support for UFS
32712
32713 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32714 (grub_ufs_uuid): New function.
32715 (grub_ufs_fs): add .uuid
32716
f76ce889 327172009-07-21 Pavel Roskin <proski@gnu.org>
32718
32719 * kern/dl.c (grub_dl_check_header): Make static.
32720
6a6cbcaf 327212009-07-21 Felix Zielcke <fzielcke@z-51.de>
32722
32723 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32724 add drivemap for Vista. It breaks Windows 7.
32725
cffcddb2 327262009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32727
32728 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32729 128 bytes
32730
1ef44b80 327312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32732
32733 Add BFS support
32734
32735 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32736 (grub_fstest_SOURCES): Likewise.
32737 (pkglib_MODULES): Add befs.mod.
32738 (befs_mod_SOURCES): New variable.
32739 (befs_mod_CFLAGS): Likewise.
32740 (befs_mod_LDFLAGS): Likewise.
32741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32744 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32745 (grub_setup_SOURCES): Likewise.
32746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32747 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32748 (grub_setup_SOURCES): Likewise.
32749 * fs/befs.c: New file.
32750 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32751 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32752 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32753 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32754 (B_KEY_INDEX_ALIGN): New declaration.
32755 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32756 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32757 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32758 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32759 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32760 (grub_afs_mount) [MODE_BFS]: Likewise.
32761 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32762 (grub_afs_fs): Use GRUB_AFS_FSNAME
32763 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32764 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32765 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32766 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32767
4f253044 327682009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32769
32770 * util/getroot.c (find_root_device): Add support for MacOSX.
32771 * util/hostdisk.c: Likewise.
32772
57a55913 327732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32774
32775 * font/font.c (find_glyph): Check whether a font is present to avoid
32776 segmentation fault.
75421ca9 32777
327782009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32779
32780 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32781
e98cd0c2 327822009-07-20 Pavel Roskin <proski@gnu.org>
32783
32784 * configure.ac: Trim excessively wordy excuses.
32785
1d2d169a 327862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32787
32788 Add symlink, mtime and label support to AtheFS.
32789
32790 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32791 (grub_afs_iterate_dir): Handle symlinks.
32792 (grub_afs_open): Use grub_afs_read_symlink.
32793 (grub_afs_dir): Likewise.
32794 Pass mtime.
32795 (grub_afs_label): New function.
32796 (grub_afs_fs): Add grub_afs_label.
32797 (grub_afs_read_symlink): New function.
32798
186f3189 327992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32800
32801 Fix AtheFS support.
32802
32803 * fs/afs.c: Fix comments style.
32804 (grub_afs_blockrun): Declare as packed.
32805 (grub_afs_datastream): Likewise.
32806 (grub_afs_bnode): Likewise.
32807 (grub_afs_btree): Likewise.
32808 (grub_afs_sblock): Likewise.
32809 Declare `name' as char.
32810 (grub_afs_inode): Declare as packed.
32811 Change void *vnode to grub_uint32_t unused.
32812 (grub_afs_iterate_dir): Check that key_size is positive.
32813 (grub_afs_mount): Don't read superblock twice.
75421ca9 32814 (grub_afs_dir): Don't free node in case of error,
186f3189 32815 grub_fshelp_find_file already handles this.
32816 (grub_afs_open): Likewise.
32817
5680109e 328182009-07-19 Pavel Roskin <proski@gnu.org>
32819
32820 * Makefile.in: Remove LIBLZO and enable_lzo.
32821 * conf/i386-pc.rmk: Remove lzo support.
32822 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32823 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32824 support.
32825 * kern/i386/pc/lzo1x.S: Remove.
32826 * kern/i386/pc/startup.S: Remove lzo support.
32827 * util/i386/pc/grub-mkimage.c: Likewise.
32828
ac70fa32 328292009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32830
32831 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32832 * fs/xfs.c (grub_xfs_dir): Likewise.
32833 * fs/afs.c (grub_afs_dir): Likewise.
32834 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32835 (grub_iso9660_open): Likewise.
32836 * fs/jfs.c (grub_jfs_open): Likewise.
32837 * fs/ext2.c (grub_ext2_dir): Likewise.
32838 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32839 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32840
eab58da2 328412009-07-16 Pavel Roskin <proski@gnu.org>
32842
d2838156 32843 * configure.ac: Never add "-c" to CFLAGS.
32844
55c70904 32845 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32846
43e6200c 32847 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32848 grub_cv_cc_efiemu should be used.
32849
ce7a733d 32850 * configure.ac: Typo fixes.
32851
eab58da2 32852 * kern/mm.c (grub_zalloc): New function.
32853 (grub_debug_zalloc): Likewise.
32854 * include/grub/mm.h: Declare grub_zalloc() and
32855 grub_debug_zalloc().
32856 * util/misc.c (grub_zalloc): New function.
32857 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32858 instead of grub_malloc(), remove unneeded initializations.
32859 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32860 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32861 * commands/parttool.c (grub_cmd_parttool): Likewise.
32862 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32863 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32864 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32865 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32866 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32867 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32868 (grub_cmd_efiemu_pnvram): Likewise.
32869 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32870 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32871 (grub_iso9660_iterate_dir): Likewise.
32872 * fs/jfs.c (grub_jfs_opendir): Likewise.
32873 * fs/ntfs.c (list_file): Likewise.
32874 (grub_ntfs_mount): Likewise.
32875 * kern/disk.c (grub_disk_open): Likewise.
32876 * kern/dl.c (grub_dl_load_core): Likewise.
32877 * kern/elf.c (grub_elf_file): Likewise.
32878 * kern/env.c (grub_env_context_open): Likewise.
32879 (grub_env_set): Likewise.
32880 (grub_env_set_data_slot): Likewise.
32881 * kern/file.c (grub_file_open): Likewise.
32882 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32883 * loader/i386/multiboot.c (grub_module): Likewise.
32884 * loader/xnu.c (grub_xnu_create_key): Likewise.
32885 (grub_xnu_create_value): Likewise.
32886 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32887 (read_config_file): Likewise.
32888 * normal/menu_entry.c (make_screen): Likewise.
32889 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32890 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32891 * script/sh/script.c (grub_script_parse): Likewise.
32892 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32893 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32894 * video/readers/png.c (grub_png_output_byte): Likewise.
32895 (grub_video_reader_png): Likewise.
32896
830afef7 328972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32898
32899 Enable all targets that can be built by default
32900
830afef7 32901 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32902 grub-mkfont and grub-fstest if they can be built
32903
ee293aee 329042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32905
32906 Fix hang and segmentation fault in grub-emu-usb
32907
32908 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32909 * util/usb.c (grub_libusb_devices): likewise
32910 (grub_libusb_init): rename to ...
32911 (GRUB_MOD_INIT (libusb)):...this
32912 (grub_libusb_fini): rename to ..
32913 (GRUB_MOD_FINI (libusb)):...this
32914 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32915 * include/grub/disk.h (grub_raid_init): removed, it's useless
32916 (grub_raid_fini): likewise
32917 (grub_lvm_init): likewise
32918 (grub_lvm_fini): likewise
32919 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32920 by grub_init_all
32921
94414221 329222009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32923
32924 Fix libusb
32925
32926 * Makefile.in (LIBUSB): new macro
32927 * genmk.rb (Utility/print_tail): new method
32928 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32929 (top level): call util.print_tail at the end.
32930
59ade63d 329312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32932
32933 Make FreeBSD accept zpool.cache
32934
32935 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32936 type is /boot/zfs/zpool.cache
32937
a58da8c7 329382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32939
32940 Fix 64-bit efiemu
32941
32942 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32943 correct wrong typedef
32944 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32945
20591577 329462009-07-15 Pavel Roskin <proski@gnu.org>
32947
560ca572 32948 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32949 * kern/disk.c (struct grub_disk_cache): Likewise.
32950
e8e8e4fd 32951 * commands/probe.c (options): Typo fix.
32952
fde24e10 32953 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32954 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32955 accordingly.
32956 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32957
379c54c1 32958 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32959 the end of "Error" to make the message more readable.
32960
7bd8f5bf 32961 * boot/i386/pc/boot.S (kernel_segment): Remove.
32962 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32963 for destination.
32964
40b132c5 32965 * boot/i386/pc/boot.S (boot_version): Remove.
32966 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32967 Remove.
32968
20591577 32969 * include/grub/i386/pc/boot.h: Sort all offsets.
32970 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32971 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32972 * boot/i386/pc/boot.S: Assert location of every offset listed in
32973 include/grub/i386/pc/boot.h.
32974
2df32b2c 329752009-07-13 Pavel Roskin <proski@gnu.org>
32976
44b5d879 32977 * include/grub/i386/coreboot/machine.h: Rename
32978 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32979 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32980 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32981
17dc3751 32982 * kern/dl.c: Force native word size to suppress warnings when
32983 compiling grub-emu.
32984
2df32b2c 32985 * kern/device.c (grub_device_iterate): Change struct part_ent to
32986 hold the name, not a pointer to it. Use one grub_malloc() per
32987 partition, not two. Free partition_name if grub_malloc() fails.
32988 Set ents to NULL only before grub_partition_iterate() is called.
32989
75c59f59 329902009-07-11 Bean <bean123ch@gmail.com>
32991
32992 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32993 childname.
32994
0ae1bf88 329952009-07-10 Bean <bean123ch@gmail.com>
329962009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32997
32998 * kern/ieee1275/openfw.c (grub_children_iterate)
32999 (grub_devalias_iterate): Fix size evaluation for property or path
33000 strings, which was broken since r2132.
33001
8279cade 330022009-07-07 Pavel Roskin <proski@gnu.org>
33003
7d8a52d3 33004 * commands/search.c (search_file): Merge into ...
33005 (search_fs): ... this. Accept search type as argument.
33006 (grub_cmd_search): Pass search type to search_fs().
33007
25f9a05a 33008 * include/grub/util/console.h: New file.
33009 * util/console.c: Use it instead of grub/machine/console.h.
33010 * util/grub-emu.c: Likewise.
33011
8279cade 33012 * lib/arg.c (find_long_option): Remove.
33013 (find_long): Add `len' argument, make `s' const char *.
33014 (grub_arg_parse): Parse long options in place, not in a
33015 temporary buffer.
33016
4a11b60f 330172009-07-06 Pavel Roskin <proski@gnu.org>
33018
99f68041 33019 * commands/search.c (search_fs): Fix potential NULL pointer
33020 dereference.
33021
4a11b60f 33022 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33023 function pointer.
33024
e110f4de 330252009-07-06 Daniel Mierswa <impulze@impulze.org>
33026
33027 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33028 comparison.
33029
46eeb6a2 330302009-07-05 Pavel Roskin <proski@gnu.org>
33031
bab74958 33032 * include/grub/i386/linux.h (struct linux_kernel_params):
33033 Restore padding3, it's still needed.
33034
46eeb6a2 33035 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33036 FreeBSD.
33037 * util/osdetect.lua: Likewise.
33038
b4a1dc79 330392009-07-05 Bean <bean123ch@gmail.com>
33040
33041 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33042
33043 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33044 (grub_lua_getenv): Likewise.
33045 (grub_lua_setenv): Likewise.
33046 (save_errno): New function.
33047 (push_result): Likewise.
33048 (grub_lua_enum_device): Likewise.
33049 (grub_lua_enum_file): Likewise.
33050 (grub_lua_file_open): Likewise.
33051 (grub_lua_file_close): Likewise.
33052 (grub_lua_file_seek): Likewise.
33053 (grub_lua_file_read): Likewise.
33054 (grub_lua_file_getline): Likewise.
33055 (grub_lua_file_getsize): Likewise.
33056 (grub_lua_file_getpos): Likewise.
33057 (grub_lua_file_eof): Likewise.
33058 (grub_lua_file_exist): Likewise.
33059 (grub_lua_add_menu): Likewise.
33060
33061 * script/lua/grub_lua.h (isupper): New inline function.
33062 (islower): Likewise.
33063 (ispunct): Likewise.
33064 (isxdigit): Likewise.
33065 (strcspn): Change to normal function.
33066 (strpbkr): New function declaration.
33067 (memchr): Likewise.
33068
33069 * script/lua/grub_main.c (scan_str): New function.
33070 (strcspn): Likewise.
33071 (strpbrk): Likewise.
33072 (memchr): Likewise.
33073
33074 * script/lua/linit.c (lualibs): Enable the string library.
33075
33076 * util/osdetect.lua: New file.
33077
2da92295 330782009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33079
33080 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33081 `capabilities' member.
33082
b2582ec9 330832009-07-02 Pavel Roskin <proski@gnu.org>
33084
33085 * genparttoollist.sh: Add missing newline at the end.
33086
32622956 330872009-07-01 Pavel Roskin <proski@gnu.org>
33088
87a7339e 33089 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33090
d23af54e 33091 * util/hostdisk.c (open_device): Remove `const' from
33092 `sysctl_size', as sysctlbyname() can change it (in this case it
33093 doesn't actually happen).
33094
c94b18a9 33095 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33096 using signed long int constants.
33097
c6cd3ef0 33098 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33099 constant to avoid a warning on FreeBSD.
33100
0df63420 33101 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33102 where it's needed.
33103
999577f1 33104 * Makefile.in: Install include/grub/machine symlink.
33105
6f41557f 33106 * Makefile.in: When installing symlinks, use "cp -fR", which
33107 works on FreeBSD and MacOSX.
33108 From Yves Blusseau <cl7m42e02@sneakemail.com>
33109
c8d22988 33110 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33111 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33112
1b96e952 33113 * util/misc.c: Move grub_reboot() and grub_halt() ...
33114 * util/grub-emu.c: ... here. Make main_env static.
33115 * include/grub/util/misc.h: Remove main_env.
33116
2ef0084d 33117 * kern/mm.c: Use correct format to print size_t.
33118
32622956 33119 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33120 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33121 * kern/powerpc/dl.c: Likewise.
33122 * kern/sparc64/dl.c: Likewise.
33123 * kern/x86_64/dl.c: Likewise.
33124
3f7f0cd0 331252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33126
33127 Fix grub-emu build on sparc64-ieee1275.
33128
75421ca9 33129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33131
211d06b5 331322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33133
33134 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33135 (grub_reboot, grub_halt): New functions.
33136
33137 * util/i386/pc/misc.c: Delete. Update all users.
33138 * util/sparc64/ieee1275/misc.c: Likewise.
33139 * util/powerpc/ieee1275/misc.c: Likewise.
33140
aaf53e3c 331412009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33142
33143 * conf/i386.rmk (setjmp_mod_SOURCES)
33144 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33145 * conf/common.rmk (setjmp_mod_SOURCES)
33146 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33147 to use $(target_cpu).
33148 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33149 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33150 * conf/powerpc-ieee1275.rmk: Likewise.
33151 * conf/sparc64-ieee1275.rmk: Likewise.
33152
33153 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33154 $(target_cpu) for kern/$(target_cpu)/dl.c.
33155 * conf/i386-efi.rmk: Likewise.
33156 * conf/i386-ieee1275.rmk: Likewise.
33157 * conf/x86_64-efi.rmk: Likewise.
33158 * conf/i386-coreboot.rmk: Likewise.
33159 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33160 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33161 kern/$(target_cpu)/cache.S.
33162 * conf/sparc64-ieee1275.rmk: Likewise.
33163
a337130b 331642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33165
33166 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33167 type to `grub_uint8_t', and adjust `padding9' accordingly.
33168
c6fe4d53 331692009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33170
b09db61d 33171 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33172
c6fe4d53 33173 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33174 assembly in final jump, using register constraints.
33175
b09db61d 33176 (grub_linux_boot): For text mode, initialize `have_vga' using
33177 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33178
33179 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33180 right before the final jump.
33181
33182 Set `video_mode' to 0x3.
33183
33184 Document initialization of `video_page', `video_mode' and
33185 `video_ega_bx'.
33186
28333ad0 331872009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33188
33189 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33190 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33191 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33192
02164e1b 331932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33194
33195 Fix build on Debian / sparc.
33196
33197 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33198
18b6c557 331992009-06-28 Pavel Roskin <proski@gnu.org>
33200
85f2aab6 33201 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33202 fix a warning.
33203
18b6c557 33204 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33205
ad760f81 332062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33207
33208 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33209 `err'.
33210
87a4623b 332112009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33212
33213 Revert r2338.
33214
33215 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33216 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33217 grub_errno / grub_errmsg appropriately.
87a4623b 33218 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33219
8231fb77 332202009-06-27 Pavel Roskin <proski@gnu.org>
332212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33222
33223 * include/grub/dl.h: Include grub/elf.h.
33224 (struct grub_dl): Add symtab field.
33225 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33226 GRUB_MODULES_MACHINE_READONLY.
33227 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33228 of the header for read-only modules.
33229 (grub_dl_unload): Free mod->symtab for read-only modules.
33230 * kern/i386/dl.c: Use mod->symtab.
33231 * kern/powerpc/dl.c: Likewise.
33232 * kern/sparc64/dl.c: Likewise.
33233 * kern/x86_64/dl.c: Likewise.
33234
33235 * conf/i386-qemu.rmk: New file.
33236 * kern/i386/qemu/startup.S: Likewise.
33237 * kern/i386/qemu/mmap.c: Likewise.
33238 * boot/i386/qemu/boot.S: Likewise.
33239 * include/grub/i386/qemu/time.h: Likewise.
33240 * include/grub/i386/qemu/serial.h: Likewise.
33241 * include/grub/i386/qemu/kernel.h: Likewise.
33242 * include/grub/i386/qemu/console.h: Likewise.
33243 * include/grub/i386/qemu/boot.h: Likewise.
33244 * include/grub/i386/qemu/init.h: Likewise.
33245 * include/grub/i386/qemu/machine.h: Likewise.
33246 * include/grub/i386/qemu/loader.h: Likewise.
33247 * include/grub/i386/qemu/memory.h: Likewise.
33248
33249 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33250 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33251 [qemu] (pkglib_IMAGES): Add `boot.img'.
33252 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33253 [qemu] (boot_img_FORMAT): New variables.
33254 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33255 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33256 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33257 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33258 [qemu] (kernel_img_FORMAT): New variables.
33259
33260 * configure.ac: Recognise `i386-qemu'.
33261
33262 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33263 (for no compression).
33264 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33265 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33266 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33267 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33268 ifdefs).
33269
97fe384e 332702009-06-27 Pavel Roskin <proski@gnu.org>
33271
33272 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33273 read.
33274 * efiemu/prepare32.c: Likewise.
33275 * efiemu/prepare64.c: Likewise.
33276
c402ab17 332772009-06-26 Pavel Roskin <proski@gnu.org>
33278
33279 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33280 * include/grub/elf.h: Define symbols without "32" or "64" based
33281 on GRUB_TARGET_WORDSIZE.
33282 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33283 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33284 ELF definitions.
33285 * efiemu/loadcore64.c: Likewise.
33286 * loader/i386/bsd32.c: Likewise.
33287 * loader/i386/bsd64.c: Likewise.
33288 * kern/dl.c: Remove own ELF definitions.
33289 * util/i386/efi/grub-mkimage.c: Likewise.
33290
9bbdfd4d 332912009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33292
33293 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33294 segment 0x0 unconditionally, because the reference generated by
33295 GAS is an absolute address.
33296
a42ce6e9 332972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33298
33299 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33300 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33301
c952cf92 333022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33303
33304 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33305 indexes. Check for -f explicitly.
cc3752ad 33306 (search_file): Improve error message.
33307 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33308
132a0a59 333092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33310
33311 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33312 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33313
387a140c 333142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33315
33316 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33317 * conf/i386-ieee1275.rmk: Likewise.
33318 * conf/i386-coreboot.rmk: Likewise.
33319
33320 * kern/i386/pc/startup.S (grub_stop): Remove function.
33321 * kern/i386/ieee1275/startup.S: Likewise.
33322 * kern/i386/coreboot/startup.S: Likewise.
33323 * kern/i386/misc.S (grub_stop): New function.
33324
41da9665 333252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33326
33327 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33328 * kern/i386/realmode.S (real_to_prot): ... to here.
33329
bf337234 333302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33331
33332 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33333 with `kernel.img'.
33334 (kernel_elf_SOURCES): Rename to ...
33335 (kernel_img_SOURCES): ... this.
33336 (kernel_elf_HEADERS): Rename to ...
33337 (kernel_img_HEADERS): ... this. Update all users.
33338 (kernel_elf_ASFLAGS): Rename to ...
33339 (kernel_img_ASFLAGS): ... this.
33340 (kernel_elf_CFLAGS): Rename to ...
33341 (kernel_img_CFLAGS): ... this.
33342 (kernel_elf_LDFLAGS): Rename to ...
33343 (kernel_img_LDFLAGS): ... this.
33344 * conf/i386-coreboot.rmk: Likewise.
33345 * conf/powerpc-ieee1275.rmk: Likewise.
33346
33347 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33348 with "kernel.img".
33349
f52196ff 333502009-06-21 Pavel Roskin <proski@gnu.org>
33351
c3cee413 33352 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33353 to match nested functions.
33354 * loader/sparc64/ieee1275/linux.c: Likewise.
33355
f52196ff 33356 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33357
58750afc 333582009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33359
33360 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33361 all i386 platforms.
33362
15355c7d 333632009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33364
33365 Fix asm file handling on ELF, and remove workarounds.
33366
33367 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33368 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33369 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33370 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33371
3f3ec72b 333722009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33373
33374 Load BSD ELF modules
33375
33376 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33377 and loader/i386/bsd64.c
33378 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33379 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33380 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33381 (grub_freebsd_load_elfmodule32): New declaration
33382 (grub_freebsd_load_elfmoduleobj64): Likewise
33383 (grub_freebsd_load_elf_meta32): Likewise
33384 (grub_freebsd_load_elf_meta64): Likewise
33385 (grub_freebsd_add_meta): Likewise
33386 (grub_freebsd_add_meta_module): Likewise
33387 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33388 (grub_freebsd_add_meta_module): Likewise and move module-specific
33389 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33390 (grub_cmd_freebsd): Add elf-kernel specific parts
33391 based on grub_freebsd_add_meta_module
33392 (grub_cmd_freebsd_module): Add type parsing moved from
33393 grub_freebsd_add_meta_module
33394 (grub_cmd_freebsd_module_elf): New function
33395 (cmd_freebsd_module_elf): New variable
33396 (GRUB_MOD_INIT): Register freebsd_module_elf
33397 * loader/i386/bsd32.c: New file
33398 * loader/i386/bsd64.c: Likewise
33399 * loader/i386/bsdXX.c: Likewise
33400 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33401 (grub_elf64_load): Likewise
33402 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33403 All users updated
33404 (grub_elf64_load_hook_t): Likewise
33405
0db15301 334062009-06-21 Colin Watson <cjwatson@ubuntu.com>
33407
33408 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33409 variable.
33410 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33411 don't write a menu entry for recovery mode.
33412
546796c1 334132009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33414
33415 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33416 after it's no longer needed.
33417
cd7310d5 334182009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33419
33420 * include/grub/i386/loader.h (grub_linux_prot_size)
33421 (grub_linux_tmp_addr, grub_linux_real_addr)
33422 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33423 GRUB_MACHINE_PCBIOS.
33424 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33425 common grub_util_info() call to ...
33426 (generate_image): ... here.
33427 Fix use of uninitialized memory, comparison of signed with
33428 unsigned integers and memory leak.
33429 Remove bogus module address message.
33430
ab32d3b5 334312009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33432
33433 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33434 grub_raid_register
33435 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33436
024ef597 334372009-06-19 Pavel Roskin <proski@gnu.org>
33438
33439 * configure.ac: Remove stray AC_MSG_CHECKING.
33440
3ac72b51 334412009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33442
33443 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33444
e14cd814 334452009-06-18 Pavel Roskin <proski@gnu.org>
33446
33447 * conf/common.rmk: Add fs_file.mod.
33448 * disk/fs_file.c: New file.
33449 * include/grub/disk.h (enum grub_disk_dev_id): Add
33450 GRUB_DISK_DEVICE_FILE_ID.
33451
26586d98 334522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33453
33454 Fix build with Apple's toolchain. Part 2
33455
33456 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33457 a fake start
33458
26de2bcd 334592009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33460
33461 Fix build with Apple's toolchain. Part 1
33462
33463 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33464 for long calls
33465 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33466 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33467 Apple's toolchain
33468
09b3490b 334692009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33470
33471 Fix warnings
33472
33473 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33474 (decomp_block): initialize ch
33475 use grub_memcpy instead of memcpy
33476
c22a006a 334772009-06-17 Pavel Roskin <proski@gnu.org>
33478
d3638678 33479 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33480 version, use declarations needed to use vga_text as the startup
33481 console.
33482
c22a006a 33483 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33484 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33485 the kernel.
33486 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33487 and grub_at_keyboard_fini(), it's done on module load and
33488 unload.
33489
05b129e0 334902009-06-17 Felix Zielcke <fzielcke@z-51.de>
33491
33492 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33493 file can't be found.
33494 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33495
cf24ed9e 334962009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33497
33498 Fix newline handling
33499
33500 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33501 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33502 (grub_script_yylex): don't segfault on unterminated script
33503 newline terminates command and variable
33504
74aa8e4b 335052009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33506
33507 avoid double grub_adjust_range call. Bug reported by David Simner
33508
33509 * kern/disk.c (grub_disk_write): change to raw disk access before
33510 calling disk_read
33511
1bd265f3 335122009-06-17 Colin Watson <cjwatson@ubuntu.com>
33513
33514 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33515 spaces, for the benefit of help2man.
33516 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33517
a2d08c06 335182009-06-16 Pavel Roskin <proski@gnu.org>
33519
33520 * kern/i386/halt.c: Include grub/machine/init.h.
33521 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33522
b97bcb19 335232009-06-16 Felix Zielcke <fzielcke@z-51.de>
33524
33525 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33526 drivemap menuentry.
33527
0644f96c 335282009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33529
33530 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33531 `echo' command.
33532
3ef17a2e 335332009-06-16 Pavel Roskin <proski@gnu.org>
33534
33535 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33536 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33537 save %dx, we only need %dl and we never change it.
33538 * boot/i386/pc/cdboot.S: Don't set the root drive.
33539 * boot/i386/pc/pxeboot.S: Likewise.
33540 * include/grub/i386/pc/boot.h: Remove
33541 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33542 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33543 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33544 * kern/i386/pc/init.c (make_install_device): Remove references
33545 to grub_root_drive.
33546 * kern/i386/pc/startup.S: Likewise.
33547 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33548
693fe637 335492009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33550
33551 xnu_uuid command
33552
33553 * commands/xnu_uuid.c: new file
33554 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33555 (xnu_uuid_mod_SOURCES): new variable
33556 (xnu_uuid_mod_CFLAGS): likewise
33557 (xnu_uuid_mod_LDFLAGS): likewise
33558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33559 * conf/i386-ieee1275.rmk: likewise
33560 * conf/i386-pc.rmk: likewise
33561 * conf/powerpc-ieee1275.rmk: likewise
33562 * conf/sparc64-ieee1275.rmk: likewise
33563 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33564
c9da87d0 335652009-06-16 Pavel Roskin <proski@gnu.org>
33566
33567 * configure.ac: Avoid '==' in test command, it's not portable.
33568
9c6f4596 335692009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33570
33571 Probe command
33572
33573 * commands/probe.c: new file
33574 * conf/common.rmk (pkglib_MODULES): add probe.mod
33575 (probe_mod_SOURCES): new variable
33576 (probe_mod_CFLAGS): likewise
33577 (probe_mod_LDFLAGS): likewise
33578 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33579 * conf/i386-ieee1275.rmk: likewise
33580 * conf/i386-pc.rmk: likewise
33581 * conf/powerpc-ieee1275.rmk: likewise
33582 * conf/sparc64-ieee1275.rmk: likewise
33583
70b7f9fd 335842009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33585
33586 Fix handling of string like \"hello\" and "a
33587 b"
33588
33589 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33590 (grub_script_yylex): fix parsing of quoting, escaping and newline
33591
71c79a6b 335922009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33593
dd74360c 33594 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33595 handling
dd74360c 33596
0644f96c 335972009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33598
33599 * util/grub-mkconfig.in: Fix parsing of --output option.
33600
e40893c3 336012009-06-12 Pavel Roskin <proski@gnu.org>
33602
33603 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33604 genmk.rb don't need to be generated or installed.
33605
3a1acfe2 336062009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33607
33608 * commands/i386/pc/drivemap_int13h.S: add more comments
33609
3a4575d4 336102009-06-11 Pavel Roskin <proski@gnu.org>
33611
0658e928 33612 * Makefile.in (uninstall): Uninstall manuals.
33613
ca0388f0 33614 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33615 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33616 and update-grub_lib in two places.
33617 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33618
e3b27c39 33619 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33620 a compiler warning.
33621
3a4575d4 33622 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33623 `entry_lo' to fix variable shadowing.
33624
af1f4f55 336252009-06-11 Christian Franke <franke@computer.org>
33626
33627 * kern/misc.c (__enable_execute_stack): Add missing return type
33628 to prevent gcc warning.
33629
5225e649 336302009-06-11 Felix Zielcke <fzielcke@z-51.de>
33631
33632 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33633
7d83bd47 336342009-06-11 Pavel Roskin <proski@gnu.org>
33635
c1cb63ba 33636 * Makefile.in: Don't rely on any scripts being executable.
33637 Always use $(SHELL) to run shell scripts.
33638
7d83bd47 33639 * configure.ac: Always define ___main if using -nostdlib. This
33640 fixes tests on Cygwin.
33641
948f48e7 336422009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33643
33644 UDF fix
33645
7d83bd47 33646 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33647 is in bytes and not in blocks
7d83bd47 33648
8ada9bc1 336492009-06-11 Pavel Roskin <proski@gnu.org>
33650
33651 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33652 warning.
33653
25ad2323 336542009-06-11 Felix Zielcke <fzielcke@z-51.de>
33655
33656 * util/grub.d/30_os-prober.in: Fix a comment. Source
33657 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33658 to set the root device. Place drivemap command in the generated
33659 chain entry.
33660
e65acb0c 336612009-06-11 Pavel Roskin <proski@gnu.org>
33662
33663 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33664 have long been resolved.
33665
f285fe2d 336662009-06-11 Colin Watson <cjwatson@ubuntu.com>
33667
bd47b0b5 33668 * util/grub.d/10_linux.in: Capitalise "Linux".
33669
f285fe2d 33670 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33671
a0c62e4e 336722009-06-11 Pavel Roskin <proski@gnu.org>
33673
b6783cb2 33674 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33675 fix a gcc warning and ensure that the function won't ever exit.
33676
dde032e8 33677 * kern/i386/ieee1275/init.c: Add missing prototype for
33678 grub_stop_floppy().
33679
22cd079d 33680 * loader/ieee1275/multiboot2.c [__i386__]: Include
33681 grub/cpu/multiboot.h.
33682
a0c62e4e 33683 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33684 casts to short - they are not portable and cause warnings. Fix
33685 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33686
63963d17 336872009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 Drivemap fixes
33690
33691 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33692 new function
33693 (grub_get_root_biosnumber_saved): new variable
33694 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33695 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33696 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33697 %dx after the call if necessary
33698 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33699 (boot_mod_SOURCES): remove
33700 (boot_mod_CFLAGS): remove
33701 (boot_mod_LDFLAGS): remove
33702 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33703 (boot_mod_SOURCES): new variable
33704 (boot_mod_CFLAGS): likewise
33705 (boot_mod_LDFLAGS): likewise
33706 * conf/i386-efi.rmk: likewise
33707 * conf/i386-ieee1275.rmk: likewise
33708 * conf/i386-pc.rmk: likewise
33709 * conf/powerpc-ieee1275.rmk: likewise
33710 * conf/sparc64-ieee1275.rmk: likewise
33711 * conf/x86_64-efi.rmk: likewise
33712 * include/grub/i386/pc/biosnum.h: new file
33713 * lib/i386/pc/biosnum.c: likewise
33714 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33715 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33716 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33717
33abf7ae 337182009-06-10 Pavel Roskin <proski@gnu.org>
33719
5ac35b35 33720 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33721 Use separate variables. Read only the file size at the end, but
33722 not the checksum that we don't use.
33723
5c5215d5 33724 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33725 Adjust all callers.
33726
27d5fef7 33727 * kern/ieee1275/openfw.c: Remove libc includes.
33728 * kern/ieee1275/cmain.c: Likewise.
33729 * include/grub/ieee1275/ieee1275.h: Likewise.
33730
33abf7ae 33731 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33732 compiler warnings.
33733
19d50c2b 337342009-06-10 Felix Zielcke <fzielcke@z-51.de>
33735
33736 * Makefile.in: Remove all trailing whitespace.
33737 * conf/i386-pc.rmk: Likewise.
33738 * conf/powerpc-ieee1275.rmk: Likewise.
33739 * conf/sparc64-ieee1275.rmk: Likewise.
33740 * docs/grub.texi: Likewise.
33741 * docs/texinfo.tex: Likewise.
33742 * disk/fs_uuid.c: Likewise.
33743 * disk/lvm.c: Likewise.
33744 * disk/scsi.c: Likewise.
33745 * disk/ata.c: Likewise.
33746 * disk/ieee1275/ofdisk.c: Likewise.
33747 * disk/i386/pc/biosdisk.c: Likewise.
33748 * disk/host.c: Likewise.
33749 * disk/raid.c: Likewise.
33750 * disk/efi/efidisk.c: Likewise.
33751 * disk/usbms.c: Likewise.
33752 * disk/memdisk.c: Likewise.
33753 * disk/loopback.c: Likewise.
33754 * kern/powerpc/dl.c: Likewise.
33755 * kern/device.c: Likewise.
33756 * kern/dl.c: Likewise.
33757 * kern/sparc64/dl.c: Likewise.
33758 * kern/ieee1275/ieee1275.c: Likewise.
33759 * kern/term.c: Likewise.
33760 * kern/fs.c: Likewise.
33761 * kern/i386/dl.c: Likewise.
33762 * kern/i386/pc/startup.S: Likewise.
33763 * kern/i386/pc/init.c: Likewise.
33764 * kern/i386/pc/mmap.c: Likewise.
33765 * kern/i386/pc/lzo1x.S: Likewise.
33766 * kern/i386/ieee1275/init.c: Likewise.
33767 * kern/i386/realmode.S: Likewise.
33768 * kern/i386/tsc.c: Likewise.
33769 * kern/partition.c: Likewise.
33770 * kern/corecmd.c: Likewise.
33771 * kern/file.c: Likewise.
33772 * kern/efi/efi.c: Likewise.
33773 * kern/efi/init.c: Likewise.
33774 * kern/efi/mm.c: Likewise.
33775 * kern/main.c: Likewise.
33776 * kern/err.c: Likewise.
33777 * kern/env.c: Likewise.
33778 * kern/disk.c: Likewise.
33779 * kern/generic/millisleep.c: Likewise.
33780 * kern/generic/rtc_get_time_ms.c: Likewise.
33781 * kern/misc.c: Likewise.
33782 * kern/parser.c: Likewise.
33783 * genmk.rb: Likewise.
33784 * configure.ac: Likewise.
33785 * boot/i386/pc/diskboot.S: Likewise.
33786 * boot/i386/pc/pxeboot.S: Likewise.
33787 * boot/i386/pc/boot.S: Likewise.
33788 * boot/i386/pc/lnxboot.S: Likewise.
33789 * boot/i386/pc/cdboot.S: Likewise.
33790 * parttool/pcpart.c: Likewise.
33791 * video/readers/tga.c: Likewise.
33792 * video/video.c: Likewise.
33793 * video/bitmap.c: Likewise.
33794 * lib/envblk.c: Likewise.
33795 * lib/i386/setjmp.S: Likewise.
33796 * fs/xfs.c: Likewise.
33797 * fs/afs.c: Likewise.
33798 * fs/fat.c: Likewise.
33799 * fs/ntfs.c: Likewise.
33800 * fs/udf.c: Likewise.
33801 * fs/affs.c: Likewise.
33802 * fs/iso9660.c: Likewise.
33803 * fs/hfs.c: Likewise.
33804 * fs/fshelp.c: Likewise.
33805 * fs/ext2.c: Likewise.
33806 * fs/jfs.c: Likewise.
33807 * fs/reiserfs.c: Likewise.
33808 * fs/hfsplus.c: Likewise.
33809 * fs/minix.c: Likewise.
33810 * fs/cpio.c: Likewise.
33811 * fs/sfs.c: Likewise.
33812 * fs/ufs.c: Likewise.
33813 * efiemu/prepare.c: Likewise.
33814 * efiemu/loadcore_common.c: Likewise.
33815 * efiemu/runtime/efiemu.sh: Likewise.
33816 * efiemu/runtime/efiemu.S: Likewise.
33817 * efiemu/runtime/efiemu.c: Likewise.
33818 * efiemu/pnvram.c: Likewise.
33819 * efiemu/main.c: Likewise.
33820 * efiemu/i386/pc/cfgtables.c: Likewise.
33821 * efiemu/i386/loadcore64.c: Likewise.
33822 * efiemu/i386/loadcore32.c: Likewise.
33823 * efiemu/loadcore.c: Likewise.
33824 * efiemu/symbols.c: Likewise.
33825 * efiemu/mm.c: Likewise.
33826 * include/grub/autoefi.h: Likewise.
33827 * include/grub/datetime.h: Likewise.
33828 * include/grub/term.h: Likewise.
33829 * include/grub/hfs.h: Likewise.
33830 * include/grub/lvm.h: Likewise.
33831 * include/grub/i386/tsc.h: Likewise.
33832 * include/grub/i386/linux.h: Likewise.
33833 * include/grub/i386/xnu.h: Likewise.
33834 * include/grub/i386/efiemu.h: Likewise.
33835 * include/grub/i386/pc/biosdisk.h: Likewise.
33836 * include/grub/i386/pc/memory.h: Likewise.
33837 * include/grub/i386/pc/vbe.h: Likewise.
33838 * include/grub/parttool.h: Likewise.
33839 * include/grub/video.h: Likewise.
33840 * include/grub/memory.h: Likewise.
33841 * include/grub/fs.h: Likewise.
33842 * include/grub/partition.h: Likewise.
33843 * include/grub/xnu.h: Likewise.
33844 * include/grub/efi/api.h: Likewise.
33845 * include/grub/efi/pe32.h: Likewise.
33846 * include/grub/efi/memory.h: Likewise.
33847 * include/grub/multiboot.h: Likewise.
33848 * include/grub/usbdesc.h: Likewise.
33849 * include/grub/multiboot2.h: Likewise.
33850 * include/grub/acpi.h: Likewise.
33851 * include/grub/efiemu/efiemu.h: Likewise.
33852 * include/grub/disk.h: Likewise.
33853 * include/grub/ieee1275/ieee1275.h: Likewise.
33854 * include/grub/net.h: Likewise.
33855 * include/grub/machoload.h: Likewise.
33856 * include/grub/macho.h: Likewise.
33857 * include/multiboot.h: Likewise.
33858 * genmoddep.awk: Likewise.
33859 * normal/main.c: Likewise.
33860 * normal/menu_entry.c: Likewise.
33861 * normal/menu_viewer.c: Likewise.
33862 * normal/completion.c: Likewise.
33863 * normal/cmdline.c: Likewise.
33864 * normal/misc.c: Likewise.
33865 * normal/datetime.c: Likewise.
33866 * bus/usb/usbtrans.c: Likewise.
33867 * bus/usb/ohci.c: Likewise.
33868 * bus/usb/uhci.c: Likewise.
33869 * bus/usb/usb.c: Likewise.
33870 * mmap/efi/mmap.c: Likewise.
33871 * mmap/i386/pc/mmap_helper.S: Likewise.
33872 * mmap/i386/pc/mmap.c: Likewise.
33873 * mmap/i386/mmap.c: Likewise.
33874 * mmap/i386/uppermem.c: Likewise.
33875 * mmap/mmap.c: Likewise.
33876 * commands/acpi.c: Likewise.
33877 * commands/echo.c: Likewise.
33878 * commands/blocklist.c: Likewise.
33879 * commands/loadenv.c: Likewise.
33880 * commands/usbtest.c: Likewise.
33881 * commands/boot.c: Likewise.
33882 * commands/parttool.c: Likewise.
33883 * commands/search.c: Likewise.
33884 * commands/cat.c: Likewise.
33885 * commands/i386/pc/play.c: Likewise.
33886 * commands/i386/pc/drivemap.c: Likewise.
33887 * commands/i386/pc/vbeinfo.c: Likewise.
33888 * commands/i386/pc/acpi.c: Likewise.
33889 * commands/i386/pc/vbetest.c: Likewise.
33890 * commands/ls.c: Likewise.
33891 * commands/cmp.c: Likewise.
33892 * commands/test.c: Likewise.
33893 * commands/efi/acpi.c: Likewise.
33894 * commands/gptsync.c: Likewise.
33895 * commands/help.c: Likewise.
33896 * partmap/amiga.c: Likewise.
33897 * partmap/apple.c: Likewise.
33898 * partmap/acorn.c: Likewise.
33899 * partmap/pc.c: Likewise.
33900 * partmap/sun.c: Likewise.
33901 * partmap/gpt.c: Likewise.
33902 * script/sh/lexer.c: Likewise.
33903 * script/sh/function.c: Likewise.
33904 * font/font.c: Likewise.
33905 * font/font_cmd.c: Likewise.
33906 * loader/powerpc/ieee1275/linux.c: Likewise.
33907 * loader/efi/chainloader.c: Likewise.
33908 * loader/multiboot_loader.c: Likewise.
33909 * loader/macho.c: Likewise.
33910 * loader/i386/multiboot.c: Likewise.
33911 * loader/i386/linux.c: Likewise.
33912 * loader/i386/pc/linux.c: Likewise.
33913 * loader/i386/pc/multiboot2.c: Likewise.
33914 * loader/i386/pc/chainloader.c: Likewise.
33915 * loader/i386/pc/xnu.c: Likewise.
33916 * loader/i386/bsd_trampoline.S: Likewise.
33917 * loader/i386/efi/linux.c: Likewise.
33918 * loader/i386/multiboot_elfxx.c: Likewise.
33919 * loader/i386/bsd_helper.S: Likewise.
33920 * loader/i386/bsd.c: Likewise.
33921 * loader/i386/linux_trampoline.S: Likewise.
33922 * loader/i386/xnu_helper.S: Likewise.
33923 * loader/i386/xnu.c: Likewise.
33924 * loader/i386/bsd_pagetable.c: Likewise.
33925 * loader/i386/multiboot_helper.S: Likewise.
33926 * loader/xnu.c: Likewise.
33927 * loader/xnu_resume.c: Likewise.
33928 * io/gzio.c: Likewise.
33929 * term/efi/console.c: Likewise.
33930 * term/terminfo.c: Likewise.
33931 * term/ieee1275/ofconsole.c: Likewise.
33932 * term/i386/pc/serial.c: Likewise.
33933 * term/i386/pc/vesafb.c: Likewise.
33934 * term/i386/pc/vga.c: Likewise.
33935 * term/usb_keyboard.c: Likewise.
33936 * term/gfxterm.c: Likewise.
33937 * aclocal.m4: Likewise.
33938 * util/lvm.c: Likewise.
33939 * util/grub.d/30_os-prober.in: Likewise.
33940 * util/grub.d/10_hurd.in: Likewise.
33941 * util/console.c: Likewise.
33942 * util/grub-macho2img.c: Likewise.
33943 * util/grub-probe.c: Likewise.
33944 * util/hostfs.c: Likewise.
33945 * util/i386/pc/grub-mkimage.c: Likewise.
33946 * util/i386/pc/grub-setup.c: Likewise.
33947 * util/i386/efi/grub-mkimage.c: Likewise.
33948 * util/grub-mkconfig.in: Likewise.
33949 * util/raid.c: Likewise.
33950 * util/resolve.c: Likewise.
33951 * util/grub-mkdevicemap.c: Likewise.
33952 * util/grub-emu.c: Likewise.
33953 * util/getroot.c: Likewise.
33954 * util/hostdisk.c: Likewise.
33955 * util/usb.c: Likewise.
33956 * util/grub-editenv.c: Likewise.
33957 * util/misc.c: Likewise.
33958
d2d49665 339592009-06-10 Felix Zielcke <fzielcke@z-51.de>
33960
33961 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33962 `genparttoollist.sh'.
33963 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33964 Add `*.sh' to the list find searches for and change `mdate.sh'
33965 to `mdate-sh'.
33966
fe052e37 339672009-06-10 Pavel Roskin <proski@gnu.org>
33968
2763ac18 33969 * include/grub/multiboot2.h: Provide compatibility defines for
33970 multiboot2.h.
33971 * include/multiboot2.h: Include stdint.h only if needed, using
33972 angle brackets.
33973 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33974 grub/multiboot2.h.
33975 * loader/ieee1275/multiboot2.c: Likewise.
33976 * loader/multiboot2.c: Likewise.
33977 * loader/multiboot_loader.c: Likewise.
33978
437e6adc 33979 * configure.ac: Use -nostdlib when probing for the target. It
33980 should not be required to have libc for the target.
33981
06a6836c 33982 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33983 they fail without libc headers for the target.
33984 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33985 exports.
33986 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33987 preprocessor conditionals.
33988
fe052e37 33989 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33990 build system doesn't need to be aware of the tar.c internals.
33991
afd22553 339922009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33993
afd22553 33994 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33995
6b787c4f 339962009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33997
33998 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33999 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34000
340012009-06-09 Felix Zielcke <fzielcke@z-51.de>
34002
34003 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34004 aren't available if ata.mod gets used.
6b787c4f 34005
473d1e45 340062009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34007
473d1e45 34008 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34009 initialising controller.
473d1e45 34010 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34011
255a27d4 340122009-06-08 Felix Zielcke <fzielcke@z-51.de>
34013
34014 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34015 to choose between ata and biosdisk module on i386-pc.
34016
473d1e45 340172009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34018
d55842d8 34019 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34020 Subclass and Programming Interface fields in terms of the 3 byte
34021 Class Code register.
34022 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34023
fa5db0b1 34024 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34025 interface is OHCI. Add grub_dprintf for symmetry with
34026 bus/usb/uhci.c.
34027 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34028 interface is UHCI. Add interf variable for programming
34029 interface. Print interface with class/subclass.
34030
c0947beb 34031 * bus/usb/ohci.c: Set interf with correct field.
34032
69da8877 34033 * bus/usb/uhci.c: Remove unneeded doubled lines.
34034 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34035 Remove whitespace inside comment.
34036
9e172e30 340372009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34038
34039 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34040 as fallback an equivalent option without depth.
34041
de65ee2b 340422009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34043
34044 Not fail if unable to retrieve C/H/S on LBA disks
34045
473d1e45 34046 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34047 if unable to retrieve C/H/S on LBA disks
34048
b57ea2c9 340492009-06-08 Pavel Roskin <proski@gnu.org>
34050
34051 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34052 about aliasing.
34053
af361263 340542009-06-08 Felix Zielcke <fzielcke@z-51.de>
34055
34056 * Makefile.in (uninstall): Remove all $lib_DATA files.
34057
4c9ec6b3 340582009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34059
34060 Bugfix: install on partitionless device
34061
34062 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34063 is a whole disk
34064
e76fc924 340652009-06-08 Felix Zielcke <fzielcke@z-51.de>
34066
34067 * Makefile.in (uninstall): Remove all $include_DATA files.
34068
ba5a0d05 340692009-06-08 Felix Zielcke <fzielcke@z-51.de>
34070
34071 * commands/true.c: New file. Implement the true and false commands.
34072 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34073 (true_mod_SOURCES): New variable.
34074 (true_mod_CFLAGS): Likewise.
34075 (true_mod_LDFLAGS): Likewise.
34076
c8048e32 340772009-06-05 Colin D Bennett <colin@gibibit.com>
34078
34079 Optimized font character lookup using binary search instead of linear
34080 search. Fonts now are required to have the character index ordered by
34081 code point.
34082
34083 * font/font.c (load_font_index): Verify that fonts have ordered
34084 character indices.
34085 (find_glyph): Use binary search instead of linear search to find a
34086 character in a font.
34087
408305be 340882009-06-05 Michael Scherer <misc@mandriva.org>
34089
34090 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34091 uses case sensitive btree.
34092 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34093 only for case insensitive filesystems.
34094
8ee1e0d9 340952009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34096
34097 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34098 * conf/common.rmk (search_mod_CFLAGS): likewise
34099
a9966eb1 341002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34101
473d1e45 34102 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34103 compensate a compiler bug
34104
9e7100fb 341052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34106
473d1e45 34107 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34108 instead of '\b'
473d1e45 34109
ede21d71 341102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34111
34112 Definitions for creating asm symbols with Apple's CC
34113
34114 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34115 [APPLE_CC] (VARIABLE): likewise
34116
9dbf7653 341172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34118
34119 Disable lnxboot.img when compiled
34120 with Apple's CC
34121
34122 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34123 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34124 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34125 [! APPLE_CC] (CODE_LENG): skip
34126 [! APPLE_CC] (setup_sects): likewise
34127 [! APPLE_CC]: skip filling
473d1e45 34128
e93cdc3d 341292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34130
34131 Address in trampolines based on 32-bit registers when compiled
34132 with Apple's CC
34133
473d1e45 34134 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34135 for addresses
34136 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34137
6c688477 341382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34139
34140 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34141
34142 * kern/misc.c [APPLE_CC] (memcpy): new function
34143 [APPLE_CC] (memmove): likewise
34144 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34145 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34146 (memset): likewise
34147 (abort): likewise
34148 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34149 APPLE_CC are defined
34150 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34151 (grub_assert_fail): make prototype conditional
34152
e37ffc5c 341532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34154
34155 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34156
473d1e45 34157 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34158 grub-macho2img
e37ffc5c 34159 (CLEANFILES): add grub-macho2img
34160 (grub_macho2img_SOURCES): new variable
34161 * kern/i386/pc/startup.S (bss_start): new variable
34162 (bss_end): likewise
34163 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34164 * util/grub-macho2img.c: new file
34165
cf00df31 341662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34167
34168 Use objconv when compiling with Apple's CC
34169
34170 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34171 (efiemu64.o): likewise
34172 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34173 when compiling with Apple's CC
34174 (efiemu64_s.o): likewise
34175 * configure.ac: check for objconv when compiling with Apple's CC
34176 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34177
d119a20c 341782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34179
34180 Define segment as well as section when compiling with
34181 Apple's CC
34182
34183 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34184 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34185 (efiemu_convert_pointer): likewise
34186 (efiemu_set_virtual_address_map): likewise
34187 (efiemu_convert_pointer): likewise
34188 (efiemu_getcrc32): likewise
34189 (init_crc32_table): likewise
34190 (reflect): likewise
34191 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34192 (GRUB_MOD_DEP): likewise
473d1e45 34193
c8600122 341942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34195
34196 Allow a compilation without -mcmodel=large
34197
34198 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34199 when compiled without -mcmodel=large
473d1e45 34200 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34201 without -mcmodel=large
473d1e45 34202 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34203 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34204
e8df1d4e 342052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34206
34207 Remove nested functions in efiemu core
34208
34209 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34210
cc6c3ac1 342112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34212
34213 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34214
34215 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34216 temporary storage
473d1e45 34217 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34218 using Apple's CC
cc6c3ac1 34219 (grub_cpu_is_tsc_supported): likewise
34220 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34221
3e325901 342222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34223
34224 Absolute addressing through constant with Apple's cc
34225
34226 * kern/i386/pc/startup.S: Define necessary constants
34227 and address through it when using ABS with Apple's CC
34228 * boot/i386/pc/diskboot.S: likewise
34229 * boot/i386/pc/boot.S: likewise
34230 * boot/i386/pc/lnxboot.S: likewise
34231 * boot/i386/pc/cdboot.S: likewise
34232 * mmap/i386/pc/mmap_helper.S: likewise
34233 * commands/i386/pc/drivemap_int13h.S: likewise
34234
2b167a72 342352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34236
34237 Check if compiler is apple cc
34238
34239 * Makefile.in (ASFLAGS): new variable
34240 (TARGET_ASFLAGS): likewise
34241 (TARGET_MODULE_FORMAT): likewise
34242 (TARGET_APPLE_CC): likewise
34243 (OBJCONV): likewise
34244 (TARGET_IMG_CFLAGS): likewise
34245 (TARGET_CPPFLAGS): add includedir
34246 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34247 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34248 Check for linker script only if compiler isn't Apple's CC
34249 (TARGET_MODULE_FORMAT): set
34250 (TARGET_APPLE_CC): likewise
34251 (TARGET_ASFLAGS): likewise
34252 (ASFLAGS): likewise
34253 Check for objcopy only if compiler isn't Apple's CC
34254 Check for BSS symbol only if compiler isn't Apple's CC
34255 * genmk.rb: adapt nm options if we use Apple's utils
34256 * aclocal.m4 (grub_apple_cc): new test
34257 (grub_apple_target_cc): likewise
473d1e45 34258
fb14123e 342592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34260
34261 Simplify sed expressions and improve awk
34262
34263 * Makefile.in (install-local): simplify sed expression
34264 * gencmdlist.sh: likewise
34265 * genmoddep.awk: avoid adding module as a dependency of itself
34266
5b889789 342672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34268
34269 Add missing start symbols
34270
34271 * boot/i386/pc/boot.S: add start
fb14123e 34272 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34273
fd2bf2e3 342742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34275
34276 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34277
34278 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34279 (relocate_addresses): consider both r_addend and value at offset
34280 (make_mods_section): zerofill modinfo and header
34281 (convert_elf): write prefix here
473d1e45 34282
5389763d 342832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34284
34285 Use .asciz instead of .string
34286
34287 * i386/pc/diskboot.S: use .asciz instead of .string
34288 * i386/pc/boot.S: likewise
34289 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34290 (GRUB_MOD_NAME): likewise
473d1e45 34291
3eb5ed4e 342922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34293
34294 gfxpayload support
34295
34296 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34297 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34298 (grub_video_setup): remove
34299 (grub_video_set_mode): new prototype
34300 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34301 (vid_mode): remove
34302 (linux_vesafb_res): compile only on PCBIOS
34303 (grub_linux_boot): support gfxpayload
34304 * loader/i386/pc/xnu.c (video_hook): new function
34305 (grub_xnu_set_video): support gfxpayload
34306 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34307 (DEFAULT_VIDEO_HEIGHT): likewise
34308 (DEFAULT_VIDEO_FLAGS): likewise
34309 (DEFAULT_VIDEO_MODE): new definition
34310 (video_hook): new function
34311 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34312 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34313 loading xnu
34314 * video/video.c (grub_video_setup): removed
473d1e45 34315 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34316 grub_video_setup
34317
4b0e1143 343182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34319
34320 Avoid calling biosdisk in drivemap
34321
34322 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34323 (revparse_biosdisk): likewise
34324 (list_mappings): derive name from id directly
34325 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34326
fda6cb98 343272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34328
34329 Script fixes
34330
34331 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34332 (grub_lexer_param): add tokenonhold
34333 (grub_script_create_cmdline): remove cmdline. All callers updated
34334 (grub_script_function_create): make functionname
34335 grub_script_arg. All callers updated
34336 (grub_script_execute_argument_to_string): new prototype
34337 * kern/parser.c (state_transitions): reorder
34338 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34339 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34340 make global
34341 (grub_script_execute_cmdline): use new format
34342 * script/sh/function.c (grub_script_function_create): make functionname
34343 grub_script_arg. All callers updated
473d1e45 34344 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34345 (grub_script_yylex): remove
34346 (grub_script_yylex2): renamed to ...
34347 (grub_script_yylex): ...renamed
34348 parse the expressions like a${b}c
34349 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34350 (GRUB_PARSER_TOKEN_VAR): remove
34351 (GRUB_PARSER_TOKEN_NAME): likewise
34352 ("if"): declare as typeless
34353 ("while"): likewise
34354 ("function"): likewise
34355 ("else"): likewise
34356 ("then"): likewise
34357 ("fi"): likewise
34358 (text): remove
34359 (argument): likewise
34360 (script): accept empty scripts and make exit on error
34361 (arguments): use GRUB_PARSER_TOKEN_ARG
34362 (function): likewise
34363 (command): move error handling to script
34364 (menuentry): move grub_script_lexer_ref before
473d1e45 34365 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34366 argument. All callers updated
34367
f4448a07 343682009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34369
34370 Prevent GRUB from probing floppies during boot.
34371
34372 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34373 * commands/search.c (options): Add --no-floppy.
34374 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34375 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34376 --no-floppy when searching for UUIDs.
34377
2bf5885a 343782009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34379
34380 Simplify the code duplication in commands/search.c.
34381
34382 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34383 (search_fs): ... this. Update all users.
34384
f6fd460a 343852009-06-03 Felix Zielcke <fzielcke@z-51.de>
34386
34387 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34388
cbb3c83e 343892009-05-28 Pavel Roskin <proski@gnu.org>
34390
57788cfd 34391 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34392 Remove the original symlink explicitly.
34393
cbb3c83e 34394 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34395 just one slash. That's how grub_fshelp_find_file() does it.
34396
cd0d5e30 343972009-05-26 Pavel Roskin <proski@gnu.org>
34398
f0f8bbe2 34399 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34400 to `str'.
34401
cd0d5e30 34402 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34403 possibly unused.
34404
8c2cab51 344052009-05-25 Christian Franke <franke@computer.org>
34406
34407 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34408 register.
34409 (grub_atapi_identify): Add wait after drive select.
34410 (grub_ata_identify): Do more strict status register check before
34411 calling grub_atapi_identify (). Suppress error message if status
34412 register is 0x00 after command failure. Add status register
34413 check after PIO read to avoid bogus identify due to stuck DRQ.
34414 Thanks to Pavel Roskin for testing.
34415 (grub_device_initialize): Remove unsafe status register check.
34416 Thanks to 'phcoder' for problem report and patch.
34417 Prevent sign extension in debug message.
34418
230c0ad6 344192009-05-23 Colin D Bennett <colin@gibibit.com>
34420
34421 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34422 definition file, and functions defined in `normal/menu.c' have had
34423 their prototypes moved to `include/grub/menu.h' for consistency.
34424
34425 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34426 from normal.h.
34427 (grub_menu_get_entry): Likewise.
34428 (grub_menu_get_timeout): Likewise.
34429 (grub_menu_set_timeout): Likewise.
34430 (grub_menu_execute_entry): Likewise.
34431 (grub_menu_execute_with_fallback): Likewise.
34432 (grub_menu_entry_run): Likewise.
34433
34434 * include/grub/normal.h: Re-ordered and grouped function
34435 prototypes by file that the function is defined in.
34436 (grub_menu_execute_callback): Removed; moved to menu.h.
34437 (grub_menu_get_entry): Likewise.
34438 (grub_menu_get_timeout): Likewise.
34439 (grub_menu_set_timeout): Likewise.
34440 (grub_menu_execute_entry): Likewise.
34441 (grub_menu_execute_with_fallback): Likewise.
34442 (grub_menu_entry_run): Likewise.
34443 (grub_menu_addentry): Renamed from this ...
34444 (grub_normal_add_menu_entry): ... to this.
34445
34446 * normal/main.c (grub_menu_addentry): Renamed from this ...
34447 (grub_normal_add_menu_entry): ... to this.
34448
34449 * script/sh/execute.c (grub_script_execute_menuentry): Update
34450 reference to renamed grub_menu_addentry function.
34451
861f03a5 344522009-05-23 Felix Zielcke <fzielcke@z-51.de>
34453
34454 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34455
96b1619a 344562009-05-22 Pavel Roskin <proski@gnu.org>
34457
bf6a5fb2 34458 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34459 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34460 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34461 compiling for the i386 targets, but not for the utilities.
34462
96b1619a 34463 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34464 to grub_uint8_t.
34465 (grub_root_drive): Likewise.
34466 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34467 remove alignment.
34468 (grub_root_drive): Change size to byte.
34469 (grub_start_addr): Remove.
34470 (grub_end_addr): Likewise.
34471 (grub_apm_bios_info): Likewise.
34472
b729776b 344732009-05-21 Felix Zielcke <fzielcke@z-51.de>
34474
34475 * normal/i386: Remove.
34476 * normal/powerpc: Likewise.
34477 * normal/sparc64: Likewise.
34478 * normal/x86_64: Likewise.
34479
0a15ce80 344802009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34481
34482 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34483 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34484 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34485
33db9015 344862009-05-18 Colin D Bennett <colin@gibibit.com>
34487
d6da58e6 34488 Display error messages when parsing a Lua statement fails.
34489 Previously, executing a syntactically invalid statement like
34490 ")foo" or "bar;" would silently fail.
33db9015 34491
34492 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34493 (grub_lua_parse_line): Improved reporting of Lua parser and
34494 execution errors.
33db9015 34495
46422c89 344962009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34497
34498 Remove -Werror which causes build to fail on some systems
34499
34500 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34501 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34502 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34503
22f53a96 345042009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34505
34506 trampoline for linux on 64-bit platform
34507
18f547ad 34508 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34509 loader/i386/efi/linux_trampoline.S
34510 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34511 declaration
d6da58e6 34512 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34513 here
22f53a96 34514 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34515 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34516 trampoline
22f53a96 34517 (jumpvector): removed
34518 (grub_linux_trampoline_start): new declaration
34519 (grub_linux_trampoline_end): likewise
34520 (grub_linux_boot): use trampoline when on 64-bit platform
34521 * loader/i386/linux.c: likewise
34522
cb5a0f40 345232009-05-16 Pavel Roskin <proski@gnu.org>
34524
34525 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34526 const to avoid a warning.
34527 (grub_lua_setenv): Likewise.
34528 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34529 lmsg to fix a warning.
34530
334f2c28 345312009-05-16 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34534 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34535 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34536 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34537 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34538 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34539 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34540 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34541
59e5d3ec 345422009-05-16 Felix Zielcke <fzielcke@z-51.de>
34543
34544 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34545
9d87a1ba 345462009-05-16 Bean <bean123ch@gmail.com>
34547
34548 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34549 (lua_mod_SOURCES): New variable.
34550 (lua_mod_CFLAGS): Likewise.
34551 (lua_mod_LDFLAGS): Likewise.
34552
34553 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34554 (setjmp_mod_SOURCES): New variable.
34555 (setjmp_mod_CFLAGS): Likewise.
34556 (setjmp_LDFLAGS): Likewise.
34557
34558 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34559 (setjmp_mod_SOURCES): New variable.
34560 (setjmp_mod_CFLAGS): Likewise.
34561 (setjmp_LDFLAGS): Likewise.
34562
34563 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34564 (setjmp_mod_SOURCES): New variable.
34565 (setjmp_mod_CFLAGS): Likewise.
34566 (setjmp_LDFLAGS): Likewise.
34567
34568 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34569 (setjmp_mod_SOURCES): New variable.
34570 (setjmp_mod_CFLAGS): Likewise.
34571 (setjmp_LDFLAGS): Likewise.
34572
34573 * normal/i386/setjmp.S: Moved from here ...
34574 * lib/i386/setjmp.S: ... Moved here
34575 * normal/x86_64/setjmp.S: Moved from here ...
34576 * lib/x86_64/setjmp.S: ... Moved here
34577 * normal/powerpc/setjmp.S: Moved from here ...
34578 * lib/powerpc/setjmp.S: ... Moved here
34579 * normal/sparc64/setjmp.S: Moved from here ...
34580 * lib/sparc64/setjmp.S: ... Moved here
34581
34582 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34583 returns_twice in mingw.
34584
34585 * script/lua/grub_lib.c: New file.
34586 * script/lua/grub_lib.h: Likewise.
34587 * script/lua/grub_lua.h: Likewise.
34588 * script/lua/grub_main.c: Likewise.
34589 * script/lua/lapi.c: Likewise.
34590 * script/lua/lapi.h: Likewise.
34591 * script/lua/lauxlib.c: Likewise.
34592 * script/lua/lauxlib.h: Likewise.
34593 * script/lua/lbaselib.c: Likewise.
34594 * script/lua/lcode.c: Likewise.
34595 * script/lua/lcode.h: Likewise.
34596 * script/lua/ldblib.c: Likewise.
34597 * script/lua/ldebug.c: Likewise.
34598 * script/lua/ldebug.h: Likewise.
34599 * script/lua/ldo.c: Likewise.
34600 * script/lua/ldo.h: Likewise.
34601 * script/lua/ldump.c: Likewise.
34602 * script/lua/lfunc.c: Likewise.
34603 * script/lua/lfunc.h: Likewise.
34604 * script/lua/lgc.c: Likewise.
34605 * script/lua/lgc.h: Likewise.
34606 * script/lua/linit.c: Likewise.
34607 * script/lua/liolib.c: Likewise.
34608 * script/lua/llex.c: Likewise.
34609 * script/lua/llex.h: Likewise.
34610 * script/lua/llimits.h: Likewise.
34611 * script/lua/lmathlib.c: Likewise.
34612 * script/lua/lmem.c: Likewise.
34613 * script/lua/lmem.h: Likewise.
34614 * script/lua/loadlib.c: Likewise.
34615 * script/lua/lobject.c: Likewise.
34616 * script/lua/lobject.h: Likewise.
34617 * script/lua/lopcodes.c: Likewise.
34618 * script/lua/lopcodes.h: Likewise.
34619 * script/lua/loslib.c: Likewise.
34620 * script/lua/lparser.c: Likewise.
34621 * script/lua/lparser.h: Likewise.
34622 * script/lua/lstate.c: Likewise.
34623 * script/lua/lstate.h: Likewise.
34624 * script/lua/lstring.c: Likewise.
34625 * script/lua/lstring.h: Likewise.
34626 * script/lua/lstrlib.c: Likewise.
34627 * script/lua/ltable.c: Likewise.
34628 * script/lua/ltable.h: Likewise.
34629 * script/lua/ltablib.c: Likewise.
34630 * script/lua/ltm.c: Likewise.
34631 * script/lua/ltm.h: Likewise.
34632 * script/lua/lua.h: Likewise.
34633 * script/lua/luaconf.h: Likewise.
34634 * script/lua/lualib.h: Likewise.
34635 * script/lua/lundump.c: Likewise.
34636 * script/lua/lundump.h: Likewise.
34637 * script/lua/lvm.c: Likewise.
34638 * script/lua/lvm.h: Likewise.
34639 * script/lua/lzio.c: Likewise.
34640 * script/lua/lzio.h: Likewise.
34641
5e898c9d 346422009-05-16 Bean <bean123ch@gmail.com>
34643
34644 * include/grub/kernel.h (grub_module_header_types): Add type
34645 OBJ_TYPE_CONFIG.
34646
34647 * kern/main.c (grub_load_config): New function.
34648 (grub_main): Call grub_load_config to read boot config.
34649
34650 * grub-mkimage (generate_image): New parameter config_path.
34651 (options): New option --config.
34652 (main): Parse --config option, and pass it to generate_image.
34653
cf353a47 346542009-05-14 Christian Franke <franke@computer.org>
34655
34656 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34657 This fixes build on Cygwin.
34658
3834887f 346592009-05-14 Pavel Roskin <proski@gnu.org>
34660
34661 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34662 jump. This saves two bytes, so the typical case of 2 swapped
34663 drives would fit 32 bytes.
34664
8090fc01 346652009-05-13 Pavel Roskin <proski@gnu.org>
34666
ac963883 34667 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34668 grub_uint32_t to avoid a warning.
34669
8090fc01 34670 * loader/i386/linux.c (allocate_pages): When assigning
34671 real_mode_mem, cast through grub_size_t to fix a warning. The
34672 code already makes sure that the value would fit a pointer.
34673 (grub_linux_setup_video): Cast render_target->data to
34674 grub_size_t to fix a warning.
34675
18f547ad 346762009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34677
34678 * commands/i386/pc/drivemap.c: New file - implement drivemap
34679 command.
34680 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34681 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34682
6f6a8b28 346832009-05-13 Pavel Roskin <proski@gnu.org>
34684
34685 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34686 embedding_area_exists.
34687
15fbf4c4 346882009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34689
34690 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34691 it easier to understand / work with.
59978c8a 34692 Improve warning messages for cases where there's no embedding area,
34693 or when it is too small (or core.img too large).
15fbf4c4 34694
238e871f 346952009-05-13 Pavel Roskin <proski@gnu.org>
34696
0ab3a9a4 34697 * loader/i386/pc/multiboot2.c: Add necessary includes for
34698 grub_multiboot2_real_boot().
34699
a2c8c5f8 34700 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34701 PX record is always little-endian. We only need the lower 2
34702 bytes of the mode.
34703
faec96af 34704 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34705 facilitate code reuse.
34706 (grub_cpio_mount): Use "struct head", not a char buffer. This
34707 fixes a warning reported by gcc 4.4.
34708
238e871f 34709 * kernel/disk.c (grub_disk_read): Use void pointer for the
34710 buffer.
34711 (grub_disk_write): Use const void pointer for the buffer.
34712 Adjust all callers. Remove unnecessary casts.
34713
901d2f0c 347142009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34715
34716 * util/i386/pc/grub-install.in: Update copyright year.
34717
18f547ad 347182009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34719
34720 gptsync
34721
34722 * commands/gptsync.c: new file
34723 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34724 (gptsync_mod_SOURCES): new variable
34725 (gptsync_mod_CFLAGS): likewise
34726 (gptsync_mod_LDFLAGS): likewise
18f547ad 34727 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34728 new definition
34729 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34731 * conf/i386-ieee1275.rmk: likewise
34732 * conf/i386-pc.rmk: likewise
34733 * conf/powerpc-ieee1275.rmk: likewise
34734
b4ba690a 347352009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34736
34737 Fixed grub-emu
34738
34739 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34740 (grub_dl_ref): likewise
34741
317e1a44 347422009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34743
34744 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34745 split in two functions (one for msdos and one for gpt).
34746
041b8094 347472009-05-08 Pavel Roskin <proski@gnu.org>
34748
752473c2 34749 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34750 not modified.
34751
041b8094 34752 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34753 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34754 Initialize them with -1. Add sanity check for bad1. Eliminate
34755 nerr variable.
34756
172800ce 347572009-05-08 David S. Miller <davem@davemloft.net>
34758
34759 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34760
29aa5e81 347612009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34762
34763 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34764 existence.
29aa5e81 34765
96613b62 347662009-05-05 Felix Zielcke <fzielcke@z-51.de>
34767
34768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34769 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34770
eef73c8a 347712009-05-05 David S. Miller <davem@davemloft.net>
34772
34773 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34774
119494b5 347752009-05-05 Pavel Roskin <proski@gnu.org>
34776
34777 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34778 of grub_dl_ref() and grub_dl_unref().
34779 * commands/parttool.c: Remove preprocessor conditionals around
34780 grub_dl_ref() and grub_dl_unref().
34781 * fs/affs.c: Likewise.
34782 * fs/afs.c: Likewise.
34783 * fs/cpio.c: Likewise.
34784 * fs/ext2.c: Likewise.
34785 * fs/fat.c: Likewise.
34786 * fs/hfs.c: Likewise.
34787 * fs/hfsplus.c: Likewise.
34788 * fs/iso9660.c: Likewise.
34789 * fs/jfs.c: Likewise.
34790 * fs/minix.c: Likewise.
34791 * fs/ntfs.c: Likewise.
34792 * fs/reiserfs.c: Likewise.
34793 * fs/sfs.c: Likewise.
34794 * fs/udf.c: Likewise.
34795 * fs/ufs.c: Likewise.
34796 * fs/xfs.c: Likewise.
34797 * include/grub/dl.h: Likewise.
34798 * loader/xnu.c: Likewise.
34799
de5fd76e 348002009-05-04 Pavel Roskin <proski@gnu.org>
34801
34802 * commands/acpi.c: Remove unused variable my_mod.
34803 * partmap/amiga.c: Likewise.
34804 * partmap/apple.c: Likewise.
34805 * partmap/gpt.c: Likewise.
34806 * partmap/pc.c: Likewise.
34807 * partmap/sun.c: Likewise.
34808 * term/gfxterm.c: Likewise.
34809 * term/i386/pc/vesafb.c: Likewise.
34810 * term/i386/pc/vga.c: Likewise.
34811
983598ad 348122009-05-04 David S. Miller <davem@davemloft.net>
34813
34814 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34815 pointer args to grub_ieee1275_get_property().
34816
8aadec43 34817 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34818
9554b15e 34819 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34820 devices, and do not traverse down under controller nodes.
34821
67e23c90 34822 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34823 (grub_ofdisk_open): Use it to un-escape "," characters.
34824 * kern/disk.c (find_part_sep): New.
34825 (grub_disk_open): Use it to find the first non-escaped ','
34826 character in the disk name.
34827 * util/ieee1275/devicemap.c (escape_of_path): New.
34828 (grub_util_emit_devicemap_entry): Use it.
34829 * util/sparc64/ieee1275/grub-install.in: Update script to
34830 strip partition specifiers properly by not triggering on
34831 '\' escaped ',' characters.
34832
74bfdd2f 348332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34834
34835 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34836 to 0x300.
34837 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34838 resolutions.
34839 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34840 on documentation from Wikipedia).
34841
4241d2b1 348422009-05-04 Pavel Roskin <proski@gnu.org>
34843
34844 * disk/ata.c: Spelling fixes.
34845 * disk/raid.c: Likewise.
34846 * disk/usbms.c: Likewise.
34847 * disk/dmraid_nvidia.c: Likewise.
34848 * kern/ieee1275/openfw.c: Likewise.
34849 * kern/ieee1275/init.c: Likewise.
34850 * kern/ieee1275/cmain.c: Likewise.
34851 * boot/i386/pc/cdboot.S: Likewise.
34852 * video/readers/png.c: Likewise.
34853 * video/i386/pc/vbe.c: Likewise.
34854 * fs/udf.c: Likewise.
34855 * fs/hfs.c: Likewise.
34856 * fs/reiserfs.c: Likewise.
34857 * efiemu/runtime/efiemu.c: Likewise.
34858 * efiemu/main.c: Likewise.
34859 * efiemu/mm.c: Likewise.
34860 * include/grub/elf.h: Likewise.
34861 * include/grub/xnu.h: Likewise.
34862 * include/grub/usbdesc.h: Likewise.
34863 * include/grub/usb.h: Likewise.
34864 * include/grub/script_sh.h: Likewise.
34865 * include/grub/lib/LzmaEnc.h: Likewise.
34866 * include/grub/efiemu/efiemu.h: Likewise.
34867 * include/grub/command.h: Likewise.
34868 * normal/menu.c: Likewise.
34869 * normal/main.c: Likewise.
34870 * normal/datetime.c: Likewise.
34871 * bus/usb/uhci.c: Likewise.
34872 * mmap/i386/uppermem.c: Likewise.
34873 * mmap/mmap.c: Likewise.
34874 * commands/acpi.c: Likewise.
34875 * commands/test.c: Likewise.
34876 * partmap/apple.c: Likewise.
34877 * font/font.c: Likewise.
34878 * loader/sparc64/ieee1275/linux.c: Likewise.
34879 * loader/macho.c: Likewise.
34880 * loader/i386/bsd_trampoline.S: Likewise.
34881 * loader/i386/bsd.c: Likewise.
34882 * loader/xnu.c: Likewise.
34883 * term/i386/pc/vesafb.c: Likewise.
34884 * term/usb_keyboard.c: Likewise.
34885 * util/resolve.c: Likewise.
34886 * util/getroot.c: Likewise.
34887
0cfc0083 348882009-05-04 Felix Zielcke <fzielcke@z-51.de>
34889
34890 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34891
7c1d00cd 348922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34893
34894 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34895 build error.
34896
b01f0548 348972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34898
34899 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34900 parameter only available on BIOS.
34901
ecc3eb22 349022009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34903
34904 Removed wrong semicolon in declaration
34905
34906 * grub/misc.h (grub_dprintf): remove semicolon
34907
112972a9 349082009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34909
34910 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34911 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34912 is done by grub_cmd_linux() now).
34913 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34914 restore video to text mode.
34915 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34916 indicates lack of "vga=" parameter. "vga=0" is mapped to
34917 `GRUB_LINUX_VID_MODE_NORMAL'.
34918
afd5c115 349192009-05-04 Felix Zielcke <fzielcke@z-51.de>
34920
34921 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34922 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34923 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34924 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34925 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34926 `grub_script.tab.c'.
34927
34928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34929 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34933
faa517ce 34934 * Makefile.in: Remove duplicated 2008 in Copyright line.
34935
ae0c0bdc 349362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34937
473d1e45 34938 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34939 unconditionally.
34940 * include/grub/util/misc.h (grub_util_warn): New declaration.
34941
34942 * util/i386/pc/grub-install.in: Understand --force and pass it down
34943 to grub-setup.
34944
34945 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34946 down to setup().
34947 (setup): Improve error messages and add warnings when requested to
34948 install in odd layouts. Refuse to install using blocklists unless
34949 --force was set.
34950
18f547ad 349512009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34952
34953 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34954
6d260daa 349552009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34956
34957 Updated copyright year
34958
34959 * fs/hfsplus.c: updated copyright year
18f547ad 34960
69f853f8 349612009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34962
34963 HFS+ UUID
34964
18f547ad 34965 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34966 in the space previously used by unused3
34967 (grub_hfsplus_uuid): new function
34968 (grub_hfsplus_fs): added uuid field
34969
4c402e73 349702009-05-03 Pavel Roskin <proski@gnu.org>
34971
34972 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34973 suppress warnings. It's no longer needed.
34974 * disk/host.c: Likewise.
34975 * disk/ata_pthru.c: Likewise.
34976 * disk/loopback.c: Likewise.
34977 * hook/datehook.c: Likewise.
34978 * parttool/pcpart.c: Likewise.
34979 * fs/i386/pc/pxe.c: Likewise.
34980 * fs/ntfscomp.c: Likewise.
34981 * efiemu/main.c: Likewise.
34982 * mmap/mmap.c: Likewise.
34983 * commands/crc.c: Likewise.
34984 * commands/hexdump.c: Likewise.
34985 * commands/hdparm.c: Likewise.
34986 * commands/acpi.c: Likewise.
34987 * commands/echo.c: Likewise.
34988 * commands/minicmd.c: Likewise.
34989 * commands/blocklist.c: Likewise.
34990 * commands/memrw.c: Likewise.
34991 * commands/loadenv.c: Likewise.
34992 * commands/usbtest.c: Likewise.
34993 * commands/lsmmap.c: Likewise.
34994 * commands/boot.c: Likewise.
34995 * commands/parttool.c: Likewise.
34996 * commands/configfile.c: Likewise.
34997 * commands/search.c: Likewise.
34998 * commands/ieee1275/suspend.c: Likewise.
34999 * commands/cat.c: Likewise.
35000 * commands/i386/pc/pxecmd.c: Likewise.
35001 * commands/i386/pc/play.c: Likewise.
35002 * commands/i386/pc/halt.c: Likewise.
35003 * commands/i386/pc/vbeinfo.c: Likewise.
35004 * commands/i386/pc/vbetest.c: Likewise.
35005 * commands/lspci.c: Likewise.
35006 * commands/date.c: Likewise.
35007 * commands/handler.c: Likewise.
35008 * commands/ls.c: Likewise.
35009 * commands/test.c: Likewise.
35010 * commands/cmp.c: Likewise.
35011 * commands/efi/loadbios.c: Likewise.
35012 * commands/efi/fixvideo.c: Likewise.
35013 * commands/halt.c: Likewise.
35014 * commands/help.c: Likewise.
35015 * commands/reboot.c: Likewise.
35016 * hello/hello.c: Likewise.
35017 * script/sh/main.c: Likewise.
35018 * loader/xnu.c: Likewise.
35019 * term/terminfo.c: Likewise.
35020 * term/i386/pc/serial.c: Likewise.
35021 * term/usb_keyboard.c: Likewise.
35022
515b5079 350232009-05-03 David S. Miller <davem@davemloft.net>
35024
35025 * normal/menu.c: Include grub/parser.h
35026
dfc31a22 350272009-05-03 Pavel Roskin <proski@gnu.org>
35028
2fee74f1 35029 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35030 not char*.
35031 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35032 Suggested by Javier Martín <lordhabbit@gmail.com>
35033
dfc31a22 35034 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35035 efiemu??.o doesn't exist.
35036 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35037 copying.
35038
18f547ad 350392009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35040
35041 FreeBSD 64-bit support
35042
18f547ad 35043 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35044 and loader/i386/bsd_trampoline.S
35045 (bsd_mod_ASFLAGS): new variable
35046 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35047 (FREEBSD_MODTYPE_KERNEL64): likewise
35048 (grub_bsd64_trampoline_start): likewise
35049 (grub_bsd64_trampoline_end): likewise
35050 (grub_bsd64_trampoline_selfjump): likewise
35051 (grub_bsd64_trampoline_gdt): likewise
35052 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35053 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35054 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35055 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35056 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35057 of "attrib" member
35058 * loader/i386/bsd_pagetable.c: new file
35059 * loader/i386/bsd_trampoline.S: likewise
35060 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35061 (ALIGN_VAR): likewise
35062 (entry_hi): new variable
35063 (kern_end_mdofs): likewise
35064 (is_64bit): likewise
35065 (grub_freebsd_add_meta): use ALIGN_VAR
35066 (grub_e820_mmap): new declaration
35067 (grub_freebsd_add_mmap): new function
35068 (grub_freebsd_add_meta_module): support 64 bit kernels
35069 (grub_freebsd_list_modules): use ALIGN_VAR
35070 (gdt_descriptor): new declaration
35071 (grub_freebsd_boot): support 64 bit kernels
35072 (grub_bsd_elf64_hook): new function
35073 (grub_bsd_load_elf): support elf64
35074
038c5720 350752009-05-03 Bean <bean123ch@gmail.com>
35076
35077 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35078 after we get the result of if statement.
35079
fc45fb58 350802009-05-03 Bean <bean123ch@gmail.com>
35081
35082 * Makefile.in (enable_efiemu): New variable.
35083
35084 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35085 set.
35086 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35087 path.
35088 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35089 path, add -mno-red-zone option.
35090 (efiemu64_s.o): Likewise.
35091 (efiemu64.o): Use macro $^ for source file.
35092
35093 * configure.ac (--enable-efiemu): New option.
35094
bbee0f2b 350952009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35096
35097 xnu support
35098
35099 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35100 (pkglib_MODULES): add xnu.mod
35101 (xnu_mod_SOURCES): new variable
35102 (xnu_mod_CFLAGS): likewise
35103 (xnu_mod_LDFLAGS): likewise
35104 (xnu_mod_ASFLAGS): likewise
35105 * conf/i386-pc.rmk: likewise
35106 * conf/x86_64-efi.rmk: likewise
7dd4a573 35107 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35108 new declaration
35109 * include/grub/i386/macho.h: new file
35110 * include/grub/i386/xnu.h: likewise
35111 * include/grub/macho.h: likewise
35112 * include/grub/machoload.h: likewise
35113 * include/grub/x86_64/macho.h: likewise
35114 * include/grub/x86_64/xnu.h: likewise
35115 * include/grub/xnu.h: likewise
35116 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35117 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35118 * loader/i386/efi/xnu.c: new file
35119 * loader/i386/pc/xnu.c: likewise
35120 * loader/i386/xnu.c: likewise
35121 * loader/i386/xnu_helper.S: likewise
35122 * loader/macho.c: likewise
35123 * loader/xnu.c: likewise
35124 * loader/xnu_resume.c: likewise
35125 * util/grub-dumpdevtree: likewise
35126 * include/grub/i386/pit.h: include grub/err.h
35127 (grub_pit_wait): export
35128 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35129
5caf964d 351302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35131
35132 Efiemu
7dd4a573 35133
5caf964d 35134 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35135 _linux_efi, linux_efi.
35136 new files in grub-emu
5caf964d 35137 new targets efiemu32.o and efiemu64.o
35138 * loader/linux_normal_efiemu.c: likewise
35139 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35140 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35141 files to copy
35142 * include/grub/autoefi.h: new file
7dd4a573 35143 * include/grub/i386/efiemu.h: likewise
5caf964d 35144 * include/grub/i386/pc/efiemu.h: likewise
35145 * include/grub/efi/api.h: add LL suffix when necessary
35146 new definitions relating to tables
35147 * include/grub/efiemu/efiemu.h: new file
35148 * include/grub/efiemu/runtime.h: likewise
35149 * efiemu/prepare.c: likewise
35150 * efiemu/loadcore_common.c: likewise
35151 * efiemu/loadcore64.c: likewise
35152 * efiemu/runtime/efiemu.sh: likewise
35153 * efiemu/runtime/efiemu.S: likewise
35154 * efiemu/runtime/efiemu.c: likewise
35155 * efiemu/runtime/config.h: likewise
35156 * efiemu/prepare32.c: likewise
35157 * efiemu/main.c: likewise
35158 * efiemu/modules/pnvram.c: likewise
35159 * efiemu/modules/i386: likewise
35160 * efiemu/modules/i386/pc: likewise
35161 * efiemu/modules/acpi.c: likewise
35162 * efiemu/i386/pc/cfgtables.c: likewise
35163 * efiemu/i386/loadcore64.c: likewise
35164 * efiemu/i386/loadcore32.c: likewise
35165 * efiemu/prepare64.c: likewise
35166 * efiemu/loadcore.c: likewise
35167 * efiemu/symbols.c: likewise
35168 * efiemu/mm.c: likewise
35169 * efiemu/loadcore32.c: likewise
7dd4a573 35170
351712009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35172
35173 ACPI spoofing
35174
35175 * commands/acpi.c: new file
35176 * commands/i386/pc/acpi.c: likewise
35177 * commands/efi/acpi.c: likewise
35178 * include/grub/acpi.h: likewise
35179 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35180 (acpi_mod_SOURCES): new variable
35181 (acpi_mod_CFLAGS): likewise
35182 (acpi_mod_LDFLAGS): likewise
35183 * conf/i386-efi.rmk: likewise
35184 * conf/x86_64-efi.rmk: likewise
35185
7dd4a573 351862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35187
35188 Missing part from mmap patch
35189
35190 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35191 (grub_mmap_unregister)
35192 (grub_mmap_free_and_unregister): use grub_mmap_register
35193
7dd4a573 351942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35195
35196 Mmap services
35197
35198 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35199 * loader/i386/linux.c (find_mmap_size): likewise
35200 (allocate_pages): likewise
35201 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35202 (grub_fill_multiboot_mmap): likewise
35203 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35204 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35205 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35206 (OPENBSD_MMAP_RESERVED): likewise
35207 * include/grub/i386/pc/memory.h: include grub/memory.h
35208 (grub_lower_mem): removed
35209 (grub_upper_mem): likewise
35210 (GRUB_MACHINE_MEMORY_ACPI): new definition
35211 (GRUB_MACHINE_MEMORY_NVS): likewise
35212 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35213 (GRUB_MACHINE_MEMORY_HOLE): likewise
35214 (grub_machine_mmap_register): likewise
35215 (grub_machine_mmap_unregister): likewise
35216 (grub_machine_get_upper): likewise
35217 (grub_machine_get_lower): likewise
35218 (grub_machine_get_post64): likewise
35219 * include/grub/i386/efi/memory.h: new file
35220 * include/grub/x86_64/efi/memory.h: likewise
35221 * include/grub/efi/memory.h: likewise
35222 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35223 (mmap_mod_SOURCES): new variable
35224 (mmap_mod_LDFLAGS): likewise
35225 (mmap_mod_ASFLAGS): likewise
35226 * conf/i386-coreboot.rmk: likewise
35227 * conf/i386-ieee1275.rmk: likewise
35228 * conf/i386-efi.rmk: likewise
35229 * conf/x86_64-efi.rmk: likewise
35230 * include/grub/types.h (UINT_TO_PTR): new macro
35231 (PTR_TO_UINT32): likewise
35232 (PTR_TO_UINT64): likewise
35233 * include/grub/memory.h: new file
35234 * mmap/i386/pc/mmap.c: likewise
35235 * mmap/i386/pc/mmap_helper.S: likewise
35236 * mmap/i386/uppermem.c: likewise
35237 * mmap/mmap.c: likewise
35238 * mmap/efi/mmap.c: likewise
7dd4a573 35239 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35240 grub_upper_mem
35241 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35242 (grub_upper_mem): likewise
35243 (grub_machine_init): don't use grub_upper_mem,
35244 make grub_lower_mem local
35245 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35246 grub_mmap_iterate and grub_mmap_get_upper
35247 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35248
d558e6b5 352492009-05-02 Bean <bean123ch@gmail.com>
35250
35251 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35252 script/sh/parser.y.
35253 (pkglib_MODULES): Add normal.mod and sh.mod.
35254 (normal_SOURCES): New variable.
35255 (normal_mod_CFLAGS): Likewise.
35256 (normal_mod_LDFLAGS): Likewise.
35257 (sh_mod_SOURCES): Likewise.
35258 (sh_mod_CFLAGS): Likewise.
35259 (sh_mod_LDFLAGS): Likewise.
35260
35261 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35262 script/sh/lexer.c_DEPENDENCIES.
35263 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35264 kern/rescue_reader.c and kern/rescue_parser.c.
35265 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35266 (grub_emu_SOURCES): Change source files.
35267 (pkglib_MODULES): Remove normal.mod.
35268 (normal_SOURCES): Removed.
35269 (normal_mod_CFLAGS): Likewise.
35270 (normal_mod_LDFLAGS): Likewise.
35271 * conf/i386-coreboot.rmk: Likewise.
35272 * conf/i386-efi.rmk: Likewise.
35273 * conf/i386-ieee1276.rmk: Likewise.
35274 * conf/powerpc-ieee1275.rmk: Likewise.
35275 * conf/sparc64-ieee1275.rmk: Likewise.
35276 * conf/x86_64-efi.rmk: Likewise.
35277
35278 * include/grub/command.h (grub_command_execute): New inline function.
35279
35280 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35281
35282 * include/grub/normal.h: Remove <grub/setjmp.h>.
35283 (grub_fs_module_list): Moved to normal/autofs.c.
35284 (grub_exit_env): Removed.
35285 (grub_command_execute): Likewise.
35286 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35287 parameter script.
35288 (read_command_list): New function declaration.
35289 (read_fs_list): Likewise.
35290
35291 * include/parser.h: Include <grub/reader.h>.
35292 (grub_parser_split_cmdline): Change type of getline parameter.
35293 (grub_parser): New structure.
35294 (grub_parser_class): New variable.
35295 (grub_parser_execute): New function declaration.
35296 (grub_register_rescue_parser): Likewise.
35297 (grub_parser_register): New inline function.
35298 (grub_parser_unregister): Likewise.
35299 (grub_parser_get_current): Likewise.
35300 (grub_parser_set_current): Likewise.
35301
35302 * include/grub/reader.h: New file.
35303 * kern/reader.c: Likewise.
35304 * kern/rescue_parser.c: Likewise.
35305 * kern/rescue_reader.c: Likewise.
35306 * normal/autofs.c: Likewise.
35307 * normal/dyncmd.c: Likewise.
35308
35309 * include/grub/rescue.h: Removed.
35310 * normal/command.h: Likewise.
35311
35312 * include/grub/script.h: Moved to ...
35313 * include/grub/script_sh.h: ... Moved here.
35314 * normal/execute.c: Moved to ...
35315 * script/sh/execute.c: ... Moved here.
35316 * normal/function.c: Moved to ...
35317 * script/sh/function.c: ... Moved here.
35318 * normal/lexer.c: Moved to ...
35319 * script/sh/lexer.c: ... Moved here.
35320 * normal/parser.y: Moved to ...
35321 * script/sh/parser.y: ... Moved here.
35322 * normal/script.c: Moved to ...
35323 * script/sh/script.c: ... Moved here.
35324
35325 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35326 <grub/reader.h>.
35327 (grub_exit_env): Removed.
35328 (fs_module_list): Moved to normal/autofs.c.
35329 (grub_file_getline): Don't handle comment here.
35330 (free_menu): Skip removed field entry->commands.
35331 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35332 script parameter.
35333 (read_config_file): Removed nested parameter, change getline function.
35334 (grub_enter_normal_mode): Removed.
35335 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35336 (read_command_list): Likewise.
35337 (autoload_fs_module): Moved to normal/autofs.c.
35338 (read_fs_list): Likewise.
35339 (reader_nested): New variable.
35340 (grub_normal_execute): Run parser.sh to switch to sh parser.
35341 (grub_cmd_rescue): Removed.
35342 (cmd_normal): Removed.
35343 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35344 rescue command.
35345 (grub_cmdline_run): New function.
35346 (grub_normal_reader_init): Likewise.
35347 (grub_normal_read_line): Likewise.
35348 (grub_env_write_pager): Likewise.
35349 (cmdline): New variable.
35350 (grub_normal_reader): Likewise.
35351 (GRUB_MOD_INIT): Register normal reader and set as current, register
35352 pager hook, register normal command with grub_register_command_prio,
35353 so that it won't show up in command.lst.
35354 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35355 grub_fs_autoload_hook.
35356
35357 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35358 (grub_menu_execute_entry): Replace grub_script_execute with
35359 grub_parser_execute, change parameter to grub_command_execute.
35360
35361 * normal/menu_text.c: Remove <grub/script.h>.
35362
35363 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35364 and <grub/parser.h>.
35365 (run): Change editor_getline to use new parser interface. Change
35366 parameter to grub_command_execute.
35367
35368 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35369 <grub/reader.h> and <grub/parser.h>.
35370 (grub_load_normal_mode): Execute normal command.
35371 (grub_main): Call grub_register_core_commands,
35372 grub_register_rescue_parser and grub_register_rescue_reader, use
35373 grub_reader_loop to enter input loop.
35374
7dd4a573 35375 * kern/parser.c (grub_parser_split_cmdline): Change type of
35376 getline parameter.
d558e6b5 35377 (grub_parser_class): New variable.
35378 (grub_parser_execute): New function.
35379
35380 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35381 * loader/multiboot2.c: Likewise.
35382 * loader/sparc64/ieee1275/linux.c: Likewise.
35383
35384 * util/grub-emu.c (read_command_list): New dummy function.
35385
18db813d 353862009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35387
35388 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35389 count to 16 for CCISS and IDA.
35390
6c67de15 353912009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35392
35393 * normal/menu_text.c (grub_wait_after_message): Print a newline
35394 after waiting for user input.
35395
35396 * loader/i386/linux.c: Include `<grub/normal.h>'.
35397 (grub_cmd_linux): Improve the error message about `ask' mode, by
35398 waiting for user input so it's not missed (we can do this, since
35399 user requested interaction).
35400
d9dc87b0 354012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35402
35403 Added missing lst to grub-mkrescue
35404
35405 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35406 and ${input_dir}/parttool.lst
35407
ac8a2baa 354082009-04-30 David S. Miller <davem@davemloft.net>
35409
ad22a610 35410 * util/hostdisk.c (device_is_wholedisk): New function.
35411 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35412 zero only if device_is_wholedisk() returns true.
35413
6966215d 35414 * util/hostdisk.c (convert_system_partition_to_system_disk):
35415 Handle virtual disk devices named /dev/vdiskX as found on sparc
35416 and powerpc.
35417
ac8a2baa 35418 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35419 lettered partition specifier is found, convert to numbered.
35420
979b4fb4 354212009-04-29 David S. Miller <davem@davemloft.net>
35422
e2bf39b2 35423 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35424 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35425
3c64e104 35426 * normal/command.c: Add missing newline at end of file.
35427
979b4fb4 35428 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35429 warnings.
35430 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35431 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35432 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35433 ihandles have a 32-bit type but need to be stored in a "void *".
35434
136d9f82 354352009-04-28 Pavel Roskin <proski@gnu.org>
35436
9459c306 35437 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35438 not disk. Adjust all dependencies.
2e08a26a 35439 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35440 grub_disk_close().
35441
136d9f82 35442 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35443 parent's partition, don't copy it by reference, as it gets freed
35444 on close.
35445
7dd4a573 354462009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35447
35448 Preboot hooks support
35449
35450 * commands/boot.c (struct grub_preboot_t): new declaration
35451 (preboots_head): new variable
35452 (preboots_tail): likewise
35453 (grub_loader_register_preboot_hook): new function
35454 (grub_loader_unregister_preboot_hook): likewise
35455 (grub_loader_set): launch preboot hooks
35456 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35457 (grub_loader_register_preboot_hook): new declaration
35458 (grub_loader_unregister_preboot_hook): likewise
35459
5af922b5 354602009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35461
35462 Warning fix
35463
7dd4a573 35464 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35465 calling grub_dprintf
35466
a5562c30 354672009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35468
35469 Bug and warning fixes
35470
7dd4a573 35471 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35472 declaration
35473 * commands/test.c (test_parse): fixed bug with file tests and corrected
35474 declaration of find_file
35475
4006f85c 354762009-04-26 Pavel Roskin <proski@gnu.org>
35477
35478 * Makefile.in: Don't install empty manual pages if help2man is
35479 missing. Use help2man option for output, not shell redirection.
35480
5c77c3de 354812009-04-26 David S. Miller <davem@davemloft.net>
35482
35483 * util/grub-mkdevicemap.c (make_device_map): Add missing
35484 NESTED_FUNC_ATTR to process_device().
35485
033b10a8 354862009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35487
35488 Test command
35489
35490 * commands/test.c: rewritten to use bash-like test
35491
e4343593 354922009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35493
35494 Parttool autoloading and improvements
35495
7dd4a573 35496 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35497 (parttool.lst): new target
35498 * genmk.rb: generate parttool-*
35499 (CLEANFILES): add #{parttool}
35500 (PARTTOOLFILES): new variable
35501 * genparttoollist.sh: new file
7dd4a573 35502 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35503 (grub_pcpart_type): likewise
35504 * commands/parttool.c (helpmsg): new variable
35505 (grub_cmd_parttool): output help if not enough arguments are supplied
35506 autoload modules
35507 (GRUB_MOD_INIT(parttool)): use helpmsg
35508
0d312500 355092009-04-24 David S. Miller <davem@davemloft.net>
35510
7dd4a573 35511 Avoiding opening same device multiple times in device iterator.
0d312500 35512
35513 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35514 and use it to build a list of partitions in iterate_disk() and
0d312500 35515 iterate_partition().
35516
ac20caff 35517 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35518 on disk->data.
35519
0dcf7495 35520 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35521 grub_devalias_iterate() result instead of unconditional 0.
35522 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35523 Also, capture hook return value, either directly or via
35524 grub_children_iterate(), and propagate to caller.
35525 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35526 grub_children_iterate): Return value is now 'int' instead of
35527 'grub_err_t'.
35528 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35529 like a proper iterator, stopping when hooks return non-zero.
35530 (grub_devalias_iterate): Likewise.
35531
c8c08833 355322009-04-23 David S. Miller <davem@davemloft.net>
35533
35534 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35535
f01005a8 355362009-04-22 David S. Miller <davem@davemloft.net>
35537
35538 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35539 is larger than address_cells, use that value for address_cells too.
35540
4e8269da 35541 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35542 IEEE1275_MAX_PATH_LEN): Define.
35543 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35544 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35545 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35546 'devtype'. Explicitly NULL terminate devalias expansion.
35547
a1447506 35548 * util/sparc64/ieee1275/misc.c: New file.
35549 * util/sparc64/ieee1275/grub-setup.c: New file.
35550 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35551 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35552 * util/sparc64/ieee1275/grub-install.in: New file.
35553 * util/ieee1275/ofpath.c: New file.
35554 * util/ieee1275/devicemap.c: New file.
35555 * util/devicemap.c: New file.
35556 * util/deviceiter.c: New file.
35557 * kern/sparc64/ieee1275/init.c: New file.
35558 * include/grub/util/ofpath.h: New file.
35559 * include/grub/util/deviceiter.h: New file.
35560 * util/grub-mkdevicemap.c: Include deviceiter.h.
35561 Implement using grub_util_emit_devicemap_entry and
35562 grub_util_iterate_devices.
35563 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35564 util/devicemap.c into grub-mkdevicemap
35565 * conf/i386-efi.rmk: Likewise.
35566 * conf/i386-ieee1275.rmk: Likewise.
35567 * conf/i386-pc.rmk: Likewise.
35568 * conf/powerpc-ieee1275.rmk: Likewise.
35569 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35570 images and installation utilities. Build kernel as image
35571 instead of as elf binary. Use common rules as much as possible.
35572
7dd4a573 355732009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35574
35575 Correct GPT definition
35576
7dd4a573 35577 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35578 of "attrib" member
35579
c6c5219f 355802009-04-19 Felix Zielcke <fzielcke@z-51.de>
35581
35582 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35583
0552ff9f 355842009-04-19 David S. Miller <davem@davemloft.net>
35585
35586 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35587 (grub_rescue_cmd_linux): Rename to...
35588 (grub_cmd_linux): and fix prototype.
35589 (grub_rescue_cmd_initrd): Rename to...
35590 (grub_cmd_initrd): and fix prototype.
35591 (cmd_linux, cmd_initrd): New.
35592 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35593 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35594
d1a282fc 355952009-04-17 Pavel Roskin <proski@gnu.org>
35596
07c5039f 35597 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35598 format.
35599 (grub_ohci_transfer): Likewise.
35600
b012002d 35601 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35602
1bc09c35 35603 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35604 return without a value. Fix inconsistent indentation.
35605
e0ff9126 35606 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35607 match struct grub_fs.
35608
d1a282fc 35609 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35610 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35611 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35612 * commands/lspci.c (grub_lspci_iter): Likewise.
35613
a96df3f2 356142009-04-16 Bean <bean123ch@gmail.com>
35615
35616 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35617 value.
35618
41bb0fe9 356192009-04-15 Pavel Roskin <proski@gnu.org>
35620
35621 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35622 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35623 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35624 definitions.
35625
596c6970 356262009-04-15 Felix Zielcke <fzielcke@z-51.de>
35627
35628 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35629 that no multiple data or metadata areas are supported and `Unknown
596c6970 35630 metadata header'.
35631
7dd4a573 356322009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35633
35634 Move loader out of the kernel
35635
35636 * kern/loader.c: moved to ...
35637 * commands/boot.c: ... moved here
35638 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35639 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35640 * include/grub/kernel.h (grub_machine_fini): export
35641 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35642 (grub_loader_set): likewise
35643 (grub_loader_unset): likewise
35644 (grub_loader_boot): likewise
35645 * conf/common.rmk: new module boot.mod
35646 (pkglib_MODULES): add boot.mod
35647 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35648 (grub_emu_SOURCES): likewise
35649 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35650 (grub_emu_SOURCES): likewise
35651 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35652 (grub_emu_SOURCES): likewise
35653 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35654 (grub_emu_SOURCES): likewise
35655 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35656 (grub_emu_SOURCES): likewise
7dd4a573 35657 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35658 (grub_emu_SOURCES): likewise
0d5d5653 35659 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35660 (grub_emu_SOURCES): likewise
0d5d5653 35661
7dd4a573 356622009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35663
35664 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35665
5999d619 35666 * kern/misc.c (grub_itoa): Removed function
35667 (grub_ltoa): likewise
35668 (grub_vsprintf): use grub_lltoa
35669
7dd4a573 356702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35671
35672 Restore grub-emu
35673
35674 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35675 * conf/i386-coreboot.rmk: likewise
35676 * conf/i386-ieee1275.rmk: likewise
35677 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35678
20318222 356792009-04-15 Felix Zielcke <fzielcke@z-51.de>
35680
35681 * INSTALL: Add that `./autogen.sh' needs to be run before
35682 `./configure.'.
35683
d05f0df3 356842009-04-14 Bean <bean123ch@gmail.com>
35685
35686 * Makefile.in (pkglib_DATA): Add handler.lst.
35687 (handler.lst): New rule.
35688
35689 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35690 * conf/i386-coreboot.rmk: Likewise.
35691 * conf/i386-ieee1275.rmk: Likewise.
35692 * conf/i386-efi.rmk: Likewise.
35693 * conf/x86_64-efi.rmk: Likewise.
35694 * conf/powerpc-ieee1275.rmk: Likewise.
35695 * conf/sparc64-ieee1275.rmk: Likewise.
35696
35697 * genhandlerlist.sh: New file.
35698
35699 * genmk.rb: Add rules to generate handler.lst.
35700
35701 * include/grub/normal.h (grub_file_getline): New function definition.
35702 (read_handler_list): Likewise.
35703 (free_handler_list): Likewise.
35704
35705 * include/grub/term.h (grub_term_register_input): Add name parameter
35706 for auto generation of handler.lst.
35707 (grub_term_register_output): Likewise.
35708
35709 * normal/handler.c: New file.
35710
35711 * normal/main.c (get_line): Renamed to grub_file_getline.
35712 (read_config_file): Use the newly renamed grub_file_getline.
35713 (read_command_list): Likewise.
35714 (read_fs_list): Likewise.
35715 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35716 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35717
35718 * term/efi/console.c (grub_console_init): Add name parameter for auto
35719 generation of handler.lst.
35720 * term/gfxterm.c: Likewise.
35721 * term/i386/pc/at_keyboard.c: Likewise.
35722 * term/i386/pc/console.c: Likewise.
35723 * term/i386/pc/serial.c: Likewise.
35724 * term/i386/pc/vesafb.c: Likewise.
35725 * term/i386/pc/vga.c: Likewise.
35726 * term/i386/pc/vga_text.c: Likewise.
35727 * term/ieee1275/ofconsole.c: Likewise.
35728 * term/usb_keyboard.c: Likewise.
35729
33c846be 357302009-04-14 Bean <bean123ch@gmail.com>
35731
35732 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35733 properly with null character.
35734
4484e01e 357352009-04-14 Felix Zielcke <fzielcke@z-51.de>
35736
35737 * configure: Remove.
35738 * config.h.in: Likewise.
f93d668e 35739 * stamp-h.in: Likewise.
4484e01e 35740 * DISTLIST: Likewise.
35741 * conf/common.mk: Likewise.
35742 * conf/i386-coreboot.mk: Likewise.
35743 * conf/i386-efi.mk: Likewise.
35744 * conf/i386-ieee1275.mk: Likewise.
35745 * conf/i386.mk: Likewise.
35746 * conf/i386-pc.mk: Likewise.
35747 * conf/powerpc-ieee1275.mk: Likewise.
35748 * conf/sparc64-ieee1275.mk: Likewise.
35749 * conf/x86_64-efi.mk: Likewise.
35750
35751 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35752 develop on GRUB.
35753
7dd4a573 357542009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35755 David S. Miller <davem@davemloft.net>
35756
35757 * util/hostdisk.c (make_device_name): Fix buffer length
35758 calculations.
35759
e25b5a8c 357602009-04-14 Felix Zielcke <fzielcke@z-51.de>
35761
35762 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35763 <sys/param.h> and <sys/sysctl.h>.
35764 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35765 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35766 opening the device and reset them afterwards.
35767
1f1f580c 357682009-04-13 Pavel Roskin <proski@gnu.org>
35769
35770 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35771 Reported by John Stanley <jpsinthemix@verizon.net>
35772
7ebc2d6b 357732009-04-13 Robert Millan <rmh@aybabtu.com>
35774
35775 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35776 that name for menuentries when appropriate.
7ebc2d6b 35777
d8ba3667 357782009-04-13 Felix Zielcke <fzielcke@z-51.de>
35779
35780 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35781
cba416eb 357822009-04-13 Robert Millan <rmh@aybabtu.com>
35783
35784 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35785 to Linux, simply abort telling the user it's no longer supported.
35786
a547a745 357872009-04-13 Felix Zielcke <fzielcke@z-51.de>
35788
35789 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35790 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35791 `freebsd_loadenv' only when devices.hints exist.
35792
232a769c 357932009-04-13 Pavel Roskin <proski@gnu.org>
35794
35795 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35796
c3012039 357972009-04-13 Felix Zielcke <fzielcke@z-51.de>
35798
35799 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35800 partition number.
35801 (grub_drive): Likewise.
35802
234022fe 358032009-04-13 David S. Miller <davem@davemloft.net>
35804
35805 * kern/sparc64/ieee1275/ieee1275.c: New file.
35806 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35807 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35808 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35809 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35810 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35811 grub_ieee1275_alloc_physmem): Declare new exported functions.
35812
d8e1836c 35813 * include/grub/sparc64/ieee1275/loader.h: New file.
35814 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35815 * include/grub/sparc64/kernel.h: Likewise.
35816 * loader/sparc64/ieee1275/linux.c: Likewise.
35817
96bd81ec 35818 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35819 (grub_fstest_SOURCES): Likewise.
35820
6a4737e5 35821 * util/hostdisk.c (make_device_name): Do not make any assumptions
35822 about the length of drive names.
35823
1d7a72fd 35824 * kern/dl.c (grub_dl_load_file): Close file immediately when
35825 we are done using it.
35826
56bc2471 358272009-04-12 David S. Miller <davem@davemloft.net>
35828
35829 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35830 values. Noticed by Pavel Roskin.
35831
df38d0bb 35832 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35833 target compiler.
7dd4a573 35834
e382e93a 35835 * genmk.rb: Add more flexible image type specification, also
35836 pass --strip-unneeded to objcopy.
35837 * conf/i386-pc.rmk: Use *_FORMAT.
35838 * conf/i386-pc.mk: Rebuilt.
35839
f5dbbca9 35840 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35841 (OFDISK_HASH_SZ): Define.
35842 (ofdisk_hash): New hash table.
35843 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35844 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35845 instead of device phandle which is not unique.
35846
91c88b12 35847 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35848 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35849 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35850 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35851 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35852 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35853 GRUB_KERNEL_MACHINE_DATA_END): Define.
35854 (grub_kernel_image_size, grub_total_module_size): Declare.
35855
5b5d4aa5 358562009-04-12 Pavel Roskin <proski@gnu.org>
35857
7dd4a573 35858 * configure.ac: Change the logic when we check for target tools.
35859 Do it when the target is specified and it's different from the
35860 specified value of the host.
5b5d4aa5 35861
c91e1793 358622009-04-11 Felix Zielcke <fzielcke@z-51.de>
35863
35864 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35865 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35866 GNU/kFreeBSD. Check if a device is a character device. Use
35867 DIOCGMEDIASIZE to get the size.
35868 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35869 support for GNU/kFreeBSD.
35870 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35871 is a character device instead of a block device. Add support for
35872 FreeBSD device names.
35873
35874 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35875 is a character device instead of a block device.
35876
35877 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35878 is a character device instead of a block device.
35879
b1ac8644 358802009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35881
35882 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35883 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35884 FreeBSD. Check if a device is a character device. Use
35885 DIOCGMEDIASIZE to get the size.
35886 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35887 support for FreeBSD.
35888 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35889 is a character device instead of a block device. Add support for
35890 FreeBSD device names.
35891
35892 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35893 a character device instead of a block device.
35894 (grub_util_check_char_device): New function.
35895
35896 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35897 a character device instead of a block device.
35898
35899 * include/grub/util/getroot.h (grub_util_check_char_device): New
35900 prototype.
35901
a3f7515a 359022009-04-11 David S. Miller <davem@davemloft.net>
35903
35904 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35905 static libgcc.
35906 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35907 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35908 function, if present.
35909 (__bswapdi2): Likewise.
35910
0d44993d 35911 * include/grub/sparc64/ieee1275/boot.h: New file.
35912 * boot/sparc64/ieee1275/boot.S: Likewise.
35913 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35914
ed3d2bc2 35915 * kern/misc.c (grub_ltoa): New function.
35916 (grub_vsprintf): Use it to format 'long' integers.
35917
d3bfb59c 359182009-04-10 David S. Miller <davem@davemloft.net>
35919
35920 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35921 slots are of type grub_ieee1275_cell_t.
35922 (grub_nand_read): Likewise.
35923 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35924 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35925 macros are used to compare values in arg/ret block of the call.
35926 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35927 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35928 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35929 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35930 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35931 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35932 grub_ieee1275_close, grub_ieee1275_set_property,
35933 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35934 grub_ieee1275_cell_t.
35935 * kern/ieee1275/openfw.c (grub_map): Likewise.
35936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35937 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35938
450e2238 35939 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35940 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35941 (grub_devalias_iterate): Likewise.
35942
7dd4a573 359432009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35944
35945 UFS improvements
35946
35947 * fs/ufs.c (INODE_NBLOCKS): new definition
35948 (struct grub_ufs_dirent): added fields for non-BSD dirents
35949 (grub_ufs_get_file_block): fixed double indirect handling
35950 (grub_ufs_lookup_symlink): use more robust way to determine whether
35951 symlink is inline
35952 (grub_ufs_find_file): support for non-BSD dirents
35953 (grub_ufs_dir): support for non-BSD dirents
35954
e7e6862a 359552009-04-10 Bean <bean123ch@gnail.com>
35956
35957 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35958 attribute, otherwise the size would be wrong for i386 platform.
35959
35960 * include/grub/pci.h (grub_pci_read_word): New inline function.
35961 (grub_pci_read_byte): Likewise.
35962 (grub_pci_write): Likewise.
35963 (grub_pci_write_word): Likewise.
35964 (grub_pci_write_byte): Likewise.
35965
35966 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35967
35968 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35969 (find_framebuf): Scan pci to locate the frame buffer address.
35970
35971 * commands/efi/fixvideo.c: New file.
35972
35973 * commands/efi/loadbios.c: Likewise.
35974
35975 * commands/memrw.c: Likewise.
35976
35977 * util/grub-dumpbios.in: Likewise.
35978
35979 * conf/common.rmk (grub-dumpbios): New utility.
35980 (pkglib_MODULES): New module memrw.mod.
35981 (memrw_mod_SOURCE): New macro.
35982 (memrw_mod_CFLAGS): Likewise.
35983 (memrw_mod_LDFLAGS): Likewise.
35984
7dd4a573 35985 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35986 fixvideo.mod.
35987 (loadbios_mod_SOURCE): New macro.
35988 (loadbios_mod_CFLAGS): Likewise.
35989 (loadbios_mod_LDFLAGS): Likewise.
35990 (fixvideo_mod_SOURCE): Likewise.
35991 (fixvideo_mod_CFLAGS): Likewise.
35992 (fixvideo_mod_LDFLAGS): Likewise.
35993
7dd4a573 35994 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35995 fixvideo.mod.
35996 (loadbios_mod_SOURCE): New macro.
35997 (loadbios_mod_CFLAGS): Likewise.
35998 (loadbios_mod_LDFLAGS): Likewise.
35999 (fixvideo_mod_SOURCE): Likewise.
36000 (fixvideo_mod_CFLAGS): Likewise.
36001 (fixvideo_mod_LDFLAGS): Likewise.
36002
af63ada2 360032009-04-08 Felix Zielcke <fzielcke@z-51.de>
36004
36005 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36006
c2cdde70 360072009-04-07 David S. Miller <davem@davemloft.net>
36008
36009 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36010 support for R_SPARC_OLO10 relocations. Fix compile warning for
36011 R_SPARC_WDISP30 case.
ea3f72cf 36012 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36013
761319cf 360142009-04-06 Pavel Roskin <proski@gnu.org>
36015
1007d1f5 36016 * include/grub/misc.h (ARRAY_SIZE): New macro.
36017 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36018 New macro.
36019 * loader/i386/linux.c (allocate_pages): Use free_pages().
36020 (grub_linux_unload): Don't use free_pages().
36021 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36022 wrong index. Treat all other modes as text modes.
36023 (grub_cmd_linux): Initialize vid_mode unconditionally to
36024 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36025
761319cf 36026 * commands/help.c (print_command_help): Use cmd->prio, not
36027 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36028
ea761d40 360292009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36030
ea761d40 36031 Parttool
36032
36033 * parttool/pcpart.c: new file
36034 * commands/parttool.c: likewise
36035 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36036 (parttool_mod_SOURCES): new variable
36037 (parttool_mod_CFLAGS): likewise
36038 (parttool_mod_LDFLAGS): likewise
36039 (pcpart_mod_SOURCES): likewise
36040 (pcpart_mod_CFLAGS): likewise
36041 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36043 and parttool/pcpart.c
36044 * conf/i386-efi.rmk: likewise
36045 * conf/i386-ieee1275.rmk: likewise
36046 * conf/i386-pc.rmk: likewise
36047 * conf/powerpc-ieee1275.rmk: likewise
36048 * conf/sparc64-ieee1275.rmk: likewise
36049 * conf/x86_64-ieee1275.rmk: likewise
36050
05aaebfb 360512009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36052
36053 Support for mtime and further expandability of dir command
36054
36055 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36056 * include/grub/datetime.h: ... moved here and added
05aaebfb 36057 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36058 * include/grub/fs.h: new syntax for dir and mtime functions in
36059 struct grub_fs
05aaebfb 36060 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36061 and GRUB_FSHELP_FLAGS_MASK
36062 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36063 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36064 (grub_ext2_mtime): new function
36065 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36066 (grub_hfsplus_mtime): new function
36067 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36068 (GRUB_UFS_ATTR_FILE): likewise
36069 (GRUB_UFS_ATTR_LNK): likewise
36070 (struct grub_ufs_sblock): new fields mtime
36071 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36072 all users updated
36073 (grub_ufs_dir): mtime support
36074 (grub_ufs_mtime): new function
36075 * fs/affs.c (grub_affs_dir): use new dir syntax
36076 * fs/afs.c (grub_afs_dir): likewise
36077 * fs/cpio.c (grub_cpio_dir): likewise
36078 * fs/fat.c (grub_fat_find_dir): likewise
36079 * fs/hfs.c (grub_hfs_dir): likewise
36080 * fs/iso9660.c (grub_iso9660_dir): likewise
36081 * fs/jfs.c (grub_jfs_dir): likewise
36082 * fs/minix.c (grub_minix_dir): likewise
36083 * fs/ntfs.c (grub_ntfs_dir): likewise
36084 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36085 * fs/sfs.c (grub_sfs_dir): likewise
36086 * fs/xfs.c (grub_xfs_dir): likewise
36087 * util/hostfs.c (grub_hostfs_dir): likewise
36088 * lib/datetime.c: moved to ...
36089 * normal/datetime.c: ... moved here
36090 (grub_unixtime2datetime): new function
36091 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36092 * normal/completion.c (iterate_dir): use new dir syntax
36093 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36094 last modification time of a volume
7dd4a573 36095 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36096 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36097 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36098 (normal_mod_SOURCES): likewise
36099 (datetime_mod_SOURCES): Removed lib/datetime.c
36100 * conf/i386-efi.rmk: likewise
7dd4a573 36101 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36102 * conf/i386-pc.rmk: likewise
36103 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36104 * conf/sparc64-ieee1275.rmk: likewise
36105 * conf/x86_64-efi.rmk: likewise
05aaebfb 36106
8a7e1a14 361072009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36108
36109 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36110
36111 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36112 on grub_fat_find_dir
36113 (grub_fat_find_dir): use grub_fat_iterate_dir
36114 (grub_fat_label): likewise
36115
04186a9c 361162009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36117
7dd4a573 36118 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36119 and command.h
36120 remove extraneous kernel_elf_HEADERS
36121
da4c0bb6 361222009-04-04 Bean <bean123ch@gnail.com>
36123
36124 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36125
36126 * util/misc.c: Likewise.
36127
54ad9555 361282009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36129
36130 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36131 instead of grub_printf.
36132
7a6bf9f2 361332009-04-03 Robert Millan <rmh@aybabtu.com>
36134
36135 * loader/i386/linux.c (grub_linux_setup_video): Fill
36136 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36137 values from `mode info' structure instead of hardcoded
36138 values.
36139
3fcc2083 361402009-04-01 Pavel Roskin <proski@gnu.org>
36141
36142 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36143 unused now.
36144 * genmk.rb: Likewise.
36145 * configure.ac: Likewise.
36146
5ec9740b 361472009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36148
36149 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36150 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36151
5270cec8 361522009-04-01 David S. Miller <davem@davemloft.net>
36153
36154 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36155 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36156 (grub_setjmp): Mark with 'returns_twice' attribute.
36157 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36158 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36159 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36160
9c3dd854 361612009-04-01 Robert Millan <rmh@aybabtu.com>
36162
36163 Reapply fix from 2008-07-28 which was accidentally reverted; also
36164 perform the same fix to a similar check in same function.
36165
36166 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36167 with the same number are found, just use issue a warning with
36168 grub_dprintf(), as this error has been reported to be non-fatal.
36169
0d818b7e 361702009-03-31 Pavel Roskin <proski@gnu.org>
36171
36172 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36173 for cross-compilation.
36174
95646d92 361752009-03-30 Robert Millan <rmh@aybabtu.com>
36176
36177 Fix i386-ieee1275 build.
36178
36179 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36180 Remove declaration.
36181
6a003ed1 361822009-03-30 Pavel Roskin <proski@gnu.org>
36183
36184 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36185 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36186 zero-terminated, rely only on the strlen value. Fix comparison
36187 of strings differing in length.
36188
92f33540 361892009-03-30 Robert Millan <rmh@aybabtu.com>
36190
36191 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36192 checking for abi version. Improve error messages on BIOS to notify
36193 user about `linux16' command.
36194
a8c48fd5 361952009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36196
f968172e 36197 Leak fixes
a8c48fd5 36198
f968172e 36199 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36200 in case of collision
36201 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36202
9c323f09 362032009-03-29 Robert Millan <rmh@aybabtu.com>
36204
36205 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36206 set `vid_mode' accordingly.
36207 (grub_linux_boot): Process `vid_mode' and set video mode.
36208
ae68f423 362092009-03-29 Robert Millan <rmh@aybabtu.com>
36210
36211 * util/grub.d/10_linux.in (linux_entry): New function.
36212 Factorize generation of Linux boot entries.
36213
5709cfc4 362142009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36215
36216 Make the format of Environment Block plain text. The boot loader
36217 part is not tested well yet.
7dd4a573 36218
5709cfc4 36219 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36220 (buffer): Removed.
36221 (envblk): Likewise.
36222 (usage): Remove "info" and "clear". Add "unset". Update the
36223 description of "set", as this does not delete variables any
36224 longer.
36225 (create_envblk_file): Complete rewrite.
36226 (open_envblk_file): Likewise.
36227 (cmd_info): Removed.
36228 (cmd_list): Likewise.
36229 (cmd_set): Likewise.
36230 (cmd_clear): Likewise.
36231 (list_variables): New function.
36232 (write_envblk): Likewise.
36233 (set_variables): Likewise.
36234 (unset_variables): Likewise.
36235 (main): Complete rewrite.
36236
36237 * commands/loadenv.c (buffer): Removed.
36238 (envblk): Likewise.
36239 (open_envblk_file): New function.
36240 (read_envblk_file): Complete rewrite.
36241 (grub_cmd_load_env): Likewise.
36242 (grub_cmd_list_env): Likewise.
36243 (struct blocklist): New struct.
36244 (free_blocklists): New function.
36245 (check_blocklists): Likewise.
36246 (write_blocklists): Likewise.
36247 (grub_cmd_save_env): Complete rewrite.
36248
36249 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36250 a plain text signature.
36251 (GRUB_ENVBLK_MAXLEN): Removed.
36252 (struct grub_envblk): Complete rewrite.
36253 (grub_envblk_find): Removed.
36254 (grub_envblk_insert): Likewise.
36255 (grub_envblk_open): New prototype.
36256 (grub_envblk_set): Likewise.
36257 (grub_envblk_delete): Put const to VALUE.
36258 (grub_envblk_iterate): Put const to NAME and VALUE.
36259 (grub_envblk_close): New prototype.
36260 (grub_envblk_buffer): New inline function.
36261 (grub_envblk_size): Likewise.
36262
36263 * lib/envblk.c: Include grub/mm.h.
36264 (grub_env_find): Removed.
36265 (grub_envblk_open): New function.
36266 (grub_envblk_close): Likewise.
36267 (escaped_value_len): Likewise.
36268 (find_next_line): Likewise.
36269 (grub_envblk_insert): Removed.
36270 (grub_envblk_set): New function.
36271 (grub_envblk_delete): Complete rewrite.
36272 (grub_envblk_iterate): Likewise.
36273
a9368fd3 362742009-03-28 Robert Millan <rmh@aybabtu.com>
36275
36276 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36277 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36278 variables. Use 16-bit loader.
36279 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36280 loader.
36281 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36282 (grub_linux16_boot): ... this. Update all users.
36283 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36284 (grub_linux_boot): ... this. Update all users.
36285
36286 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36287 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36288 commands to `linux16' and `initrd16'.
36289 (GRUB_MOD_FINI(linux)): Rename to ...
36290 (GRUB_MOD_FINI(linux16)): ... this.
36291
e4dd5a7e 362922009-03-24 Pavel Roskin <proski@gnu.org>
36293
36294 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36295 not just for compilation.
36296
c04d6e05 362972009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36298
36299 Move multiboot helper out of kernel
36300
36301 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36302 `loader/i386/multiboot_helper.S'.
36303 * conf/i386-coreboot.rmk: Likewise
36304 * conf/i386-ieee1275.rmk: Likewise
36305
36306 * kern/i386/loader.S: Move multiboot helpers from here...
36307 * loader/i386/multiboot_helper.S: ...moved here
36308 * include/grub/i386/loader.h: Move declarations of multiboot
36309 helpers from here...
36310 * include/grub/i386/multiboot.h: ...moved here
36311 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36312
42a5b3fc 363132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36314
36315 * kern/env.c (grub_env_context_open): Added an argument to specify
36316 whether a new context inherits exported variables from current
36317 one. This is useful when making a sandbox to interpret a config
36318 file.
36319 All callers updated.
36320
36321 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36322
b28bbc4e 363232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36324
36325 * kern/env.c (grub_env_context_close): Fix memory leaks.
36326
f04f02e4 363272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36328
36329 * normal/main.c (grub_normal_execute): Added an argument
36330 BATCH to specify if an interactive interface should be provided
36331 after reading a config file.
36332 All callers updated.
36333 (read_command_list): Prevent being executed twice.
36334 (read_fs_list): Likewise.
36335
42a5b3fc 36336 * include/grub/normal.h (grub_normal_execute): Updated the
36337 prototype.
f04f02e4 36338
41473ac2 363392009-03-22 Pavel Roskin <proski@gno.org>
36340
fbc00b0c 36341 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36342 _start.
36343 * kern/i386/pc/startup.S: Likewise.
36344 * kern/i386/efi/startup.S: Likewise.
36345 * kern/i386/ieee1275/startup.S: Likewise.
36346 * kern/i386/coreboot/startup.S: Likewise.
36347 * kern/x86_64/efi/startup.S: Likewise.
36348
41473ac2 36349 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36350 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36351 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36352
2274cc8f 363532009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36354
36355 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36356
36357 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36358 limit detection.
36359 Use vaddr of correct segment for entry_point.
36360
b1b797cb 363612009-03-21 Bean <bean123ch@gmail.com>
36362
36363 * commands/blocklist.c: Add include file <grub/command.h>, remove
36364 <grub/normal.h> and <grub/arg.h>.
36365 (grub_cmd_blocklist): Use the new command interface.
36366 (GRUB_MOD_INIT): Likewise.
36367 (GRUB_MOD_FINI): Likewise.
36368 * commands/boot.c: Likewise.
36369 * commands/cat.c: Likewise.
36370 * commands/cmp.c: Likewise.
36371 * commands/configfile.c: Likewise.
36372 * commands/crc.c: Likewise.
36373 * commands/echo.c: Likewise.
36374 * commands/halt.c: Likewise.
36375 * commands/handler.c: Likewise.
36376 * commands/hdparm.c: Likewise.
36377 * commands/help.c: Likewise.
36378 * commands/hexdump.c: Likewise.
36379 * commands/loadenv.c: Likewise.
36380 * commands/ls.c: Likewise.
36381 * commands/lsmmap.c: Likewise.
36382 * commands/lspci.c: Likewise.
36383 * commands/loadenv.c: Likewise.
36384 * commands/read.c: Likewise.
36385 * commands/reboot.c: Likewise.
36386 * commands/search.c: Likewise.
36387 * commands/sleep.c: Likewise.
36388 * commands/test.c: Likewise.
36389 * commands/usbtest.c: Likewise.
36390 * commands/videotest.c: Likewise.
36391 * commands/i386/cpuid.c: Likewise.
36392 * commands/i386/pc/halt.c: Likewise.
36393 * commands/i386/pc/play.c: Likewise.
36394 * commands/i386/pc/pxecmd.c: Likewise.
36395 * commands/i386/pc/vbeinfo.c: Likewise.
36396 * commands/i386/pc/vbetest.c: Likewise.
36397 * commands/ieee1275/suspend.c: Likewise.
36398 * disk/loopback.c: Likewise.
36399 * font/font_cmd.c: Likewise.
36400 * hello/hello.c: Likewise.
36401 * loader/efi/appleloader.c: Likewise.
36402 * loader/efi/chainloader.c: Likewise.
36403 * loader/i386/bsd.c: Likewise.
36404 * loader/i386/efi/linux.c: Likewise.
36405 * loader/i386/ieee1275/linux.c: Likewise.
36406 * loader/i386/linux.c: Likewise.
36407 * loader/i386/pc/chainloader.c: Likewise.
36408 * loader/i386/pc/linux.c: Likewise.
36409 * loader/powerpc/ieee1275/linux.c: Likewise.
36410 * loader/multiboot_loader.c: Likewise.
36411 * term/gfxterm.c: Likewise.
36412 * term/i386/pc/serial.c: Likewise.
36413 * term/terminfo.c: Likewise.
36414
36415 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36416 * term/i386/pc/vga.c: Likewise.
36417 * video/readers/jpeg.c: Likewise.
36418 * video/readers/png.c: Likewise.
36419 * video/readers/tga.c: Likewise.
36420
36421 * util/grub-fstest (cmd_loopback): Removed.
36422 (cmd_blocklist): Likewise.
36423 (cmd_ls): Likewise.
36424 (grub_register_command): Likewise.
36425 (grub_unregister_command): Likewise.
36426 (execute_command): Use grub_command_find to locate command and execute
36427 it.
36428
36429 * include/grub/efi/chainloader.h: Removed.
36430 * loader/efi/chainloader_normal.c: Likewise.
36431 * loader/i386/bsd_normal.c: Likewise.
36432 * loader/i386/pc/chainloader_normal.c: Likewise.
36433 * loader/i386/pc/multiboot_normal.c: Likewise.
36434 * loader/linux_normal.c: Likewise.
36435 * loader/multiboot_loader_normal.c: Likewise.
36436 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36437
36438 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36439 and grub_register_command_p1.
36440
36441 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36442 kern/command.c, lib/arg.c and commands/extcmd.c.
36443 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36444 (minicmd_mod_SOURCES): New variable.
36445 (minicmd_mod_CFLAGS): Likewise.
36446 (minicmd_mod_LDFLAGS): Likewise.
36447 (extcmd_mod_SOURCES): Likewise.
36448 (extcmd_mod_CFLAGS): Likewise.
36449 (extcmd_mod_LDFLAGS): Likewise.
36450 (boot_mod_SOURCES): Removed.
36451 (boot_mod_CFLAGS): Likewise.
36452 (boot_mod_LDFLAGS): Likewise.
36453
36454 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36455 kern/corecmd.c.
36456 (kernel_img_HEADERS): Add command.h.
36457 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36458 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36459 and lib/arg.c.
36460 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36461 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36462 remove the corresponding normal mode command.
36463 (normal_mod_SOURCES): Remove normal/arg.c.
36464 * conf/i386-coreboot.rmk: Likewise.
36465 * conf/i386-efi.rmk: Likewise.
36466 * conf/i386-ieee1275.rmk: Likewise.
36467 * conf/powerpc-ieee1275.rmk: Likewise.
36468 * conf/x86_64-efi.rmk: Likewise.
36469
36470 * include/grub/arg.h: Move from here ...
36471 * include/grub/lib/arg.h: ... to here.
36472
36473 * normal/arg.c: Move from here ...
36474 * lib/arg.c: ... to here.
36475
36476 * commands/extcmd.c: New file.
36477 * commands/minicmd.c: Likewise.
36478 * include/grub/command.h: Likewise.
36479 * include/grub/extcmd.h: Likewise.
36480 * kern/command.c: Likewise.
36481 * kern/corecmd.c: Likewise.
36482
36483 * kern/list.c (grub_list_iterate): Return int instead of void.
36484 (grub_list_insert): New function.
36485 (grub_prio_list_insert): Likewise.
36486
36487 * kern/rescue.c (grub_rescue_command): Removed.
36488 (grub_rescue_command_list): Likewise.
36489 (grub_rescue_register_command): Likewise.
36490 (grub_rescue_unregister_command): Likewise.
36491 (grub_rescue_cmd_boot): Move to minicmd.c
36492 (grub_rescue_cmd_help): Likewise.
36493 (grub_rescue_cmd_info): Likewise.
36494 (grub_rescue_cmd_boot): Likewise.
36495 (grub_rescue_cmd_testload): Likewise.
36496 (grub_rescue_cmd_dump): Likewise.
36497 (grub_rescue_cmd_rmmod): Likewise.
36498 (grub_rescue_cmd_lsmod): Likewise.
36499 (grub_rescue_cmd_exit): Likewise.
36500 (grub_rescue_print_devices): Moved to corecmd.c.
36501 (grub_rescue_print_files): Likewise.
36502 (grub_rescue_cmd_ls): Likewise.
36503 (grub_rescue_cmd_insmod): Likewise.
36504 (grub_rescue_cmd_set): Likewise.
36505 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36506 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36507 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36508 commands, remove grub_rescue_register_command calls.
b1b797cb 36509
7d074e3c 36510 * normal/command.c (grub_register_command): Removed.
b1b797cb 36511 (grub_unregister_command): Likewise.
36512 (grub_command_find): Likewise.
36513 (grub_iterate_commands): Likewise.
36514 (rescue_command): Likewise.
36515 (export_command): Moved to corecmd.c.
36516 (set_command): Removed.
36517 (unset_command): Likewise.
36518 (insmod_command): Likewise.
36519 (rmmod_command): Likewise.
36520 (lsmod_command): Likewise.
36521 (grub_command_init): Likewise.
36522
36523 * normal/completion.c (iterate_command): Use cmd->prio to check for
36524 active command.
36525 (complete_arguments): Use grub_extcmd_t structure to find options.
36526 (grub_normal_do_completion): Change function grub_iterate_commands to
36527 grub_command_iterate.
36528
36529 * normal/execute.c (grub_script_execute_cmd): No need to parse
36530 argument here.
36531
36532 * normal/main.c (grub_dyncmd_dispatcher): New function.
36533 (read_command_list): Register unload commands as dyncmd.
36534 (grub_cmd_normal): Use new command interface, register rescue,
36535 unregister normal at entry, register normal, unregister rescue at exit.
36536
36537 * include/grub/list.h (grub_list_test_t): New type.
36538 (grub_list_iterate): Return int instead of void.
36539 (grub_list_insert): New function.
36540 (GRUB_AS_NAMED_LIST_P): New macro.
36541 (GRUB_AS_PRIO_LIST): Likewise.
36542 (GRUB_AS_PRIO_LIST_P): Likewise.
36543 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36544 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36545 (grub_prio_list): New structure.
36546 (grub_prio_list_insert): New function.
36547 (grub_prio_list_remove): New inline function.
36548
36549 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36550 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36551 (GRUB_COMMAND_FLAG_MENU): Likewise.
36552 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36553 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36554 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36555 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36556 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36557 (grub_command): Likewise.
36558 (grub_register_command): Likewise.
36559 (grub_command_find): Likewise.
36560 (grub_iterate_commands): Likewise.
36561 (grub_command_init): Likewise.
36562 (grub_arg_parse): Likewise.
36563 (grub_arg_show_help): Likewise.
36564
36565 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36566 (grub_rescue_unregister_command): Likewise.
36567
36568 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36569 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36570 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36571
36572 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36573 grub_rescue_cmd_initrd.
36574 * include/grub/i386/loader.h: Likewise.
36575 * include/grub/x86_64/loader.h: Likewise.
36576
36577 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36578
1f4147aa 365792009-03-21 Bean <bean123ch@gmail.com>
36580
36581 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36582 instead of stat in mingw environment.
36583
36584 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36585
36586 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36587
36588 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36589 AC_CONFIG_LINKS.
36590
2156d5ba 365912009-03-21 Bean <bean123ch@gmail.com>
36592
36593 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36594 out of range error.
36595
177b82ca 365962009-03-18 Michel Dänzer <michel@daenzer.net>
36597
36598 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36599 checking inode flags for EXT4_EXTENTS_FLAG.
36600
14aad807 366012009-03-18 Robert Millan <rmh@aybabtu.com>
36602
36603 * loader/i386/linux.c: Include `<grub/video.h>' and
36604 `<grub/i386/pc/vbe.h>'..
36605 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36606 (grub_linux32_boot): Attempt to configure video settings with
36607 grub_linux_setup_video().
36608 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36609 to avoid grub_console_fini() which would step out of graphical mode
36610 unconditionally.
36611
8cf83a27 366122009-03-14 Robert Millan <rmh@aybabtu.com>
36613
36614 Fix build on powerpc.
36615 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36616
40164e75 366172009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36618
36619 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36620 background image command.
36621
c58bc32a 366222009-03-12 Colin D Bennett <colin@gibibit.com>
36623
36624 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36625 (grub_gfxterm_putchar): Extract pairs of identical calls to
36626 draw_cursor out of conditional blocks.
36627
5415144a 366282009-03-11 Pavel Roskin <proski@gnu.org>
36629
36630 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36631 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36632
6394042e 366332009-03-11 Robert Millan <rmh@aybabtu.com>
36634
36635 * loader/i386/multiboot_elfxx.c
36636 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36637
b7b50e5f 366382009-03-11 Felix Zielcke <fzielcke@z-51.de>
36639
36640 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36641 `kern/handler.c'.
36642
1ca7fc96 366432009-03-11 Robert Millan <rmh@aybabtu.com>
36644
36645 * loader/i386/multiboot.c (code_size): New variable.
36646 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36647 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36648 4-byte alignment to MBI and others by increasing
7d074e3c 36649 `boot_loader_name_length' appropriately.
1ca7fc96 36650
36651 * loader/i386/multiboot_elfxx.c
36652 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36653
a83ea1d2 366542009-03-09 Felix Zielcke <fzielcke@z-51.de>
36655
36656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36657 `fs/ext2.c'.
36658
aa9f3bff 366592009-03-08 Robert Millan <rmh@aybabtu.com>
36660
36661 Make loader/i386/linux.c usable on i386-pc again.
36662
36663 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36664 memory to heap.
36665 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36666 `#error' stanza.
36667
d8b3b60e 366682009-03-07 Bean <bean123ch@gmail.com>
36669
36670 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36671 allocation.
36672
b362c9e9 366732009-03-06 Robert Millan <rmh@aybabtu.com>
36674
36675 Fix display issue on terminals with screen size other than 80x25
36676 (e.g. gfxterm with resolution higher than 640x480).
36677
36678 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36679 position relative to the center of the terminal instead of relying
b362c9e9 36680 on a hardcoded offset.
36681
9304eef1 366822009-03-04 Robert Millan <rmh@aybabtu.com>
36683
36684 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36685 installed.
36686
36687 * Makefile.in (host_kernel): New variable.
36688 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36689 scripts instead of just the windows one.
36690 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36691
eabc95fb 366922009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36693
36694 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36695 `kern/handler.c'.
36696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36697 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36698 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36700 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36702
ceb1223c 367032009-03-04 Felix Zielcke <fzielcke@z-51.de>
36704
36705 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36706 or if there's no space for the disk label and print the partition number on a
36707 invalid magic.
36708
4910684a 367092009-03-04 Felix Zielcke <fzielcke@z-51.de>
36710
36711 * util/misc.c: Include <time.h>.
36712 (grub_millisleep): New function.
36713
7e9ca17a 367142009-03-04 Bean <bean123ch@gmail.com>
36715
36716 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36717 another option -mno-red-zone.
36718
36719 * commands/handler.c: Change module description.
36720
36721 * kern/handler.c: Add missing space at the end of description line.
36722
36723 * kern/list.c: Likewise.
36724
f501677c 367252009-03-03 Robert Millan <rmh@aybabtu.com>
36726
36727 Move more components to the relocation area, and fix mbi pointer
36728 handling to use the destination rather than the origin (thanks to
36729 Vladimir Serbinenko for spotting).
36730
36731 * loader/i386/multiboot.c (mbi_dest): New variable.
36732 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36733 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36734 relocation area.
36735
9902d047 367362009-03-01 Bean <bean123ch@gmail.com>
36737
50fb7002 36738 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36739 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36740 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36741 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36742
36743 * loader/i386/efi/linux.c (acpi_guid): New variable.
36744 (acpi_guid): Likewise.
36745 (EBDA_SEG_ADDR): New constant.
36746 (LOW_MEM_ADDR): Likewise.
36747 (FAKE_EBDA_SEG): Likewise.
36748 (fake_bios_data): New function.
36749 (grub_linux_boot): Call fake_bios_data.
36750
71b9f361 367512009-03-01 Bean <bean123ch@gmail.com>
36752
36753 * commands/terminal.c: Removed.
36754
36755 * commands/handler.c: New file.
36756
36757 * include/grub/list.h: Likewise.
36758
36759 * include/grub/handler.h: Likewise.
36760
36761 * kern/list.c: Likewise.
36762
36763 * kern/handler.c: Likewise.
36764
36765 * kern/term.h: Include header file <grub/handler.h>.
36766 (grub_term_input): Move next field to the beginning.
36767 (grub_term_output): Likewise.
36768 (grub_term_input_class): New variable.
36769 (grub_term_output_class): Likewise.
36770 (grub_term_register_input): Changed to inline function.
36771 (grub_term_register_output): Likewise.
36772 (grub_term_unregister_input): Likewise.
36773 (grub_term_unregister_output): Likewise.
36774 (grub_term_set_current_input): Likewise.
36775 (grub_term_set_current_output): Likewise.
36776 (grub_term_get_current_input): Likewise.
36777 (grub_term_get_current_output): Likewise.
36778 (grub_term_iterate_input): Removed.
36779 (grub_term_iterate_output): Likewise.
36780
36781 * kern/term.c (grub_term_list_input): Removed.
36782 (grub_term_list_output): Likewise.
36783 (grub_term_input_class): New variable.
36784 (grub_term_output_class): Likewise.
50fb7002 36785 (grub_cur_term_input): Change variable as macro.
71b9f361 36786 (grub_cur_term_output): Likewise.
36787 (grub_term_register_input): Removed.
36788 (grub_term_register_output): Likewise.
36789 (grub_term_unregister_input): Likewise.
36790 (grub_term_unregister_output): Likewise.
36791 (grub_term_set_current_input): Likewise.
36792 (grub_term_set_current_output): Likewise.
36793 (grub_term_iterate_input): Likewise.
36794 (grub_term_iterate_output): Likewise.
36795 (grub_term_get_current_input): Likewise.
36796 (grub_term_get_current_output): Likewise.
36797
36798 * util/grub-editenv.c: Include header file <grub/handler.h>.
36799 (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-fstest.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/grub-probe.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 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36815 (grub_term_get_current_output): Likewise.
36816 (grub_term_input_class): New variable.
50fb7002 36817 (grub_term_output_class): Likewise.
71b9f361 36818
36819 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36820 (terminal_mod_SOURCES): Likewise.
36821 (terminal_mod_CFLAGS): Likewise.
36822 (terminal_mod_LDFLAGS): Likewise.
36823
36824 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36825 handler.c.
36826 (kernel_img_SOURCES): Add list.c and handler.c.
36827 (kernel_img_HEADERS): Add list.h and handler.h.
36828
36829 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36830 handler.c.
36831 (kernel_mod_SOURCES): Add list.c and handler.c.
36832 (kernel_mod_HEADERS): Add list.h and handler.h.
36833
36834 * conf/i386-coreboot.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/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36840 handler.c.
36841 (kernel_elf_SOURCES): Add list.c and handler.c.
36842 (kernel_elf_HEADERS): Add list.h and handler.h.
36843
36844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36845 handler.c.
36846 (kernel_mod_SOURCES): Add list.c and handler.c.
36847 (kernel_mod_HEADERS): Add list.h and handler.h.
36848
36849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36850 handler.c.
36851 (kernel_elf_SOURCES): Add list.c and handler.c.
36852 (kernel_elf_HEADERS): Add list.h and handler.h.
36853
8a31787f 368542009-02-27 Robert Millan <rmh@aybabtu.com>
36855
36856 Factorize elf32 / elf64 code in Multiboot loader. This will
36857 prevent it from getting out of sync again.
36858
36859 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36860 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36861 grub_multiboot_load_elf64): Move from here ...
36862 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36863 grub_multiboot_load_elf): ... to here (new file).
36864
51cd3dfc 368652009-02-27 Robert Millan <rmh@aybabtu.com>
36866
36867 * util/grub.d/10_linux.in: Rename "single-user mode" to
36868 "recovery mode".
36869
6e8c9c3a 368702009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36871
36872 Don't leak in SCSI code.
36873 * disk/scsi.c (grub_scsi_close): free `scsi'.
36874
4b6bf4f9 368752009-02-27 Robert Millan <rmh@aybabtu.com>
36876
36877 * loader/i386/pc/multiboot.c: Move from here ...
36878 * loader/i386/multiboot.c: ... to here. Update all users.
36879
b9413424 368802009-02-27 Robert Millan <rmh@aybabtu.com>
36881
36882 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36883 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36884
50fb7002 368852009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36886
36887 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36888 b-tree.
36889
8cc50345 368902009-02-27 Robert Millan <rmh@aybabtu.com>
36891
36892 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36893 `0x' qualifier as 0 when base is specified as parameter).
36894
6e09b8b7 368952009-02-24 Bean <bean123ch@gmail.com>
36896
36897 * configure.ac: Check for -mcmodel=large in x86_64 target.
36898
36899 * include/grub/efi/api.h (efi_call_10): New macro.
36900 (efi_wrap_10): New function.
36901
36902 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36903 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36904 (GRUB_PE32_REL_BASED_LOW): Likewise.
36905 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36906 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36907 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36908 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36909 (GRUB_PE32_REL_BASED_REL): Likewise.
36910 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36911 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36912 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36913
36914 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36915 issue.
36916
36917 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36918 (efi_wrap_10): New function.
36919
36920 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36921
36922 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36923 MB/MBP model (NV chipset).
36924 (devdata_devs): Add devpath_5 to the list.
36925
36926 * load/i386/efi/linux.c (video_base): Remove variable.
36927 (RGB_MASK): New macro.
36928 (RGB_MAGIC): Likewise.
36929 (LINE_MIN): Likewise.
36930 (LINE_MAX): Likewise.
36931 (FBTEST_STEP): Likewise.
36932 (FBTEST_COUNT): Likewise.
36933 (fb_list): New variable.
36934 (grub_find_video_card): Remove function.
36935 (find_framebuf): New function.
36936 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36937 line length.
36938
36939 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36940 problem for x86_64.
36941
74b21bee 369422009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36943
36944 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36945
36946 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36947 coding tool name.
36948
a455f472 369492009-02-22 Robert Millan <rmh@aybabtu.com>
36950
36951 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36952 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36953 in our relocation, instead of using it directly from heap. Also
36954 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36955
6374daf3 369562009-02-21 Robert Millan <rmh@aybabtu.com>
36957
36958 Implement USB keyboard support (based on patch by Marco Gerards)
36959
36960 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36961 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36962 (usb_keyboard_mod_LDFLAGS): New variables.
36963
36964 * term/usb_keyboard.c: New file.
36965
8fa4ea70 369662009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36967
36968 Corrected wrong declaration
36969
36970 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36971
353976ac 369722009-02-14 Christian Franke <franke@computer.org>
36973
36974 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36975 (grub_lspci_iter): Print class code and programming interface byte.
36976
6aa1169b 369772009-02-14 Christian Franke <franke@computer.org>
36978
36979 * gendistlist.sh: Ignore `.svn' directories.
36980
265372ca 369812009-02-14 Felix Zielcke <fzielcke@z-51.de>
36982
36983 * fs/fat.c: Add 2009 to Copyright line.
36984
9ff516f3 369852009-02-14 Christian Franke <franke@computer.org>
36986
36987 * commands/hdparm.c: New file. Provides `hdparm' command
36988 which sends ATA commands via grub_disk_ata_pass_through ().
36989
36990 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36991
36992 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36993 and <grub/cpu/io.h> to include/grub/ata.h.
36994 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36995 (GRUB_CDROM_SECTOR_SIZE): Remove.
36996 (GRUB_ATA_*): Move to include/grub/ata.h.
36997 (GRUB_ATAPI_*): Likewise.
36998 (enum grub_ata_commands): Likewise.
36999 (enum grub_ata_timeout_milliseconds): Likewise.
37000 (struct grub_ata_device): Likewise.
37001 (grub_ata_regset): Likewise.
37002 (grub_ata_regget): Likewise.
37003 (grub_ata_regset2): Likewise.
37004 (grub_ata_regget2): Likewise.
37005 (grub_ata_check_ready): Likewise.
37006 (grub_ata_wait_not_busy): Remove static, exported in
37007 include/grub/ata.h.
37008 (grub_ata_wait_drq): Likewise.
37009 (grub_ata_pio_read): Likewise.
37010
37011 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37012 function for hdparm.mod.
37013
37014 * include/grub/ata.h: New file, contains declarations from
37015 disk/ata.c.
37016 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37017
37018 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37019 (grub_disk_ata_pass_through): New exported variable.
37020
37021 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37022
772e23da 370232009-02-13 Colin D Bennett <colin@gibibit.com>
37024
37025 Support multiple fallback entries, and provide an API to support
37026 executing default+fallback menu entries. Renamed the `terminal' menu
37027 viewer to `text'.
37028
37029 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37030 variable declaration.
37031 (grub_menu_execute_callback): New structure declaration.
37032 (grub_menu_execute_callback_t): New typedef.
37033 (grub_menu_execute_with_fallback): New function declaration.
37034 (grub_menu_get_entry): Likewise.
37035 (grub_menu_get_timeout): Likewise.
37036 (grub_menu_set_timeout): Likewise.
37037
37038 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37039
37040 * normal/menu.c (grub_wait_after_message): Moved to
37041 `normal/menu_text.c'.
37042 (draw_border): Likewise.
37043 (print_message): Likewise.
37044 (print_entry): Likewise.
37045 (print_entries): Likewise.
37046 (grub_menu_init_page): Likewise.
37047 (get_entry_number): Likewise.
37048 (print_timeout): Likewise.
37049 (run_menu): Likewise.
37050 (grub_menu_execute_entry): Likewise.
37051 (show_text_menu): Likewise.
37052 (get_and_remove_first_entry_number): New function.
37053 (grub_menu_execute_with_fallback): Likewise.
37054 (get_entry): Renamed to ...
37055 (grub_menu_get_entry): .. this and made it global.
37056 (get_timeout): Renamed to ...
37057 (grub_menu_get_timeout): ... this and made it global.
37058 (set_timeout): Renamed to ...
37059 (grub_menu_set_timeout): ... this and made it global.
37060 (grub_normal_terminal_menu_viewer): Renamed to ...
37061 (grub_normal_text_menu_viewer): ... this.
37062
37063 * normal/menu_text.c: New file. Extracted text-menu-specific code
37064 from normal/menu.c.
37065
37066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37067 (normal_mod_SOURCES): Likewise.
37068
37069 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37070 (normal_mod_SOURCES): Likewise.
37071
37072 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37073 (normal_mod_SOURCES): Likewise.
37074
37075 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37076 (normal_mod_SOURCES): Likewise.
37077
37078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37079 (normal_mod_SOURCES): Likewise.
37080
37081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37082 (normal_mod_SOURCES): Likewise.
37083
37084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37085 (normal_mod_SOURCES): Likewise.
37086
16ac430e 370872009-02-11 Robert Millan <rmh@aybabtu.com>
37088
37089 * util/grub.d/00_header.in: Update old reference to `font' command.
37090
06ff20fc 370912009-02-10 Felix Zielcke <fzielcke@z-51.de>
37092
37093 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37094
37095 Based on patch from Javier Martín.
37096
96da9407 370972009-02-09 Felix Zielcke <fzielcke@z-51.de>
37098
37099 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37100 to avoid false positives with FAT.
96da9407 37101 (grub_fstest_SOURCES): Likewise.
37102 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37103 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37105 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37106 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37107 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37108
6dca6fe4 371092009-02-09 Felix Zielcke <fzielcke@z-51.de>
37110
06ff20fc 37111 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37112 bpb.version_specific.fat12_or_fat16.fstype and
37113 bpb.version_specific.fat32.fstype.
37114
2550c62f 371152009-02-08 Robert Millan <rmh@aybabtu.com>
37116
be110b30 37117 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37118
56978920 371192009-02-08 Robert Millan <rmh@aybabtu.com>
37120
37121 * Makefile.in (host_os, host_cpu): New variables.
37122 (target_os): Remove. Update all users.
37123
d64399b5 371242009-02-08 Marco Gerards <marco@gnu.org>
37125
37126 * Makefile.in (enable_grub_emu_usb): New variable.
37127 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37128 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37129 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37130 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37131 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37132 `usbtest.mod' and `usbms.mod'.
37133 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37134 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37135 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37136 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37137 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37138 variables.
37139
37140 * disk/usbms.c: New file.
37141
37142 * include/grub/usb.h: Likewise.
37143
37144 * include/grub/usbtrans.h: Likewise.
37145
37146 * include/grub/usbdesc.h: Likewise.
37147
37148 * bus/usb/usbtrans.c: Likewise.
37149
37150 * bus/usb/ohci.c: Likewise.
37151
37152 * bus/usb/uhci.c: Likewise.
37153
37154 * bus/usb/usbhub.c: Likewise.
37155
37156 * bus/usb/usb.c: Likewise.
37157
37158 * commands/usbtest.c: Likewise.
37159
37160 * util/usb.c: Likewise.
50fb7002 37161
d64399b5 37162 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37163
37164 * configure.ac: Test for libusb presence.
50fb7002 37165
d64399b5 37166 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37167
2b40d6bb 371682009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37169
37170 * kern/mm.c: Add more comments.
37171
73a4ce81 371722009-02-08 Robert Millan <rmh@aybabtu.com>
37173
37174 Patch from Javier Martín.
37175 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37176 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37177
f821ce59 371782009-02-08 Robert Millan <rmh@aybabtu.com>
37179
37180 * fs/cpio.c: Split tar functionality to ...
37181 * fs/tar.c: ... here (new file). Update all users.
37182
aebfc4b0 371832009-02-07 Robert Millan <rmh@aybabtu.com>
37184
37185 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37186 backward-incompatible features.
37187
37188 Based on patch from Javier Martín, with some adjustments.
37189
50fb7002 371902009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37191
37192 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37193
0bb5115e 371942009-02-07 Robert Millan <rmh@aybabtu.com>
37195
37196 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37197 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37198 after the RAID stuff.
37199
38a0f8e7 372002009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37201
50fb7002 37202 Fixes problem when running vbetest command as reported by
38a0f8e7 37203 Vladimir Serbinenko <phcoder@gmail.com>.
37204
37205 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37206
3143cc1c 372072009-02-04 Felix Zielcke <fzielcke@z-51.de>
37208
37209 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37210 /dev/md/NpN style mdraid devices.
37211
9cba6fce 372122009-02-03 Felix Zielcke <fzielcke@z-51.de>
37213
37214 * util/unifont2pff.rb: Remove.
37215
e507a2c1 372162009-02-03 Felix Zielcke <fzielcke@z-51.de>
37217
37218 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37219 `#'.
37220
d2c2b4cd 372212009-02-03 Felix Zielcke <fzielcke@z-51.de>
37222
37223 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37224 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37226 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37230
b4315fb0 372312009-02-02 Christian Franke <franke@computer.org>
37232
37233 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37234
de3aa260 372352009-02-01 Felix Zielcke <fzielcke@z-51.de>
37236
7c3ff286 37237 * INSTALL: Note that we now require at least autoconf 2.59 and
37238 that LZO is optional.
de3aa260 37239
825a182b 372402009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37241
37242 Base on patch on bug #24154 created by Tomas Tintera
37243 <trosos@seznam.cz>.
37244
37245 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37246
a69ef770 372472009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37248
7c3ff286 37249 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37250 <bero@arklinux.org>.
37251
37252 * normal/parser.y (script_init): Add missing semicolon.
37253
6fa42fa6 372542009-01-31 Colin D Bennett <colin@gibibit.com>
37255
7c3ff286 37256 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37257 (free_menu_entry_classes): Added.
37258 (grub_normal_menu_addentry): Added class property handling.
37259 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37260 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37261
37262 * normal/menu_viewer.c: New file.
37263
37264 * normal/menu.c (run_menu_entry): Renamed to ...
37265 (grub_menu_execute_entry): ... this and made it as global.
37266 (grub_menu_run): Renamed to ...
37267 (show_text_menu): ... this and made it local.
37268 (show_text_menu): Adapt to new function names.
37269 (grub_normal_terminal_menu_viewer): New global variable.
37270
37271 * include/grub/menu.h: New file.
37272
37273 * include/grub/menu_viewer.h: New file.
37274
37275 * include/grub/normal.h: Added include to grub/menu.h.
37276 (grub_menu_entry): Moved to include/grub/menu.h.
37277 (grub_menu_entry_t): Likewise.
37278 (grub_menu): Likewise.
37279 (grub_menu_t): Likewise.
37280 (grub_normal_terminal_menu_viewer): Added.
37281 (grub_menu_execute_entry): Likewise.
37282 (grub_menu_run): Removed.
37283
37284 * DISTLIST: Added include/grub/menu.h.
37285 Added include/grub/menu_viewer.h.
37286 Added normal/menu_viewer.c.
37287
372882009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37289
37290 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37291 arglist for menutitle arguments.
37292
37293 * normal/main.c (grub_normal_menu_addentry): Likewise.
37294
37295 * normal/parser.y (menuentry): Likewise.
37296
37297 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37298
37299 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37300 (grub_script_create_cmdmenu): Likewise.
37301
37302 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37303
37304 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37305 changes.
37306
37307 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37308
37309 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37310
37311 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37312
37313 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37314
37315 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37316
37317 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37318
56192c23 373192009-01-30 Christian Franke <franke@computer.org>
37320
37321 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37322 in option help text.
37323
d72521b3 373242009-01-27 Pavel Roskin <proski@gnu.org>
37325
37326 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37327
994b5e84 373282009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37329
37330 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37331
37332 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37333
37334 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37335 unregister function.
37336
6a7eab2c 373372009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37338
37339 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37340
37341 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37342
37343 * util/grub-mkfont.c (usage): Fix typo.
37344
37345 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37346
1806b56e 373472009-01-26 Daniel Mierswa <impulze@impulze.org>
37348
3fb18f09 37349 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37350
336e1fb9 37351 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37352
1806b56e 37353 * kern/misc.c (grub_strcasecmp): New function.
37354 (grub_strcasecmp): Use grub_size_t instead of int for length.
37355 Fix return value.
37356 * include/grub/misc.h: Update function prototypes.
37357
580b2a0f 373582009-01-26 Robert Millan <rmh@aybabtu.com>
37359
37360 * configure.ac: Fix cross-compilation check.
ef257b36 37361
d31c24f1 373622009-01-22 Christian Franke <franke@computer.org>
37363
37364 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37365 (precision) digit string. Allow `.format2' without `format1' (width).
37366 Limit input chars for `%s' output to `format2' if specified. This is
37367 compatible with standard printf ().
37368
3138b44c 373692009-01-22 Christian Franke <franke@computer.org>
37370
37371 * disk/ata.c (grub_ata_wait_status): Replace by ...
37372 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37373 other status bits may be invalid while BSY is asserted.
37374 (grub_ata_check_ready): New function.
37375 (grub_ata_cmd): Removed.
37376 (grub_ata_wait_drq): New function.
37377 (grub_ata_strncpy): Remove inline.
37378 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37379 and error check now done by grub_ata_wait_drq ().
37380 (grub_ata_pio_write): Likewise.
37381 (grub_atapi_identify): Set DEV before check for !BSY. Use
37382 grub_ata_wait_drq () to wait for data.
37383 (grub_ata_device_initialize): Add status register check to
37384 detect missing SATA slave devices. Add debug messages.
37385 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37386 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37387 transfer loop by grub_ata_pio_write ().
37388 (grub_ata_identify): Set DEV before check for !BSY. Use
37389 grub_ata_wait_drq () to wait for data.
ef257b36 37390 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37391 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37392 read/write in one loop. Fix invalid command on write. Fix incomplete
37393 command on (size % batch) == 0. Add missing error check after write of
37394 last block. Add debug messages.
37395 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37396
59a64ef6 373972009-01-19 Christian Franke <franke@computer.org>
37398
37399 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37400 (GRUB_ATAPI_IREASON_*): Likewise.
37401 (grub_ata_pio_write): Fix timeout error return.
37402 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37403 (grub_atapi_wait_drq): New function.
37404 (grub_atapi_packet): New parameter `size'.
37405 Use grub_atapi_wait_drq () and direct write instead of
37406 grub_ata_pio_write ().
37407 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37408 reads the number of bytes requested by the device for each DRQ
37409 assertion.
37410 (grub_atapi_write): Remove old implementation, return not
37411 implemented instead.
37412
1cfe20b3 374132009-01-19 Christian Franke <franke@computer.org>
37414
37415 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37416 of 512 to calculate data size.
37417 (grub_scsi_read12): Likewise.
37418 (grub_scsi_write10): Likewise.
37419 (grub_scsi_write12): Likewise.
37420 (grub_scsi_read): Adjust size according to blocksize.
37421 Add checks for invalid blocksize and unaligned transfer.
37422
bee5fe5d 374232009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37424
37425 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37426
ef257b36 37427 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37428 width glyphs.
37429
3e643f8c 374302009-01-19 Robert Millan <rmh@aybabtu.com>
37431
37432 * config.guess: Update to latest version from config git.
37433 * config.sub: Likewise.
37434
4fa80998 374352009-01-17 Felix Zielcke <fzielcke@z-51.de>
37436
37437 * Makefile.in: Change font compilation to use new grub-mkfont instead
37438 of java version.
37439
37440 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37441 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37442 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37443 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37444 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37445 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37446 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37447 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37448 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37449
7086085b 374502009-01-16 Christian Franke <franke@computer.org>
37451
37452 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37453 (enum grub_ata_timeout_milliseconds): New enum.
37454 (grub_ata_wait_status): Add parameter milliseconds.
37455 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37456 recovery from timed-out commands.
37457 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37458 return grub_errno instead of REG_ERROR.
37459 (grub_ata_pio_write): Add parameter milliseconds.
37460 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37461 Pass milliseconds to grub_ata_wait_status () and
37462 grub_ata_pio_read ().
37463 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37464 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37465 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37466 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37467 It is not suitable for device detection, because DEV bit is ignored,
37468 the command may run too long, and not all devices set the signature
37469 properly.
37470 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37471 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37472 Fix device selection, DEV bit must be set first to address the registers
37473 of the correct device.
37474 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37475 grub_ata_pio_read/write ().
37476 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37477 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37478
4a412913 374792009-01-13 Carles Pina i Estany <carles@pina.cat>
37480
37481 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37482
7795c55e 374832009-01-13 Bean <bean123ch@gmail.com>
d913988c 37484
37485 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37486
7795c55e 374872009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37488
37489 * Makefile.in: (enable_grub_mkfont): New variable.
37490 (freetype_cflags): Likewise.
37491 (freetype_libs): Likewise.
37492
37493 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37494 (grub_mkfont_SOURCES): New variable.
37495 (grub_mkfont_CFLAGS): Likewise.
37496 (grub_mkfont_LDFLAGS): Likewise.
37497
37498 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37499 library if `--enable-grub-mkfont' is requested.
37500 (enable_grub_mkfont): New variable.
37501 (freetype_cflags): Likewise.
37502 (freetype_libs): Likewise.
37503
37504 * util/grub-mkfont.c: New file.
37505
093af1fe 375062009-01-12 Christian Franke <franke@computer.org>
37507
37508 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37509 mode check. Fix setting of compat_use[].
37510
f36cc108 375112009-01-10 Robert Millan <rmh@aybabtu.com>
37512
37513 Update a few copyright years which we forgot to do in 2008 (only for
37514 files whose changes made in 2008 were copyright-significant)
37515
37516 * Makefile.in: Add 2008 to Copyright line.
37517 * disk/ieee1275/ofdisk.c: Likewise.
37518 * disk/efi/efidisk.c: Likewise.
37519 * kern/dl.c: Likewise.
37520 * kern/sparc64/ieee1275/init.c: Likewise.
37521 * kern/mm.c: Likewise.
37522 * kern/efi/mm.c: Likewise.
37523 * boot/i386/pc/boot.S: Likewise.
37524 * genfslist.sh: Likewise.
37525 * fs/iso9660.c: Likewise.
37526 * fs/hfs.c: Likewise.
37527 * fs/jfs.c: Likewise.
37528 * fs/minix.c: Likewise.
37529 * fs/ufs.c: Likewise.
37530 * gensymlist.sh.in: Likewise.
37531 * genkernsyms.sh.in: Likewise.
37532 * include/grub/misc.h: Likewise.
37533 * include/grub/types.h: Likewise.
37534 * include/grub/symbol.h: Likewise.
37535 * include/grub/elf.h: Likewise.
37536 * include/grub/kernel.h: Likewise.
37537 * include/grub/disk.h: Likewise.
37538 * include/grub/dl.h: Likewise.
37539 * include/grub/i386/linux.h: Likewise.
37540 * include/grub/i386/pc/biosdisk.h: Likewise.
37541 * include/grub/efi/api.h: Likewise.
37542 * include/grub/efi/pe32.h: Likewise.
37543 * include/grub/util/misc.h: Likewise.
37544 * normal/execute.c: Likewise.
37545 * normal/arg.c: Likewise.
37546 * normal/completion.c: Likewise.
37547 * normal/lexer.c: Likewise.
37548 * normal/parser.y: Likewise.
37549 * normal/misc.c: Likewise.
37550 * commands/i386/pc/vbeinfo.c: Likewise.
37551 * commands/hexdump.c: Likewise.
37552 * commands/terminal.c: Likewise.
37553 * commands/ls.c: Likewise.
37554 * commands/help.c: Likewise.
37555 * partmap/pc.c: Likewise.
37556 * loader/efi/chainloader.c: Likewise.
37557 * loader/multiboot_loader.c: Likewise.
37558 * loader/i386/pc/multiboot2.c: Likewise.
37559 * term/efi/console.c: Likewise.
37560 * term/i386/pc/serial.c: Likewise.
37561 * util/lvm.c: Likewise.
37562 * util/console.c: Likewise.
37563 * util/i386/efi/grub-mkimage.c: Likewise.
37564 * util/raid.c: Likewise.
37565
7f02114b 375662009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37567
37568 * commands/videotest.c: Removed include to grub/machine/memory.h.
37569
37570 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37571 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37572 (video_mod_SOURCES): Removed.
37573 (video_mod_CFLAGS): Likewise.
37574 (video_mod_LDFLAGS): Likewise.
37575 (gfxterm_mod_SOURCES): Likewise.
37576 (gfxterm_mod_CFLAGS): Likewise.
37577 (gfxterm_mod_LDFLAGS): Likewise.
37578 (videotest_mod_SOURCES): Likewise.
37579 (videotest_mod_CFLAGS): Likewise.
37580 (videotest_mod_LDFLAGS): Likewise.
37581 (bitmap_mod_SOURCES): Likewise.
37582 (bitmap_mod_CFLAGS): Likewise.
37583 (bitmap_mod_LDFLAGS): Likewise.
37584 (tga_mod_SOURCES): Likewise.
37585 (tga_mod_CFLAGS): Likewise.
37586 (tga_mod_LDFLAGS): Likewise.
37587 (jpeg_mod_SOURCES): Likewise.
37588 (jpeg_mod_CFLAGS): Likewise.
37589 (jpeg_mod_LDFLAGS): Likewise.
37590 (png_mod_SOURCES): Likewise.
37591 (png_mod_CFLAGS): Likewise.
37592 (png_mod_LDFLAGS): Likewise.
37593
37594 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37595 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37596 (video_mod_SOURCES): Added.
37597 (video_mod_CFLAGS): Likewise.
37598 (video_mod_LDFLAGS): Likewise.
37599 (videotest_mod_SOURCES): Likewise.
37600 (videotest_mod_CFLAGS): Likewise.
37601 (videotest_mod_LDFLAGS): Likewise.
37602 (bitmap_mod_SOURCES): Likewise.
37603 (bitmap_mod_CFLAGS): Likewise.
37604 (bitmap_mod_LDFLAGS): Likewise.
37605 (tga_mod_SOURCES): Likewise.
37606 (tga_mod_CFLAGS): Likewise.
37607 (tga_mod_LDFLAGS): Likewise.
37608 (jpeg_mod_SOURCES): Likewise.
37609 (jpeg_mod_CFLAGS): Likewise.
37610 (jpeg_mod_LDFLAGS): Likewise.
37611 (png_mod_SOURCES): Likewise.
37612 (png_mod_CFLAGS): Likewise.
37613 (png_mod_LDFLAGS): Likewise.
37614 (gfxterm_mod_SOURCES): Likewise.
37615 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37616 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37617
37618 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37619 grub/machine/console.h.
37620
644fff97 376212009-01-04 Jerone Young <jerone@gmail.com>
37622
37623 Make on screen instructions clearer
37624
37625 Based on patch created by Jidanni <jidanni@jidanni.org>
37626
37627 * normal/menu.c: print clearer instructions on the screen
37628
1e901a75 376292009-01-02 Colin D Bennett <colin@gibibit.com>
37630
37631 New font engine.
34c44600 37632
1e901a75 37633 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37634 build system and fixed gfxterm.c to work with different sized fonts.
37635
37636 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37637
1e901a75 37638 * configure: Re-generated.
34c44600 37639
1e901a75 37640 * DISTLIST: Removed font/manager.c.
37641 Added font/font.c.
37642 Added font/font_cmd.c.
34c44600 37643
1e901a75 37644 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37645 compilation.
34c44600 37646
1e901a75 37647 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37648
37649 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37650
37651 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37652
1e901a75 37653 * normal/menu.c: Likewise.
34c44600 37654
1e901a75 37655 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37656 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37657
1e901a75 37658 * include/grub/font.h: Replaced with new file.
34c44600 37659
1e901a75 37660 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37661 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37662 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37663 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37664 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37665 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37666 fg_red, fg_green, fg_blue, fg_alpha.
37667 (grub_video_adapter): Removed blit_glyph.
34c44600 37668 (grub_video_blit_glyph): Removed.
37669
1e901a75 37670 * font/manager.c: Removed file.
34c44600 37671
37672 * font/font.c: New file.
37673
1e901a75 37674 * font/font_cmd.c: Likewise.
34c44600 37675
1e901a75 37676 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37677
1e901a75 37678 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37679 (grub_video_vbe_map_rgba): Likewise.
37680 (grub_video_vbe_unmap_color_int): Likewise.
37681 (grub_video_vbe_blit_glyph): Removed.
37682 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37683
1e901a75 37684 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37685 (get_pixel): Likewise.
34c44600 37686 (set_pixel): Likewise.
37687
1e901a75 37688 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37689
1e901a75 37690 * term/gfxterm.c: Adapted to new font engine.
34c44600 37691
1e901a75 37692 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37693
1e901a75 37694 * term/i386/pc/vga.c: Likewise.
34c44600 37695
1e901a75 37696 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37697
1e901a75 37698 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37699
1e901a75 37700 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37701
1e901a75 37702 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37703
1e901a75 37704 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37705
1e901a75 37706 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37707
1e901a75 37708 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37709
1e901a75 37710 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37711
1e901a75 37712 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37713
37714 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37715
1e901a75 37716 * util/grub-mkconfig_lib.in: Changed font extension.
37717
278922e8 377182008-12-28 Felix Zielcke <fzielcke@z-51.de>
37719
37720 * util/getroot.c (grub_util_get_grub_dev): Add support for
37721 /dev/md/dNNpNN style partitionable mdraid devices.
37722
3ced05cf 377232008-12-12 Alex Smith <alex@alex-smith.me.uk>
37724
37725 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37726 at a time limit of the PXE TFTP API correctly.
37727 (grub_pxefs_close): Likewise.
37728
7fd0ee30 377292008-11-29 Robert Millan <rmh@aybabtu.com>
37730
34c44600 37731 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37732 grub_ata_device_initialize() calls.
37733
34c44600 377342008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37735
37736 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37737 iteration failed.
37738 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37739
89313780 377402008-11-28 Robert Millan <rmh@aybabtu.com>
37741
37742 Fix build on powerpc-ieee1275. Based on patch created by
37743 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37744 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37745 `kern/ieee1275/mmap.c'.
37746 * include/grub/powerpc/ieee1275/memory.h: New file.
37747
15257703 37748 Provide grub-install on coreboot.
37749 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37750 (grub_install_SOURCES): New variable.
37751 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37752 usable on coreboot.
37753
9fc5388a 377542008-11-25 Felix Zielcke <fzielcke@z-51.de>
37755
37756 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37757 to `grub_term_input_t'.
37758 (grub_term_get_current_output): Change return type to
37759 `grub_term_output_t'.
37760
bc3a2f31 377612008-11-22 Robert Millan <rmh@aybabtu.com>
37762
34c44600 37763 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37764 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37765 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37766 grub_vga_text_cls().
37767
80fc88f2 37768 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37769 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37770
cbf36fd3 37771 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37772 to 0x200000 (avoids trouble with some OFW implementations, and matches
37773 with the one in Yaboot).
37774 Reported by Manoel Abranches
37775
73e8e268 377762008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37777
37778 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37779 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37780
73e8e268 37781 * util/grub-mkconfig_lib.in (grub_warn): New function.
37782 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37783 warnings, to obtain consistent formatting.
37784 * util/grub.d/00_header.in: Likewise.
37785 * util/update-grub_lib.in: Likewise.
37786
e94045a1 37787 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37788 Move comment text to `#error' stanza.
e94045a1 37789
79d29fd7 37790 Harmonize ieee1275's grub_available_iterate() with the generic
37791 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37792 build problem on i386-ieee1275):
37793 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37794 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37795 parameter `type'. Update all users of this function.
37796 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37797 `kern/ieee1275/mmap.c'.
37798 * kern/ieee1275/init.c
37799 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37800 with ...
37801 (grub_machine_mmap_iterate): ... this.
37802 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37803 return type to `grub_err_t'. Update all implementations of this
37804 function prototype.
37805 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37806 Likewise.
37807
60d6b16e 37808 Add `lsmmap' command (lists firmware-provided memory map):
37809 * commands/lsmmap.c: New file.
37810 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37811 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37812 variables.
37813 * conf/powerpc-ieee1275.rmk: Likewise.
37814 * conf/i386-coreboot.rmk: Likewise.
37815 * conf/i386-ieee1275.rmk: Likewise.
37816
ebaaf49b 378172008-11-19 Robert Millan <rmh@aybabtu.com>
37818
37819 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37820 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37821 constraints to initrd allocation (based on code from
37822 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37823 for Linux to find it.
ebaaf49b 37824
dfab719f 378252008-11-14 Robert Millan <rmh@aybabtu.com>
37826
37827 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37828 order to cope with duplicate slashes.
37829
10fc3eb9 378302008-11-14 Robert Millan <rmh@aybabtu.com>
37831
37832 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37833 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37834 don't want to mess with lower memory, because it is used in the Linux
37835 loader.
37836
37837 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37838 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37839 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37840 is in our heap (probably as a result of it being corrupted during
2f2a3442 37841 decompression). Add #error instance with comment to explain why this
37842 loader isn't currently usable on PC/BIOS.
10fc3eb9 37843
e2e07847 378442008-11-14 Robert Millan <rmh@aybabtu.com>
37845
37846 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37847 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37848
fe8e8d69 378492008-11-12 Robert Millan <rmh@aybabtu.com>
37850
37851 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37852
37853 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37854 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37855 from here ...
37856 * include/grub/i386/pc/memory.h: ... to here.
37857
976b07d0 378582008-11-12 Robert Millan <rmh@aybabtu.com>
37859
37860 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37861 split).
37862
37863 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37864 (grub_console_cur_color, grub_console_real_putchar)
37865 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37866 (grub_console_setcolorstate, grub_console_setcolor)
37867 (grub_console_getcolor): Move from here ...
37868 * include/grub/i386/vga_common.h: ... to here (new file).
37869
37870 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37871 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37872 `<grub/i386/io.h>'.
37873 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37874 `<grub/i386/vga_common.h>'.
37875
76679cd3 378762008-11-12 Robert Millan <rmh@aybabtu.com>
37877
37878 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37879 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37880 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37881 variables.
37882 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37883 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37884
37885 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37886 grub_console_init() with call to grub_vga_text_init().
37887 (grub_machine_fini): Replace call to
37888 grub_console_fini() with call to grub_vga_text_fini() and
37889 grub_at_keyboard_fini().
37890
37891 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37892 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37893 (grub_console_setcolorstate, grub_console_setcolor)
37894 (grub_console_getcolor): New function prototypes.
37895
37896 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37897 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37898 (grub_vga_text_setcursor): Static-ize.
37899 (grub_vga_text_term): New structure.
37900 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37901
37902 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37903 (grub_console_cur_color, grub_console_standard_color)
37904 (grub_console_normal_color, grub_console_highlight_color)
37905 (map_char, grub_console_putchar, grub_console_getcharwidth)
37906 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37907 (grub_console_getcolor): Move from here ...
37908 * term/i386/vga_common.c: ... to here (same function names).
37909
95b841d3 379102008-11-12 Robert Millan <rmh@aybabtu.com>
37911
37912 Use newly-added Multiboot support in coreboot.
37913
37914 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37915 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37916
37917 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37918 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37919 (codestart): Store the MBI in `startup_multiboot_info' when we're
37920 being loaded using Multiboot.
37921
37922 * kern/i386/coreboot/init.c (grub_machine_init): Move
37923 grub_at_keyboard_init() call to beginning of function (useful for
37924 debugging). Call grub_machine_mmap_init() before attempting to use
37925 grub_machine_mmap_iterate().
37926 (grub_lower_mem, grub_upper_mem): Move from here ...
37927 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37928 here (new file).
37929
37930 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37931 function prototype.
37932
761ca975 379332008-11-12 Robert Millan <rmh@aybabtu.com>
37934
37935 Fix a regression introduced by the at_keyboard.mod split. Because
37936 some terminals are default on some platforms and non-default on
37937 others, the first terminal being registered determines which is
37938 going to be default.
37939
37940 * kern/term.c (grub_term_register_input): If this is the first
37941 terminal being registered, set it as the current one.
37942 (grub_term_register_output): Likewise.
37943
37944 * term/efi/console.c (grub_console_init): Do not call
37945 grub_term_set_current_output() or grub_term_set_current_input().
37946 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37947 * term/i386/pc/console.c (grub_console_init): Likewise.
37948 (grub_console_fini): Do not call grub_term_set_current_input()
37949 (but leave grub_term_set_current_output() to restore text mode).
37950
6c529df7 379512008-11-10 Robert Millan <rmh@aybabtu.com>
37952
37953 * util/grub.d/00_header.in: Add backward compatibility check for
37954 versions of terminal.mod that don't understand `terminal_input' or
37955 `terminal_output'.
37956
132e4113 379572008-11-09 Robert Millan <rmh@aybabtu.com>
37958
37959 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37960 `terminal_input' / `terminal_output', not `terminal'.
37961
ac293d50 379622008-11-08 Robert Millan <rmh@aybabtu.com>
37963
37964 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37965 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37966
0025933a 379672008-11-08 Robert Millan <rmh@aybabtu.com>
37968
37969 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37970 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37971 members. Update all users.
37972 * util/console.c (grub_ncurses_term): Split in ...
37973 (grub_ncurses_term_input): ... this, and ...
37974 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37975 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37976
37c86336 379772008-11-08 Robert Millan <rmh@aybabtu.com>
37978
37979 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37980 (PKGDATA): Add $(pkgdata_SRCDIR).
37981 (pkglib_BUILDDIR): New variable.
37982 (pkgdata_SRCDIR): New variable.
37983 (build_env.mk): New target.
37984 (include_DATA): New variable.
37985 (install-local): Install $(include_DATA) files in $(includedir).
37986
b6c15a2d 379872008-11-07 Pavel Roskin <proski@gnu.org>
37988
d99d46f1 37989 * gendistlist.sh: Use C locale for sorting to ensure consistent
37990 output on all systems.
37991
b6c15a2d 37992 * util/grub.d/00_header.in: Remove incorrect space before
37993 "serial".
37994
c32ee8c9 379952008-11-07 Robert Millan <rmh@aybabtu.com>
37996
37997 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37998 per specification.
37999 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38000 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38001 (based on find_multi_boot1_header).
38002 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38003 using find_multi_boot2_header(), and abort if neither Multiboot or
38004 Multiboot headers were found.
38005
651c29b7 380062008-11-07 Robert Millan <rmh@aybabtu.com>
38007
38008 Modularize at_keyboard.mod:
38009
38010 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38011 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38012 (at_keyboard_mod_LDFLAGS): New variables.
38013
38014 Actual terminal split:
38015
38016 * include/grub/term.h (struct grub_term): Split in ...
38017 (struct grub_term_input): ... this, and ...
38018 (struct grub_term_output): ... this. Update all users.
38019 (grub_term_set_current): Split in ...
38020 (grub_term_set_current_input): ... this, and ...
38021 (grub_term_set_current_output): ... this.
38022 (grub_term_get_current): Split in ...
38023 (grub_term_get_current_input): ... this, and ...
38024 (grub_term_get_current_output): ... this.
38025 (grub_term_register): Split in ...
38026 (grub_term_register_input): ... this, and ...
38027 (grub_term_register_output): ... this.
38028 (grub_term_unregister): Split in ...
38029 (grub_term_unregister_input): ... this, and ...
38030 (grub_term_unregister_output): ... this.
38031 (grub_term_iterate): Split in ...
38032 (grub_term_iterate_input): ... this, and ...
38033 (grub_term_iterate_output): ... this.
38034
38035 * kern/term.c (grub_term_list): Split in ...
38036 (grub_term_list_input): ... this, and ...
38037 (grub_term_list_output): ... this. Update all users.
38038 (grub_cur_term): Split in ...
38039 (grub_cur_term_input): ... this, and ...
38040 (grub_cur_term_output): ... this. Update all users.
38041 (grub_term_set_current): Split in ...
38042 (grub_term_set_current_input): ... this, and ...
38043 (grub_term_set_current_output): ... this.
38044 (grub_term_get_current): Split in ...
38045 (grub_term_get_current_input): ... this, and ...
38046 (grub_term_get_current_output): ... this.
38047 (grub_term_register): Split in ...
38048 (grub_term_register_input): ... this, and ...
38049 (grub_term_register_output): ... this.
38050 (grub_term_unregister): Split in ...
38051 (grub_term_unregister_input): ... this, and ...
38052 (grub_term_unregister_output): ... this.
38053 (grub_term_iterate): Split in ...
38054 (grub_term_iterate_input): ... this, and ...
38055 (grub_term_iterate_output): ... this.
38056
38057 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38058 a check for input and one for output (and only attempt to get keys
38059 from user when input works).
38060
38061 * util/grub-probe.c (grub_term_get_current): Split in ...
38062 (grub_term_get_current_input): ... this, and ...
38063 (grub_term_get_current_output): ... this.
38064 * util/grub-fstest.c: Likewise.
38065 * util/i386/pc/grub-setup.c: Likewise.
38066 * util/grub-editenv.c: Likewise.
38067
38068 Portability adjustments:
38069
38070 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38071 `term/i386/pc/at_keyboard.c'.
38072 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38073 grub_keyboard_controller_init() (now handled by terminal .init).
38074 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38075 grub_at_keyboard_init().
38076 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38077 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38078 at_keyboard.mod via input terminal interface).
38079 * include/grub/i386/coreboot/console.h: Convert into a stub for
38080 `<grub/i386/pc/console.h>'.
38081
38082 Migrate full terminals to new API:
38083
38084 * term/efi/console.c (grub_console_term): Split into ...
38085 (grub_console_term_input): ... this, and ...
38086 (grub_console_term_output): ... this. Update all users.
38087 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38088 (grub_ofconsole_init): Split into ...
38089 (grub_ofconsole_init_input): ... this, and ...
38090 (grub_ofconsole_init_output): ... this.
38091 (grub_ofconsole_term): Split into ...
38092 (grub_ofconsole_term_input): ... this, and ...
38093 (grub_ofconsole_term_output): ... this. Update all users.
38094 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38095 (grub_serial_term_input): ... this, and ...
38096 (grub_serial_term_output): ... this. Update all users.
38097 * term/i386/pc/console.c (grub_console_term): Split into ...
38098 (grub_console_term_input): ... this, and ...
38099 (grub_console_term_output): ... this. Update all users.
38100 (grub_console_term_input): Only enable it on PC/BIOS platform.
38101 (grub_console_init): Remove grub_keyboard_controller_init() call.
38102
38103 Migrate input terminals to new API:
38104
38105 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38106 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38107 i386-specific anyway).
38108 (grub_console_checkkey): Rename to ...
38109 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38110 users.
38111 (grub_keyboard_controller_orig): New variable.
38112 (grub_console_getkey): Rename to ...
38113 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38114 users.
38115 (grub_keyboard_controller_init): Static-ize. Save original
38116 controller value so that it can be restored ...
38117 (grub_keyboard_controller_fini): ... here (new function).
38118 (grub_at_keyboard_term): New structure.
38119 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38120 functions.
38121
38122 Migrate output terminals to new API:
38123
38124 * term/i386/pc/vga.c (grub_vga_term): Change type to
38125 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38126 members. Update all users.
38127 * term/gfxterm.c (grub_video_term): Change type to
38128 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38129 members. Update all users.
38130 * include/grub/i386/pc/console.h (grub_console_checkkey)
38131 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38132 etc).
38133
38134 Migrate `terminal' command and userland tools to new API:
38135
38136 * commands/terminal.c (grub_cmd_terminal): Split into ...
38137 (grub_cmd_terminal_input): ... this, and ...
38138 (grub_cmd_terminal_output): ... this.
38139 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38140 `terminal_input' and `terminal_output'.
38141 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38142 `terminal_input' / `terminal_output' API.
38143 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38144 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38145 provided ${GRUB_TERMINAL}, convert it).
38146
96e5d876 381472008-11-04 Robert Millan <rmh@aybabtu.com>
38148
38149 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38150 for FreeBSD.
38151 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38152
556f3775 381532008-11-03 Bean <bean123ch@gmail.com>
38154
38155 * kern/elf.c (grub_elf32_load): Revert to previous code.
38156 (grub_elf64_load): Likewise.
38157
38158 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38159
926b9823 381602008-11-01 Robert Millan <rmh@aybabtu.com>
38161
38162 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38163 (TARGET_CPPFLAGS): Likewise.
38164 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38165
1432e958 381662008-11-01 Carles Pina i Estany <carles@pina.cat>
38167
38168 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38169
dba3f844 381702008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38171
38172 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38173 addition of objects until the code is not going to be able to fail.
38174
dba3f844 381752008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38176
38177 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38178 (add a missing NULL check, and correct them by moving the pointer
38179 operations after the actual check).
38180
7ab28c21 381812008-10-29 Robert Millan <rmh@aybabtu.com>
38182
38183 * util/i386/pc/grub-install.in: Handle empty string as output from
38184 make_system_path_relative_to_its_root().
38185
1b7748eb 381862008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38187
38188 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38189 circular metadata worst case scenario. If the metadata is circular
38190 then copy the wrap in place.
38191 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38192 project lib/format_text/layout.h
38193 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38194
c9618ab2 381952008-10-03 Felix Zielcke <fzielcke@z-51.de>
38196
7a36edca 38197 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38198
bf981c62 381992008-10-03 Felix Zielcke <fzielcke@z-51.de>
38200
38201 * util/update-grub_lib.in: Mention filename in warning message.
38202
6d994591 382032008-09-29 Felix Zielcke <fzielcke@z-51.de>
38204
38205 * NEWS: Update for rename of update-grub to grub-mkconfig.
38206
18ade780 382072008-09-29 Felix Zielcke <fzielcke@z-51.de>
38208
38209 * util/update-grub_lib.in: Copy to ...
38210 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38211 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38212 * util/update-grub.in: Rename to ...
38213 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38214 option. Add `--output' option to allow users to specify the generated
38215 configuration file. Default to stdout.
38216 (update_grub_dir): Rename to ...
38217 (grub_mkconfig_dir): ... this.
38218 (grub_cfg): Default to an empty string.
38219 * conf/common.rmk (update-grub): Rename to ...
38220 (grub-mkconfig): ... this.
38221 (update-grub_lib): Copy to ...
38222 (grub-mkconfig_lib): ... this.
38223 (update-grub_SCRIPTS): Copy to ...
38224 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38225 (update-grub_DATA): Rename to ...
38226 (grub-mkconfig_DATA): ... this.
38227
556ce6ac 382282008-09-28 Robert Millan <rmh@aybabtu.com>
38229
38230 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38231 to `modified'. Add the real `created' field.
38232 (grub_iso9660_uuid): Use `modified' rather than `created' for
38233 constructing the UUID.
38234
382352008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38236
38237 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38238 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38239
92274e85 382402008-09-28 Bean <bean123ch@gmail.com>
38241
38242 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38243 Thanks to Christian Franke for finding this bug.
38244
add6f17a 382452008-09-25 Robert Millan <rmh@aybabtu.com>
38246
38247 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38248 instances of grub_util_get_disk_name() (see previous commit).
38249
d2a367b8 382502008-09-25 Robert Millan <rmh@aybabtu.com>
38251
38252 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38253 `util/i386/get_disk_name.c'.
38254 * conf/i386-efi.rmk: Likewise.
38255 * conf/x86_64-efi.rmk: Likewise.
38256 * conf/i386-coreboot.rmk: Likewise.
38257 * conf/i386-ieee1275.rmk: Likewise.
38258 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38259 `util/ieee1275/get_disk_name.c'.
38260 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38261 * util/ieee1275/get_disk_name.c: Remove file.
38262 * util/i386/get_disk_name.c: Remove file.
38263 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38264 "hd%d" for device.map entries, rather than using
38265 grub_util_get_disk_name().
38266
81a06771 382672008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38268
38269 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38270 warning.
38271 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38272
5a004279 382732008-09-24 Carles Pina i Estany <carles@pina.cat>
38274
38275 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38276 Changed to 0x5100.
38277 (GRUB_TERM_PPAGE): Changed to 0x4900.
38278
397093d3 382792008-09-24 Robert Millan <rmh@aybabtu.com>
38280
38281 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38282 macros (they were i386-pc specific).
38283 * include/grub/sparc64/ieee1275/console.h: Likewise.
38284 * include/grub/efi/console.h: Likewise.
38285
a91b6c7c 382862008-09-22 Bean <bean123ch@gmail.com>
38287
38288 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38289 resident and in attribute list.
38290
38291 * include/grub/ntfs.h (BMP_LEN): Removed.
38292
c40fd116 382932008-09-22 Bean <bean123ch@gmail.com>
38294
81a06771 38295 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38296 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38297
38298 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38299 error occurs, as grub_disk_open will call grub_disk_close, which will
38300 call p->close (scsi).
38301
81a06771 383022008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38303
38304 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38305 (AC_PREREQ): Bumped to 2.59.
38306 (AC_TRY_COMPILE): Replace obsolete macro with ...
38307 (AC_COMPILE_IFELSE): ... this.
38308 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38309 (AC_LINK_IFELSE): ... this.
38310
5dc43410 383112008-09-21 Felix Zielcke <fzielcke@z-51.de>
38312
38313 * autogen.sh: Add a call to `gendistlist.sh'.
38314
9035dce4 383152008-09-19 Christian Franke <franke@computer.org>
38316
38317 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38318 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38319 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38320 Export __enable_execute_stack() to modules.
38321 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38322 New function.
38323
7fd75377 383242008-09-09 Felix Zielcke <fzielcke@z-51.de>
38325
040030b3 38326 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38327 Sort the list.
38328
383292008-09-09 Felix Zielcke <fzielcke@z-51.de>
38330
38331 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38332 #include <grub/util/hostdisk.h>.
38333
89d5ffcf 383342008-09-08 Robert Millan <rmh@aybabtu.com>
38335
38336 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38337 segments when their filesz is zero (grub_file_read() interprets
81a06771 38338 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38339 Use `lowest_segment' rather than 0 for calculating the current
38340 segment load address.
38341
40da438f 383422008-09-08 Robert Millan <rmh@aybabtu.com>
38343
38344 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38345 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38346 clobbered useful information.
38347
ddbf5556 383482008-09-08 Robert Millan <rmh@aybabtu.com>
38349
38350 * include/grub/util/biosdisk.h: Move to ...
38351 * include/grub/util/hostdisk.h: ... here. Update all users.
38352 * util/biosdisk.c: Move to ...
38353 * util/hostdisk.c: ... here. Update all users.
38354
783d0f48 383552008-09-07 Robert Millan <rmh@aybabtu.com>
38356
38357 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38358 variables.
38359 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38360 and length can be stored directly in the `mbi->mmap_addr' and
38361 `mbi->mmap_length' struct fields.
38362
548e2ea5 383632008-09-07 Robert Millan <rmh@aybabtu.com>
38364
38365 * conf/i386.rmk: New file. Provides declaration for building
38366 `cpuid.mod'.
38367 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38368 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38369 variables.
38370 Include `conf/i386.mk'.
38371 * conf/i386-efi.rmk: Likewise.
38372 * conf/x86_64-efi.rmk: Likewise.
38373 * conf/i386-coreboot.rmk: Likewise.
38374 * conf/i386-ieee1275.rmk: Likewise.
38375
0ea85a37 383762008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38377
38378 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38379 Adds optimization support for BGR based modes.
38380
38381 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38382 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38383 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38384 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38385 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38386 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38387 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38388 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38389 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38390 (grub_video_i386_vbeblit_index_index): Likewise.
38391 (grub_video_i386_vbeblit_replace_directN): Added.
38392 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38393 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38394 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38395 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38396 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38397 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38398 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38399 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38400 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38401 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38402 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38403 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38404 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38405
38406 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38407 (grub_video_i386_vbefill_R8G8B8): Likewise.
38408 (grub_video_i386_vbefill_index): Likewise.
38409 (grub_video_i386_vbefill_direct32): Added.
38410 (grub_video_i386_vbefill_direct24): Likewise.
38411 (grub_video_i386_vbefill_direct16): Likewise.
38412 (grub_video_i386_vbefill_direct8): Likewise.
38413
81a06771 38414 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38415 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38416 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38417 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38418 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38419 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38420
0ea85a37 38421 * video/video.c (grub_video_get_blit_format): Updated to use new
38422 blit formats. Added handling for 16 bit color modes.
81a06771 38423
38424 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38425 fillers.
38426 (common_blitter): Updated to use new blitters.
38427
38428 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38429 Removed.
38430 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38431 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38433 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38434 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38435 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38436 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38437 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38438 (grub_video_i386_vbeblit_index_index): Likewise.
38439 (grub_video_i386_vbeblit_replace_directN): Added.
38440 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38441 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38442 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38443 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38444 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38445 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38446 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38447 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38448 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38449 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38450 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38451 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38452 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38453
0ea85a37 38454 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38455 (grub_video_i386_vbefill_R8G8B8): Likewise.
38456 (grub_video_i386_vbefill_index): Likewise.
38457 (grub_video_i386_vbefill_direct32): Added.
38458 (grub_video_i386_vbefill_direct24): Likewise.
38459 (grub_video_i386_vbefill_direct16): Likewise.
38460 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38461
0ea85a37 38462 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38463 types.
81a06771 38464
0ea85a37 38465 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38466 types.
81a06771 38467
0ea85a37 38468 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38469 blitter types.
81a06771 38470
0ea85a37 38471 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38472 types.
38473
e8a83df6 384742008-09-06 Felix Zielcke <fzielcke@z-51.de>
38475
38476 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38477 RAID level 1.
38478
6bcd8ee5 384792008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38480
6bcd8ee5 38481 * fs/iso9660.c (grub_iso9660_date): New structure.
38482 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38483 (grub_iso9660_uuid): New function.
c375ae58 38484
59261157 384852008-09-05 Bean <bean123ch@gmail.com>
38486
38487 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38488
38489 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38490 insensitive bit for names in Win32 and Win32 & DOS namespace.
38491
38492 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38493
38494 * include/grub/types.h (LONG_MAX): Likewise.
38495
58b6645a 384962008-09-04 Felix Zielcke <fzielcke@z-51.de>
38497
4ee55921 38498 * util/getroot.c: Include <config.h>.
38499 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38500 add support for /dev/md/N devices and handle LVM double dash escaping.
38501
385022008-09-04 Felix Zielcke <fzielcke@z-51.de>
38503
38504 * config.guess: Update to latest version from config git.
38505 * config.sub: Likewise.
58b6645a 38506
9124f65d 385072008-09-03 Robert Millan <rmh@aybabtu.com>
38508
38509 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38510 `disk->total_sectors'.
38511
81a06771 385122008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38513
38514 * include/grub/normal.h: Fixed incorrect comment for
38515 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38516
81a06771 385172008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38518
38519 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38520 values with defines.
38521
38522 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38523 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38524 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38525 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38526 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38527 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38528 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38529 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38530 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38531 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38532 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38533 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38534 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38535 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38536 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38537 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38538 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38539 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38540 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38541
93d5cbf8 385422008-08-31 Robert Millan <rmh@aybabtu.com>
38543
38544 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38545 declaration.
38546 (grub_multiboot): Fix a few warnings.
38547
21751d50 385482008-08-31 Robert Millan <rmh@aybabtu.com>
38549
38550 * loader/i386/pc/multiboot.c: Update comment not to say that
38551 boot_device support is unimplemented.
38552
e27a75c5 385532008-08-31 Robert Millan <rmh@aybabtu.com>
38554
38555 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38556 or memory map support are unimplemented.
38557
81a06771 385582008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38559
38560 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38561
81a06771 385622008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38563
38564 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38565 total video memory in 'vbeinfo' output; show color format details for
38566 each video mode.
38567
7c5d8d95 385682008-08-30 Pavel Roskin <proski@gnu.org>
38569
38570 * util/genmoddep.c: Remove for real this time.
38571 * DISTLIST: Remove util/genmoddep.c.
38572
4cebd25a 385732008-08-30 Robert Millan <rmh@aybabtu.com>
38574
38575 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38576 as required by Multiboot spec (it was already 4-byte aligned, but
38577 only by chance).
38578
b497a269 385792008-08-29 Pavel Roskin <proski@gnu.org>
38580
e3925185 38581 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38582 * kern/powerpc/ieee1275/startup.S: ... this.
38583 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38584 * DISTLIST: Likewise.
38585
b497a269 38586 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38587 grub/cpu/kernel.h. Add start label for consistency with other
38588 platforms. Add grub_prefix immediately after start. Add jump
38589 to the code after grub_prefix.
38590 * include/grub/powerpc/kernel.h: Provide valid values for
38591 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38592
6e5a42fe 385932008-08-29 Bean <bean123ch@gmail.com>
38594
38595 * configure.ac: Change host_os to cygwin for mingw.
38596 (asprintf): New check for function.
38597
38598 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38599 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38600
38601 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38602 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38603 sync, sleep and grub_util_get_disk_size for mingw.
38604
38605 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38606 to get size in mingw.
38607 (open_device): Use flag O_BINARY if it's defined.
38608 (find_root_device): Add dummy code for mingw.
38609
38610 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38611 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38612 (get_scsi_disk_name): Return 0 for mingw.
38613
38614 * util/hostfs.c: #include <grub/util/misc.h>.
38615 (grub_hostfs_open): Use "rb" flag to open file, use
38616 grub_util_get_disk_size to get disk size for mingw.
38617
38618 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38619 (asprintf): New function if HAVE_ASPRINTF is not set.
38620 (sync): New function for mingw.
38621 (sleep): Likewise.
38622 (grub_util_get_disk_size): Likewise.
38623
ab3f2673 386242008-08-28 Pavel Roskin <proski@gnu.org>
38625
38626 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38627 kern/time.c.
38628
1c282483 386292008-08-28 Robert Millan <rmh@aybabtu.com>
38630
38631 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38632
678e849c 386332008-08-28 Robert Millan <rmh@aybabtu.com>
38634
38635 Change find_grub_drive() syntax so it doesn't prevent it from
38636 detecting NULL names as errors.
38637
38638 * util/biosdisk.c (find_grub_drive): Move free slot search code
38639 from here ...
38640 (find_free_slot): ... to here.
38641 (read_device_map): Use find_free_slot() to search for free slots.
38642
965c75ca 386432008-08-27 Marco Gerards <marco@gnu.org>
38644
38645 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38646 (scsi_mod_SOURCES): New variable.
38647 (scsi_mod_CFLAGS): Likewise
38648 (scsi_mod_LDFLAGS): Likewise.
38649
38650 * disk/scsi.c: New file.
38651
38652 * include/grub/scsi.h: Likewise.
38653
38654 * include/grub/scsicmd.h: Likewise.
38655
38656 * disk/ata.c: Include <grub/scsi.h>.
38657 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38658 instead.
38659 (grub_ata_iterate): Skip ATAPI devices.
38660 (grub_ata_open): Only handle ATAPI devices.
38661 (struct grub_atapi_read): Removed.
38662 (grub_atapi_readsector): Likewise.
38663 (grub_ata_read): No longer handle ATAPI devices.
38664 (grub_ata_write): Likewise.
38665 (grub_atapi_iterate): New function.
38666 (grub_atapi_read): Likewise.
38667 (grub_atapi_write): Likewise.
38668 (grub_atapi_open): Likewise.
38669 (grub_atapi_close): Likewise.
38670 (grub_atapi_dev): New variable.
38671 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38672 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38673
38674 * include/grub/disk.h (enum grub_disk_dev_id): Add
38675 `GRUB_DISK_DEVICE_SCSI_ID'.
38676
c07ae501 386772008-08-26 Robert Millan <rmh@aybabtu.com>
38678
38679 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38680 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38681 descriptive.
38682
5ed20adc 386832008-08-23 Bean <bean123ch@gmail.com>
38684
38685 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38686 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38687 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38688 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38689 dm_nv.mod.
38690 (raid5rec_mod_SOURCES): New macro.
38691 (raid5rec_mod_CFLAGS): Likewise.
38692 (raid5rec_mod_LDFLAGS): Likewise.
38693 (raid6rec_mod_SOURCES): Likewise.
38694 (raid6rec_mod_CFLAGS): Likewise.
38695 (raid6rec_mod_LDFLAGS): Likewise.
38696 (mdraid_mod_SOURCES): Likewise.
38697 (mdraid_mod_CFLAGS): Likewise.
38698 (mdraid_mod_LDFLAGS): Likewise.
38699 (dm_nv_mod_SOURCES): Likewise.
38700 (dm_nv_mod_CFLAGS): Likewise.
38701 (dm_nv_mod_LDFLAGS): Likewise.
38702
38703 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38704 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38705 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38706
38707 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38708 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38709
38710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38711
38712 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38713
38714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38715
38716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38717
38718 * disk/raid5_recover.c: New file.
38719
38720 * disk/raid6_recover.c: Likewise.
38721
38722 * disk/mdraid_linux.c: Likewise.
38723
38724 * disk/dmraid_nvidia.c: Likewise.
38725
38726 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38727 ULONG_MAX.
38728
38729 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38730 calculate the size of raid device.
38731 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38732 different layout of raid5.
38733 (grub_raid_scan_device): Remove code specific to mdraid.
38734 (grub_raid_list): New variable.
38735 (free_array): New function.
38736 (grub_raid_register): Likewise.
38737 (grub_raid_unregister): Likewise.
38738 (grub_raid_rescan): Likewise.
38739 (GRUB_MOD_INIT): Don't iterate device here.
38740 (GRUB_MOD_FINI): Use free_array to release resource.
38741
38742 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38743 (grub_raid5_recover_func_t): New function variable type.
38744 (grub_raid6_recover_func_t): Likewise.
38745 (grub_raid5_recover_func): New variable.
38746 (grub_raid6_recover_func): Likewise.
38747 (grub_raid_register): New function.
38748 (grub_raid_unregister): Likewise.
38749 (grub_raid_rescan): Likewise.
38750 (grub_raid_block_xor): Likewise.
38751
38752 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38753 (CMD_CRC): New macro.
38754 (part): Removed.
38755 (read_file): Handle device as well as file.
38756 (cmd_crc): New function.
38757 (fstest): Handle multiple disks.
38758 (options): Remove part, raw and long, add root and diskcount.
38759 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38760 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38761 add handling for the new options, support multiple disks.
38762
38763 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38764
29c18915 387652008-08-23 Bean <bean123ch@gmail.com>
38766
38767 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38768
38769 * genfslist.sh: Ignore kernel.mod.
38770
38771 * genpartmaplist.sh: Likewise.
38772
8415f261 387732008-08-23 Robert Millan <rmh@aybabtu.com>
38774
38775 * util/getroot.c (find_root_device): Skip anything that starts with
38776 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38777
d5a7dc5b 387782008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38779
d5a7dc5b 38780 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38781 * util/grub.d/00_header.in: Allow the administrator to change default
38782 gfxmode via ${GRUB_GFXMODE}.
38783
380cfbb4 387842008-08-21 Felix Zielcke <fzielcke@z-51.de>
38785
38786 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38787
c9baafe7 387882008-08-21 Robert Millan <rmh@aybabtu.com>
38789
38790 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38791 loader.
38792 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38793 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38794
e290bef2 387952008-08-20 Carles Pina i Estany <carles@pina.cat>
38796
38797 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38798 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38799
f9dbfc96 388002008-08-19 Robert Millan <rmh@aybabtu.com>
38801
38802 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38803 (struct grub_virtual_screen): Remove `cursor_color'.
38804 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38805 initialization.
38806 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38807
dd6bd6ab 388082008-08-18 Robert Millan <rmh@aybabtu.com>
38809
38810 Unify (identical) linux_normal.c files.
38811 * loader/i386/efi/linux_normal.c: Move from here ...
38812 * loader/linux_normal.c: ... to here. Update all users.
38813 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38814 * loader/i386/ieee1275/linux_normal.c: Likewise.
38815
7f42f83e 388162008-08-18 Robert Millan <rmh@aybabtu.com>
38817
38818 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38819 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38820 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38821 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38822 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38823 New macros.
38824 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38825 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38826 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38827 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38828 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38829 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38830 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38831 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38832 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38833 portably using grub_getxy().
38834 Replace `-EFI' with `-bzImage' in boot message.
38835
38487ddb 388362008-08-17 Robert Millan <rmh@aybabtu.com>
38837
38838 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38839
deceb3ec 388402008-08-17 Robert Millan <rmh@aybabtu.com>
38841
38842 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38843
38844 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38845 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38846 (grub_machine_mmap_iterate): New function declaration.
38847 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38848 structure.
38849 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38850 macros.
38851
38852 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38853 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38854 Move e820 parsing from here ...
38855 * kern/i386/pc/mmap.c: New file.
38856 (grub_machine_mmap_iterate): ... to here.
38857
38858 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38859 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38860 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38861 (grub_available_iterate): Redeclare to return `void', and redeclare
38862 its hook to use grub_uint64_t as addr and size parameters, and rename
38863 to ...
38864 (grub_machine_mmap_iterate): ... this. Update all users.
38865
38866 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38867 to make it more readable. Rename to ...
38868 (grub_machine_mmap_iterate): ... this.
38869
38870 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38871 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38872 (grub_multiboot): Allocate an extra region after the payload, and fill
38873 it with a Multiboot memory map. Adjust a.out loader to calculate size
38874 with the extra space.
38875 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38876 with the extra space.
38877
f8aa0f43 388782008-08-17 Carles Pina i Estany <carles@pina.cat>
38879
9807deb9 38880 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38881
605f5bb6 388822008-08-17 Felix Zielcke <fzielcke@z-51.de>
38883
38884 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38885 mdate-sh to the list `find' searches for.
38886 * DISTLIST: Regenerated.
38887
210db6c6 388882008-08-16 Felix Zielcke <fzielcke@z-51.de>
38889
38890 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38891 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38892 genmoddep.awk, gensymlist.sh.in.
38893 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38894 * DISTLIST: Regenerated.
48cdbfd4 38895 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38896
1082b929 388972008-08-16 Robert Millan <rmh@aybabtu.com>
38898
38899 * disk/raid.c (grub_raid_init): Handle/report errors set by
38900 grub_device_iterate().
38901 * disk/lvm.c (grub_lvm_init): Likewise.
38902
42ce5170 389032008-08-15 Bean <bean123ch@gmail.com>
38904
38905 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38906 and datehook.mod.
38907 (datetime_mod_SOURCES): New macro.
38908 (datetime_mod_CFLAGS): Likewise.
38909 (datetime_mod_LDFLAGS): Likewise.
38910 (date_mod_SOURCES): Likewise.
38911 (date_mod_CFLAGS): Likewise.
38912 (date_mod_LDFLAGS): Likewise.
38913 (datehook_mod_SOURCES): Likewise.
38914 (datehook_mod_CFLAGS): Likewise.
38915 (datehook_mod_LDFLAGS): Likewise.
38916
38917 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38918 and datehook.mod.
38919 (datetime_mod_SOURCES): New macro.
38920 (datetime_mod_CFLAGS): Likewise.
38921 (datetime_mod_LDFLAGS): Likewise.
38922 (date_mod_SOURCES): Likewise.
38923 (date_mod_CFLAGS): Likewise.
38924 (date_mod_LDFLAGS): Likewise.
38925 (datehook_mod_SOURCES): Likewise.
38926 (datehook_mod_CFLAGS): Likewise.
38927 (datehook_mod_LDFLAGS): Likewise.
38928
38929 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38930 and datehook.mod.
38931 (datetime_mod_SOURCES): New macro.
38932 (datetime_mod_CFLAGS): Likewise.
38933 (datetime_mod_LDFLAGS): Likewise.
38934 (date_mod_SOURCES): Likewise.
38935 (date_mod_CFLAGS): Likewise.
38936 (date_mod_LDFLAGS): Likewise.
38937 (datehook_mod_SOURCES): Likewise.
38938 (datehook_mod_CFLAGS): Likewise.
38939 (datehook_mod_LDFLAGS): Likewise.
38940
38941 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38942 and datehook.mod.
38943 (datetime_mod_SOURCES): New macro.
38944 (datetime_mod_CFLAGS): Likewise.
38945 (datetime_mod_LDFLAGS): Likewise.
38946 (date_mod_SOURCES): Likewise.
38947 (date_mod_CFLAGS): Likewise.
38948 (date_mod_LDFLAGS): Likewise.
38949 (datehook_mod_SOURCES): Likewise.
38950 (datehook_mod_CFLAGS): Likewise.
38951 (datehook_mod_LDFLAGS): Likewise.
38952
38953 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38954 and datehook.mod.
38955 (datetime_mod_SOURCES): New macro.
38956 (datetime_mod_CFLAGS): Likewise.
38957 (datetime_mod_LDFLAGS): Likewise.
38958 (date_mod_SOURCES): Likewise.
38959 (date_mod_CFLAGS): Likewise.
38960 (date_mod_LDFLAGS): Likewise.
38961 (datehook_mod_SOURCES): Likewise.
38962 (datehook_mod_CFLAGS): Likewise.
38963 (datehook_mod_LDFLAGS): Likewise.
38964
38965 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38966
38967 * commands/date.c: New file.
38968
38969 * hook/datehook.c: Likewise.
38970
38971 * include/grub/lib/datetime.h: Likewise.
38972
38973 * include/grub/i386/cmos.h: Likewise.
38974
38975 * lib/datetime.c: Likewise.
38976
38977 * lib/i386/datetime.c: Likewise.
38978
38979 * lib/efi/datetime.c: Likewise.
38980
0e9242da 389812008-08-14 Robert Millan <rmh@aybabtu.com>
38982
38983 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38984 (grub_mkelfimage_SOURCES): New variable.
38985 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38986
38987 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38988 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38989 * conf/powerpc-ieee1275.rmk: Likewise.
38990 * conf/i386-ieee1275.rmk: Likewise.
38991
38992 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38993 * kern/i386/coreboot/init.c: Likewise.
38994
38995 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38996 with `<grub/cpu/kernel.h>'.
38997 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38998 to ...
38999 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39000 * kern/i386/coreboot/startup.S: Likewise.
39001
39002 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39003 (GRUB_MOD_GAP): Remove.
39004 * include/grub/powerpc/kernel.h: New file.
39005 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39006 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39007 * include/grub/i386/kernel.h: New file.
39008 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39009 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39010 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39011
39012 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39013 `grub-mkelfimage'.
39014 Use --directory when invoking grub_mkimage.
39015
39016 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39017 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39018 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39019 and GRUB_KERNEL_CPU_PREFIX.
39020
b86408f8 390212008-08-14 Felix Zielcke <fzielcke@z-51.de>
39022
d5e619ca 39023 * include/grub/err.h (grub_err_printf): New function prototype.
39024 * util/misc.c (grub_err_printf): New function.
39025 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39026 grub_printf.
39027 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39028
7161f0e0 390292008-08-13 Robert Millan <rmh@aybabtu.com>
39030
39031 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39032
a1967522 390332008-08-13 Robert Millan <rmh@aybabtu.com>
39034
39035 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39036 boot entry.
39037
371458b5 390382008-08-12 Robert Millan <rmh@aybabtu.com>
39039
39040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39041 of the relocation code from here ...
39042 (grub_multiboot): ... to here.
39043 (forward_relocator, backward_relocator): Move from here ...
39044 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39045 (grub_multiboot_backward_relocator): ... to here.
39046 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39047 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39048 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39049 (grub_multiboot_forward_relocator_end)
39050 (grub_multiboot_backward_relocator)
39051 (grub_multiboot_backward_relocator_end): New variables.
39052
05f9452b 390532008-08-12 Bean <bean123ch@gmail.com>
39054
39055 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39056
20024ab0 390572008-08-11 Robert Millan <rmh@aybabtu.com>
39058
39059 * kern/i386/linuxbios/startup.S: Move from here ...
39060 * kern/i386/coreboot/startup.S: ... to here.
39061
39062 * kern/i386/linuxbios/init.c: Move from here ...
39063 * kern/i386/coreboot/init.c: ... to here.
39064
39065 * kern/i386/linuxbios/table.c: Move from here ...
39066 * kern/i386/coreboot/mmap.c: ... to here.
39067
39068 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39069
e352e9cd 390702008-08-11 Robert Millan <rmh@aybabtu.com>
39071
39072 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39073 errors. Leave it to the upper layer to handle them.
39074
2d05bc6a 390752008-08-09 Christian Franke <franke@computer.org>
39076
39077 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39078 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39079 Install `grub.d/10_windows' only on Cygwin.
39080 * configure.ac: Add subst of `target_os'.
39081 Check `target_os' also before setting TARGET_OBJ2ELF.
39082 Add `--enable-grub-pe2elf'.
39083
042bd419 390842008-08-08 Robert Millan <rmh@aybabtu.com>
39085
39086 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39087 (grub_last_time): Change type to grub_uint64_t.
39088 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39089 (grub_disk_close): Likewise.
39090
39091 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39092 (run_menu): Migrate code from to using grub_get_time_ms().
39093
39094 * util/misc.c (grub_get_time_ms): New function.
39095
7f280db5 390962008-08-08 Marco Gerards <marco@gnu.org>
39097
39098 * disk/ata.c (grub_ata_regget): Change return type to
39099 `grub_uint8_t'.
39100 (grub_ata_regget2): Likewise.
39101 (grub_ata_wait_status): New function.
39102 (grub_ata_wait_busy): Removed function, updated all users to use
39103 `grub_ata_wait_status'.
39104 (grub_ata_wait_drq): Likewise.
39105 (grub_ata_cmd): New function.
39106 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39107 error handling.
39108 (grub_ata_pio_write): Add error handling.
39109 (grub_atapi_identify): Likewise.
39110 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39111 handling.
39112 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39113 handling. Actually use the detected registers. Reorder the
39114 detection logic such that it is easier to read.
39115 (grub_ata_pciinit): Do not assign the same ID to each controller.
39116 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39117 handling.
39118 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39119
39120 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39121
1fbc5e66 391222008-08-08 Marco Gerards <marco@gnu.org>
39123
39124 * NEWS: Update.
39125
819ce6c0 391262008-08-07 Bean <bean123ch@gmail.com>
39127
39128 * include/grub/x86_64/pci.h: New file.
39129
5c41d44d 391302008-08-07 Christian Franke <franke@computer.org>
39131
39132 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39133 (TIMER2_GATE): Likewise.
39134 (grub_pit_wait): Add enable/disable of the timer2 gate
39135 bit of port 0x61. This fixes a possible infinite loop.
39136
5ebc275d 391372008-08-07 Bean <bean123ch@gmail.com>
39138
39139 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39140 kern/i386/tsc.c and kern/i386/pit.c.
39141
39142 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39143 x86_64 platform.
39144
39145 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39146 <grub/i386/tsc.h>.
39147
39148 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39149
e383b3d0 391502008-08-07 Bean <bean123ch@gmail.com>
39151
39152 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39153
39154 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39155
39156 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39157 multiple inclusion. Add #include <grub/types.h>.
39158
1cbb58ac 391592008-08-06 Christian Franke <franke@computer.org>
39160
39161 * conf/common.rmk: Build and install `10_windows'.
39162 * util/grub.d/10_windows.in: New script.
39163
337f5a1e 391642008-08-06 Pavel Roskin <proski@gnu.org>
39165
39166 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39167
057bc4ac 391682008-08-06 Robert Millan <rmh@aybabtu.com>
39169
39170 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39171 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39172
2b99f123 391732008-08-06 Bean <bean123ch@gmail.com>
39174
39175 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39176 (grub_pxefs_fs_int): Remove dummy definition.
39177 (grub_pxefs_open): Use data->block_size to store the current block
39178 size setting.
39179 (grub_pxefs_read): Use block size stored in data->block_size. As the
39180 value of grub_pxe_blksize can be changed after the file is opened.
39181
9f0234cb 391822008-08-06 Bean <bean123ch@gmail.com>
39183
39184 * fs/i386/pc/pxe.c (curr_file): new variable.
39185 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39186 require the dummy internal file system anymore.
39187 (grub_pxefs_read): Removed.
39188 (grub_pxefs_close): Likewise.
39189 (grub_pxefs_fs_int): Likewise.
39190 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39191 connection when we switch file.
39192 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39193
a55d42e0 391942008-08-06 Robert Millan <rmh@aybabtu.com>
39195
39196 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39197 `halt.mod'.
39198 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39199 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39200
39201 * kern/i386/halt.c: New file.
39202 * kern/i386/reboot.c: Likewise.
39203 * include/grub/i386/reboot.h: Likewise.
39204 * include/grub/i386/halt.h: Likewise.
39205
39206 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39207 Include `<grub/cpu/halt.h>'.
39208 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39209 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39210
39211 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39212 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39213 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39214 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39215 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39216 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39217 from here ...
39218 * include/grub/i386/at_keyboard.h: ... to here.
39219
24371d26 392202008-08-05 Robert Millan <rmh@aybabtu.com>
39221
39222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39223 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39224 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39225 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39226 `kern/generic/millisleep.c'.
39227
39228 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39229 instead of grub_get_rtc().
39230 (grub_tsc_init): Initialize `tsc_boot_time'.
39231
39232 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39233 (grub_machine_init): Use grub_tsc_init() rather than
39234 installing an RTC-based handler via grub_install_get_time_ms().
39235
39236 * kern/i386/pit.c: New file.
39237 * include/grub/i386/pit.h: Likewise.
39238
9e7007b3 392392008-08-05 Bean <bean123ch@gmail.com>
39240
39241 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39242
39243 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39244 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39245 (pxe_mod_SOURCES): New macro.
39246 (pxe_mod_CFLAGS): Likewise.
39247 (pxe_mod_LDFLAGS): Likewise.
39248 (pxecmd_mod_SOURCES): Likewise.
39249 (pxecmd_mod_CFLAGS): Likewise.
39250 (pxecmd_mod_LDFLAGS): Likewise.
39251
39252 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39253 (grub_pxe_call): Likewise.
39254
39255 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39256
39257 * commands/i386/pc/pxecmd.c: New file.
39258
9f0234cb 39259 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39260
39261 * include/grub/i386/pc/pxe.h: Likewise.
39262
6977d49f 392632008-08-05 Bean <bean123ch@gmail.com>
39264
39265 * util/console.c (grub_console_cur_color): New variable.
39266 (grub_console_standard_color): Likewise.
39267 (grub_console_normal_color): Likewise.
39268 (grub_console_highlight_color): Likewise.
39269 (color_map): Likewise.
39270 (use_color): Likewise.
39271 (NUM_COLORS): New macro.
39272 (grub_ncurses_setcolorstate): Handle color properly.
39273 (grub_ncurses_setcolor): Don't change color here, just remember the
39274 settings, color will be set in grub_ncurses_setcolorstate.
39275 (grub_ncurses_getcolor): New function.
39276 (grub_ncurses_init): Initialize color pairs.
39277 (grub_ncurses_term): New member grub_ncurses_getcolor.
39278
9c2ff3ee 392792008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39280
9c2ff3ee 39281 High resolution timer support. Implemented for x86 CPUs using TSC.
39282 Extracted generic grub_millisleep() so it's linked in only as needed.
39283 This requires a Pentium compatible CPU; if the RDTSC instruction is
39284 not supported, then it falls back on the generic grub_get_time_ms()
39285 implementation that uses the machine's RTC.
39286
39287 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39288 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39289 `kern/generic/millisleep.c'.
39290
39291 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39292 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39293
39294 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39295 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39296
39297 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39298
39299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39300 `kern/generic/millisleep.c'.
39301
39302 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39303
39304 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39305
39306 * kern/generic/rtc_get_time_ms.c: New file.
39307
39308 * kern/generic/millisleep.c: New file.
337f5a1e 39309
9c2ff3ee 39310 * kern/misc.c: Don't include
39311 <kern/time.h> anymore.
39312 (grub_millisleep_generic): Removed.
39313
39314 * commands/sleep.c (grub_interruptible_millisleep): Uses
39315 grub_get_time_ms() instead of grub_get_rtc().
39316
39317 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39318 function.
39319 (grub_cpu_is_cpuid_supported): New inline function.
39320 (grub_cpu_is_tsc_supported): New inline function.
39321 (grub_tsc_init): New function prototype.
39322 (grub_tsc_get_time_ms): New function prototype.
39323
39324 * kern/i386/tsc.c (grub_get_time_ms): New file.
39325
39326 * include/grub/time.h: Include <grub/types.h.
39327 (grub_millisleep_generic): Removed.
39328 (grub_get_time_ms): New prototype.
39329 (grub_install_get_time_ms): New prototype.
39330 (grub_rtc_get_time_ms): New prototype.
39331
39332 * kern/time.c (grub_get_time_ms): New function.
39333 (grub_install_get_time_ms): New function.
39334
39335 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39336 <grub/time.h> anymore.
39337 (grub_millisleep): Removed.
39338 (grub_machine_init): Call grub_tsc_init.
39339
39340 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39341 get_time_ms() implementation.
39342
39343 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39344 (ieee1275_get_time_ms): New function.
39345 (grub_machine_init): Install get_time_ms() implementation.
39346
39347 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39348 (grub_machine_init): Call grub_tsc_init().
39349 (grub_millisleep): Removed.
bf06a93f 39350
9c2ff3ee 39351 * kern/ieee1275/init.c (grub_millisleep): Removed.
39352 (grub_machine_init): Install ieee1275_get_time_ms()
39353 implementation.
39354 (ieee1275_get_time_ms): New function.
39355 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39356 real work.
39357
9ec92aaf 393582008-08-05 Marco Gerards <marco@gnu.org>
39359
39360 * disk/ata.c: Include <grub/pci.h>.
39361 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39362 (grub_ata_initialize): Rewritten.
39363 (grub_ata_device_initialize): New function.
39364
8d23f507 393652008-08-04 Pavel Roskin <proski@gnu.org>
39366
39367 * kern/main.c: Include grub/mm.h.
39368
5e15ee3d 393692008-08-04 Robert Millan <rmh@aybabtu.com>
39370
39371 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39372 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39373 corruption problem).
39374
a9053f8f 393752008-08-04 Robert Millan <rmh@aybabtu.com>
39376
39377 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39378 warnings introduced in my last commit.
39379
dd19c7d7 393802008-08-03 Robert Millan <rmh@aybabtu.com>
39381
39382 Make PCI available on all i386 architectures.
39383
39384 * include/grub/i386/pc/pci.h: Move from here ...
39385 * include/grub/i386/pci.h: ... to here.
39386
39387 * include/grub/i386/pc/pci.h: Remove.
39388 * include/grub/i386/efi/pci.h: Remove.
39389 * include/grub/x86_64/efi/pci.h: Remove.
39390
39391 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39392 `<grub/cpu/pci.h>'.
39393
39394 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39395 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39396 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39397
39398 * conf/i386-ieee1275.rmk: Likewise.
39399
e14a6184 394002008-08-03 Robert Millan <rmh@aybabtu.com>
39401
39402 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39403 (grub_console_setcursor): Make it possible to set cursor off.
39404
52768e37 394052008-08-03 Robert Millan <rmh@aybabtu.com>
39406
39407 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39408 of modules instead of assuming which platform provides what.
39409 * util/update-grub.in: Likewise.
39410
2d52f57f 394112008-08-03 Robert Millan <rmh@aybabtu.com>
39412
39413 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39414 instead of `grub_install_dos_part' to determine whether a drive needs
39415 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39416 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39417
2a5cd121 394182008-08-02 Robert Millan <rmh@aybabtu.com>
39419
39420 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39421
93808428 394222008-08-02 Robert Millan <rmh@aybabtu.com>
39423
39424 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39425 of informational grub_dprintf() calls.
39426
3bd0a12a 394272008-08-02 Robert Millan <rmh@aybabtu.com>
39428
39429 * disk/memdisk.c (memdisk_size): Don't initialize.
39430 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39431
39432 * include/grub/i386/pc/kernel.h
39433 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39434 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39435 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39436 (grub_arch_memdisk_size): Remove.
39437
39438 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39439 field (was only used to transfer a constant). Add `type' field to
39440 support multiple module types.
39441 (grub_module_iterate): New function.
39442
39443 * kern/device.c (grub_device_open): Do not hide error messages
39444 when grub_disk_open() fails. Use grub_print_error() instead.
39445
39446 * kern/i386/pc/init.c (grub_arch_modules_addr)
39447 (grub_arch_memdisk_size): Remove functions.
39448 (grub_arch_modules_addr): Return the module address in high memory
39449 (now that it isn't copied anymore).
39450
39451 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39452 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39453 decompression routine (grub_total_module_size already includes that
39454 now). Don't copy modules back to low memory.
39455
39456 * kern/main.c: Include `<grub/mm.h>'.
39457 (grub_load_modules): Split out (and use) ...
39458 (grub_module_iterate): ... this function, which iterates through
39459 module objects and runs a hook.
39460 Comment out grub_mm_init_region() call, as it would cause non-ELF
39461 modules to be overwritten.
39462
39463 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39464 the memdisk image in its own region, make it part of the module list.
39465 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39466 (main): Parse --memdisk|-m option, and pass user-provided path as
39467 parameter to generate_image().
39468 (add_segments): Pass `memdisk_path' down to load_modules().
39469 (load_modules): Embed memdisk image in module section when requested.
39470 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39471 `header.type' instead of `header.offset'.
39472
39473 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39474 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39475 (memdisk_mod_LDFLAGS): New variables.
39476 * conf/i386-coreboot.rmk: Likewise.
39477 * conf/i386-ieee1275.rmk: Likewise.
39478
a927cc73 394792008-08-02 Robert Millan <rmh@aybabtu.com>
39480
39481 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39482 (backward_relocator): New variables. Used to allocate and relocate
39483 the payload, respectively.
39484 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39485 address, install the appropriate relocator code in each bound of
a927cc73 39486 the payload, and set the entry point such that
39487 grub_multiboot_real_boot() will jump to one of them.
39488
39489 * kern/i386/loader.S (grub_multiboot_payload_size)
39490 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39491 (grub_multiboot_payload_entry_offset): New variables.
39492 (grub_multiboot_real_boot): Set cpu context to what the relocator
39493 expects, and jump to the relocator instead of the payload.
39494
39495 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39496 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39497 (grub_multiboot_payload_entry_offset): Export.
39498
b15d8a0c 394992008-08-01 Bean <bean123ch@gmail.com>
39500
39501 * normal/menu_entry.c (editor_getline): Don't return the original
39502 string as result, as it will be released by lexer once it has done
39503 using it.
39504
cdfb3d22 395052008-08-01 Robert Millan <rmh@aybabtu.com>
39506
39507 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39508 within menuentries, not before them.
39509 util/grub.d/10_hurd.in: Likewise.
39510
9175e93d 395112008-08-01 Bean <bean123ch@gmail.com>
39512
39513 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39514 (bufio_mod_SOURCES): New macro.
39515 (bufio_mod_CFLAGS): Likewise.
39516 (bufio_mod_LDFLAGS): Likewise.
39517
39518 * include/grub/bufio.h: New file.
39519
39520 * io/bufio.c: Likewise.
39521
39522 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39523 (grub_video_reader_png): Use grub_buffile_open to open file.
39524
39525 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39526 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39527
39528 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39529 (grub_video_reader_tga): Use grub_buffile_open to open file.
39530
39531 * font/manager.c: Include <grub/bufio.h>.
39532 (add_font): Use grub_buffile_open to open file.
39533
3d8383e7 395342008-07-31 Robert Millan <rmh@aybabtu.com>
39535
39536 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39537 ELF segments, use a macro for arbitrarily accessing any of them instead
39538 of preparing a pointer that allows access to one at a time.
39539 (grub_multiboot_load_elf64): Likewise.
39540
16e641b6 395412008-07-31 Bean <bean123ch@gmail.com>
39542
39543 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39544 GRUB_KERNEL_MACHINE_DATA_END.
39545
59198b72 395462008-07-30 Robert Millan <rmh@aybabtu.com>
39547
39548 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39549 Increase from 0x50 to 0x60.
39550 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39551 use UUIDs to identify the root drive for them. If that's not
39552 possible, abort.
39553 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39554 check, for cross-disk installs.
39555
ae88bca3 395562008-07-30 Robert Millan <rmh@aybabtu.com>
39557
39558 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39559 is non-empty, use it to set the `prefix' environment variable instead
39560 of the usual approach.
39561 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39562 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39563 environment variable instead of dummy make_install_device().
39564
39565 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39566 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39567 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39568
39569 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39570 New variable reference.
39571 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39572 New macro. Defines offset of `grub_prefix' within startup.S (relative
39573 to `start').
39574 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39575 section within startup.S (relative to `start').
39576 * include/grub/i386/coreboot/kernel.h: Likewise.
39577
39578 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39579 Overwrite grub_prefix with its contents, at the beginning of the
39580 first segment.
39581 (main): Understand -p|--prefix.
39582
14f41dd1 395832008-07-30 Robert Millan <rmh@aybabtu.com>
39584
39585 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39586
4ca049a3 395872008-07-30 Robert Millan <rmh@aybabtu.com>
39588
39589 * term/i386/pc/vga_text.c (grub_console_cls): Use
39590 grub_console_gotoxy() to go back to beginning of the screen.
39591 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39592
2921d337 395932008-07-29 Christian Franke <franke@computer.org>
39594
39595 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39596 Add conversion of emulated mount points on Cygwin.
39597
b609876d 395982008-07-29 Christian Franke <franke@computer.org>
39599
39600 * util/update-grub.in: Add a check for admin
39601 group on Cygwin.
39602 Remove old `grub.cfg.new' before creation.
39603 Add `-f' to `mv' to handle the different filesystem
39604 semantics of Windows.
39605
e93e4679 396062008-07-29 Bean <bean123ch@gmail.com>
39607
39608 * normal/main.c (get_line): Fix buffer overflow bug.
39609
41694fd0 396102008-07-28 Robert Millan <rmh@aybabtu.com>
39611
39612 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39613 (struct grub_apple_header): New struct. Describes the layout of
39614 the partmap header.
39615 (apple_partition_map_iterate): Check the header magic as well as the
39616 partition magic (which was already being checked).
39617
cfd0b4e6 396182008-07-28 Pavel Roskin <proski@gnu.org>
39619
39620 * genmk.rb: Add a warning to the beginning of the output that
39621 it's a generated file and should not be edited.
39622
93cce016 396232008-07-28 Robert Millan <rmh@aybabtu.com>
39624
39625 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39626 with the same number are found, just use issue a warning with
39627 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39628
cd1df915 396292008-07-27 Robert Millan <rmh@aybabtu.com>
39630
39631 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39632 information.
39633
b70a8427 396342008-07-27 Bean <bean123ch@gmail.com>
39635
39636 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39637 (grub_fat_find_dir): Ignore case when comparing filename.
39638
8f5e379f 396392008-07-27 Bean <bean123ch@gmail.com>
39640
39641 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39642 smallino, as it's more descriptive, and i8count can be confused with
39643 the other field count.
39644 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39645 inode type.
39646
a85cd5a0 396472008-07-27 Bean <bean123ch@gmail.com>
39648
39649 * commands/crc.c: New file.
39650
39651 * lib/crc.c: Likewise.
39652
39653 * include/grub/lib/crc.h: Likewise.
39654
39655 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39656
39657 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39658 (hexdump): Move this function to ...
39659
39660 * lib/hexdump.c: ... here.
39661
39662 * include/grub/hexdump.h: Renamed to ...
39663
39664 * include/grub/lib/hexdump.h: ... this.
39665
39666 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39667
39668 * util/grub-editenv.c: Likewise.
39669
39670 * include/envblk.h: Renamed to ...
39671
39672 * include/lib/envblk.h: ... this.
39673
39674 * util/envblk.c: Renamed to ...
39675
39676 * lib/envblk.c: ... this.
39677
39678 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39679 lib/hexdump.c.
39680 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39681 (pkglib_MODULES): Add crc.mod.
39682 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39683 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39684 (crc_mod_SOURCES): New macro.
39685 (crc_mod_CFLAGS): Likewise.
39686 (crc_mod_LDFLAGS): Likewise.
39687
39688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39689
39690 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39691
39692 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39693
39694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39695
39696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39697
c298def0 396982008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39699
39700 * commands/help.c: Include <grub/term.h>.
39701 (TERM_WIDTH): Removed. Updated all users.
39702
cc349fb3 397032008-07-27 Pavel Roskin <proski@gnu.org>
39704
39705 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39706 spurious warnings about a comment within a comment.
39707
9051607e 397082008-07-25 Robert Millan <rmh@aybabtu.com>
39709
39710 * util/getroot.c (find_root_device): Skip devices that match
39711 /dev/dm-[0-9]. This lets the real device be found for any type of
39712 abstraction (LVM, EVMS, RAID..).
39713 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39714 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39715 device is found first, find_root_device() will now skip it.
39716
01453bfc 397172008-07-24 Pavel Roskin <proski@gnu.org>
39718
39719 * include/grub/types.h: Use __builtin_bswap32() and
39720 __builtin_bswap64() with gcc 4.3 and newer.
39721
6af9849f 397222008-07-24 Christian Franke <franke@computer.org>
39723
3a0fa256 39724 * util/i386/pc/grub-install.in: If `--debug' is specified,
39725 pass `--verbose' to grub-setup.
39726 Abort script if make_system_path_relative_to_its_root() fails.
39727
7810e747 397282008-07-24 Bean <bean123ch@gmail.com>
39729
39730 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39731 variable `target_platform' should be `platform'.
39732
42290e17 397332008-07-24 Bean <bean123ch@gmail.com>
39734
51cc5193 39735 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39736 (grub_png_init_fixed_block): New function.
39737 (grub_png_decode_image_data): Handle fixed huffman code compression.
39738
2a8a80e4 397392008-07-24 Bean <bean123ch@gmail.com>
39740
39741 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39742 (grub_pe2elf_SOURCES): New macro.
39743 (CLEANFILES): Add grub-pe2elf.
39744
39745 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39746 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39747 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39748 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39749 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39750 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39751 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39752 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39753 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39754 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39755 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39756 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39757 (GRUB_PE32_DT_FUNCTION): Likewise.
39758 (GRUB_PE32_REL_I386_DIR32): Likewise.
39759 (GRUB_PE32_REL_I386_REL32): Likewise.
39760 (grub_pe32_symbol): New structure.
39761 (grub_pe32_reloc): Likewise.
39762
39763 * util/grub-pe2elf.c: New file.
39764
39765 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39766 start symbol in non pc platform.
39767
39768 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39769
39770 The following patches are from Christian Franke.
39771
39772 * include/grub/dl.h: Remove .previous, gas supports this only
39773 for ELF format.
39774
39775 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39776 Remove .type, gas supports this only for ELF format.
39777
39778 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39779 nullbytes in symbol table. This fixes an infinite loop if table is
39780 zero filled.
39781
39782 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39783 TARGET_IMG_LDFLAGS and EXEEXT.
39784
39785 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39786 TARGET_IMG_LDFLAGS_AC.
39787 (grub_CHECK_STACK_ARG_PROBE): New function.
39788
39789 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39790
39791 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39792
39793 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39794 to set TARGET_IMG_LD* accordingly.
39795 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39796 Add call to grub_CHECK_STACK_ARG_PROBE.
39797 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39798
39799 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39800
39801 * genmk.rb: Add EXEEXT to CLEANFILES.
39802
12ccdb75 398032008-07-23 Robert Millan <rmh@aybabtu.com>
39804
39805 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39806 define the codes for arrows and lines used for the menu).
39807 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39808 as well.
39809
39810 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39811 fonts, because the latter are too slow.
39812
18eeaf04 398132008-07-21 Bean <bean123ch@gmail.com>
39814
39815 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39816 a20. Run keyboard test last, as it will cause macbook to halt.
39817
b095e2ad 398182008-07-18 Pavel Roskin <proski@gnu.org>
39819
39820 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39821 load foreign architecture modules correctly anyway. Keep
39822 support for loading host architecture modules, whether we
39823 compile them or not.
39824
737feb35 398252008-07-17 Pavel Roskin <proski@gnu.org>
39826
3f4ce737 39827 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39828 change target_cpu. The compiler default can mismatch target_cpu
39829 in any case.
39830
4ad2d049 39831 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39832 * kern/efi/efi.c: Likewise.
39833
f6130a12 39834 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39835 target compiler is functional.
39836 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39837 are set up.
39838
58393a2d 39839 * configure.ac: Default to efi platform for x86_64-apple. Allow
39840 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39841 adjustments from the rest, only do them if target is not
39842 explicitly given. Merge other adjustments with the final sanity
39843 check. Remove an extraneous check for supported CPU. Be
39844 specific which CPU and which platform is not supported.
39845
737feb35 39846 * configure.ac: Default to pc platform for x86_64.
39847
546f966a 398482008-07-17 Robert Millan <rmh@aybabtu.com>
39849
39850 Partial LinuxBIOS -> Coreboot rename.
39851
39852 * conf/i386-linuxbios.rmk: Renamed to ...
39853 * conf/i386-coreboot.rmk: ... this.
39854 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39855 * configure.ac: Accept "coreboot" as input platform (but maintain
39856 compatibility with "linuxbios").
39857 * include/grub/i386/linuxbios: Renamed to ...
39858 * include/grub/i386/coreboot: ... this.
39859
20011694 398602008-07-17 Bean <bean123ch@gmail.com>
39861
39862 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39863 (appleldr_mod_SOURCE): New variable.
20011694 39864 (appleldr_mod_CFLAGS): Likewise.
39865 (appleldr_mod_LDFLAGS): Likewise.
39866 (pci_mod_SOURCES): Likewise.
39867 (pci_mod_CFLAGS): Likewise.
39868 (pci_mod_LDFLAGS): Likewise.
39869 (lspci_mod_SOURCES): Likewise.
39870 (lspci_mod_CFLAGS): Likewise.
39871 (lspci_mod_LDFLAGS): Likewise.
39872
39873 * conf/x86_64-efi.rmk: New file.
39874
39875 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39876 macro.
39877 (grub_efidisk_write): Likewise.
39878
39879 * include/efi/api.h (efi_call_0): New macro.
39880 (efi_call_1): Likewise.
39881 (efi_call_2): Likewise.
39882 (efi_call_3): Likewise.
39883 (efi_call_4): Likewise.
39884 (efi_call_5): Likewise.
39885 (efi_call_6): Likewise.
39886
39887 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39888 grub_rescue_cmd_chainloader.
39889
39890 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39891 (grub_pe32_optional_header): Change some fields based on i386 or
39892 x86_64 platform.
39893 (GRUB_PE32_PE32_MAGIC): Likewise.
39894
39895 * include/grub/efi/uga_draw.h: New file.
39896
39897 * include/grub/elf.h (STN_ABS): New constant.
39898 (R_X86_64_NONE): Relocation constant for x86_64.
39899 (R_X86_64_64): Likewise.
39900 (R_X86_64_PC32): Likewise.
39901 (R_X86_64_GOT32): Likewise.
39902 (R_X86_64_PLT32): Likewise.
39903 (R_X86_64_COPY): Likewise.
39904 (R_X86_64_GLOB_DAT): Likewise.
39905 (R_X86_64_JUMP_SLOT): Likewise.
39906 (R_X86_64_RELATIVE): Likewise.
39907 (R_X86_64_GOTPCREL): Likewise.
39908 (R_X86_64_32): Likewise.
39909 (R_X86_64_32S): Likewise.
39910 (R_X86_64_16): Likewise.
39911 (R_X86_64_PC16): Likewise.
39912 (R_X86_64_8): Likewise.
39913 (R_X86_64_PC8): Likewise.
39914
39915 * include/grub/i386/efi/pci.h: New file.
39916
39917 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39918 Change it value based on platform.
39919 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39920 (GRUB_E820_RAM): Likewise.
39921 (GRUB_E820_RESERVED): Likewise.
39922 (GRUB_E820_ACPI): Likewise.
39923 (GRUB_E820_NVS): Likewise.
39924 (GRUB_E820_EXEC_CODE): Likewise.
39925 (GRUB_E820_MAX_ENTRY): Likewise.
39926 (grub_e820_mmap): New structure.
39927 (linux_kernel_header): Change the efi field according to different
39928 kernel version, also field from linux_kernel_header.
39929
39930 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39931
39932 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39933 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39934 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39935 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39936 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39937 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39938 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39939 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39940 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39941 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39942
39943 * include/grub/x86_64/efi/kernel.h: New file.
39944
39945 * include/grub/x86_64/efi/loader.h: Likewise.
39946
39947 * include/grub/x86_64/efi/machine.h: Likewise.
39948
39949 * include/grub/x86_64/efi/pci.h: Likewise.
39950
39951 * include/grub/x86_64/efi/time.h: Likewise.
39952
39953 * include/grub/x86_64/linux.h: Likewise.
39954
39955 * include/grub/x86_64/setjmp.h: Likewise.
39956
39957 * include/grub/x86_64/time.h: Likewise.
39958
39959 * include/grub/x86_64/types.h: Likewise.
39960
39961 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39962 GRUB_TARGET_SIZEOF_VOID_P.
39963
39964 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39965 (grub_efi_locate_handle): Likewise.
39966 (grub_efi_open_protocol): Likewise.
39967 (grub_efi_set_text_mode): Likewise.
39968 (grub_efi_stall): Likewise.
39969 (grub_exit): Likewise.
39970 (grub_reboot): Likewise.
39971 (grub_halt): Likewise.
39972 (grub_efi_exit_boot_services): Likewise.
39973 (grub_get_rtc): Likewise.
39974
39975 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39976 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39977 (grub_efi_allocate_pages): Wrap efi calls.
39978 (grub_efi_free_pages): Wrap efi calls.
39979 (grub_efi_get_memory_map): Wrap efi calls.
39980
39981 * kern/x86_64/dl.c: New file.
39982
39983 * kern/x86_64/efi/callwrap.S: Likewise.
39984
39985 * kern/x86_64/efi/startup.S: Likewise.
39986
39987 * loader/efi/appleloader.c: Likewise.
39988
39989 * loader/efi/chainloader.c (cmdline): New variable.
39990 (grub_chainloader_unload): Wrap efi calls.
39991 (grub_chainloader_boot): Likewise.
39992 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39993 command line.
39994
39995 * loader/efi/chainloader_normal.c (chainloader_command):
39996 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39997 command line.
39998
39999 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40000 method.
40001 (grub_e820_add_region): New function.
40002 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40003 booting.
40004 (grub_find_video_card): New function.
40005 (grub_linux_setup_video): New function.
40006 (grub_rescue_cmd_linux): Probe for video information.
40007
40008 * normal/x86_64/setjmp.S: New file.
40009
40010 * term/efi/console.c (map_char): New function.
40011 (grub_console_putchar): Map unicode char.
40012 (grub_console_checkkey): Wrap efi calls.
40013 (grub_console_getkey): Likewise.
40014 (grub_console_getwh): Likewise.
40015 (grub_console_gotoxy): Likewise.
40016 (grub_console_cls): Likewise.
40017 (grub_console_setcolorstate): Likewise.
40018 (grub_console_setcursor): Likewise.
40019
40020 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40021
59652a20 400222008-07-16 Pavel Roskin <proski@gnu.org>
40023
ef294055 40024 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40025 format strings.
40026
59652a20 40027 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40028 pointer, not an integer. This fixes a warning and prevents
40029 precision loss on 64-bit systems.
40030 (relocate_addresses): Remove unneeded cast.
40031
afc3b5d7 400322008-07-15 Pavel Roskin <proski@gnu.org>
40033
506b2b3e 40034 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40035
62ead89c 40036 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40037
c4cd51d7 40038 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40039 Fix comparison between signed and unsigned.
40040
0d3d8f28 40041 * include/grub/i386/ieee1275/console.h: Declare
40042 grub_console_init() and grub_console_fini().
40043
8804b286 40044 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40045 It's empty and unused.
40046
ee01cf35 40047 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40048 beginning to avoid warnings with some compilers.
40049
afc3b5d7 40050 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40051 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40052
e4e8eaa5 400532008-07-14 Pavel Roskin <proski@gnu.org>
40054
407aceb4 40055 * kern/env.c (grub_register_variable_hook): Don't copy empty
40056 string, it leaks memory. Pass "" to grub_env_set(), it should
40057 handle constant strings.
40058
e4e8eaa5 40059 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40060 * commands/cmp.c (grub_cmd_cmp): Likewise.
40061 * kern/dl.c (grub_dl_flush_cache): Likewise.
40062 (grub_dl_load_core): Likewise.
40063 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40064 (grub_elf64_load_phdrs): Likewise.
40065
d4e2dad3 400662008-07-13 Pavel Roskin <proski@gnu.org>
40067
40068 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40069 between signed and unsigned.
40070 (LzmaEnc_Finish): Fix warning about an unused parameter.
40071
aa24b516 400722008-07-13 Bean <bean123ch@gmail.com>
40073
40074 * Makefile.in (enable_lzo): New rule.
40075
40076 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40077
40078 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40079
40080 * boot/i386/pc/lnxboot.S: #include <config.h>.
40081
40082 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40083 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40084
40085 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40086 compression algorithm according to configure macro.
40087
40088 * kern/i386/pc/startup.S (codestart): Likewise.
40089
40090 * kern/i386/pc/lzma_decode.S: New file.
40091
40092 * include/grub/lib/LzFind.h: Likewise.
40093
40094 * include/grub/lib/LzHash.h: Likewise.
40095
40096 * include/grub/lib/LzmaDec.h: Likewise.
40097
40098 * include/grub/lib/LzmaEnc.h: Likewise.
40099
40100 * include/grub/lib/LzmaTypes.h: Likewise.
40101
40102 * lib/LzFind.c: Likewise.
40103
40104 * lib/LzmaDec.c: Likewise.
40105
40106 * lib/LzmaEnc.c: Likewise.
40107
4ae821ac 401082008-07-13 Bean <bean123ch@gmail.com>
40109
40110 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40111 (grub_ext4_extent_header): New structure.
40112 (grub_ext4_extent): Likewise.
40113 (grub_ext4_extent_idx): Likewise.
40114 (grub_ext4_find_leaf): New function.
40115 (grub_ext2_read_block): Handle extents.
40116
9a745147 401172008-07-12 Robert Millan <rmh@aybabtu.com>
40118
40119 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40120
d49a4cf6 401212008-07-11 Robert Millan <rmh@aybabtu.com>
40122
40123 * util/grub.d/40_custom.in: New file. Example on how to add custom
40124 entries to /etc/grub.d.
40125 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40126 40_custom (implicitly, by merging all the grub.d rules).
40127
947414b4 401282008-07-11 Pavel Roskin <proski@gnu.org>
40129
0059cf6f 40130 * commands/read.c (grub_getline): Fix invalid memory access.
40131 Don't add newline to the variable value.
40132
947414b4 40133 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40134 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40135 (serial_hw_get_port): Check validity of the port number.
40136 (grub_cmd_serial): Check return value of serial_hw_get_port().
40137
62a02d00 401382008-07-07 Pavel Roskin <proski@gnu.org>
40139
40140 * boot/i386/pc/diskboot.S (notification_string): Replace
40141 "Loading kernel" with just "loading". This is shorter, less
40142 confusing and saves a few bytes for possible future changes.
40143
3e5581b0 401442008-07-05 Pavel Roskin <proski@gnu.org>
40145
ea387a48 40146 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40147 size for ATAPI devices, they are undefined. Output sector
40148 number in decimal form.
40149
3e5581b0 40150 * disk/ata.c: Use named constants for status bits.
40151
fdecb8fd 401522008-07-04 Pavel Roskin <proski@gnu.org>
40153
bcd35b90 40154 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40155 grub_addr_t before casting it to the void pointer to fix a
40156 warning. Non-addressable regions are discarded earlier.
40157 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40158 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40159 (check_signature): Don't shadow table_header.
40160 (grub_linuxbios_table_iterate): Cast numeric constants to
40161 grub_linuxbios_table_header_t.
40162 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40163 grub_stop().
40164
af58ab3d 40165 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40166 prevent warnings.
40167
1759aa57 40168 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40169 pointer, which can cause warnings. Support 64-bit addresses.
40170
fdecb8fd 40171 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40172 of sizeof(long). This fixes PowerPC image generation on x86_64.
40173
8516d2a8 401742008-07-04 Robert Millan <rmh@aybabtu.com>
40175
40176 This fixes a performance issue when pc & gpt partmap iterators
40177 didn't abort iteration even after our hook found what it was
fe987087 40178 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40179
40180 Some callers relied on previous buggy behaviour, since they would
34c44600 40181 raise an error when their own hooks caused early abortion of its
8516d2a8 40182 iteration.
40183
40184 * kern/device.c (grub_device_open): Improve error message.
40185 * disk/lvm.c (grub_lvm_open): Likewise.
40186 * disk/raid.c (grub_raid_open): Likewise.
40187
40188 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40189 when hook requests it, independently of grub_errno.
40190 (pc_partition_map_probe): Do not fail when find_func() caused
40191 early abortion of pc_partition_map_iterate().
40192
40193 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40194 when hook requests it, independently of grub_errno.
40195 (gpt_partition_map_probe): Do not fail when find_func() caused
40196 early abortion of gpt_partition_map_iterate().
40197
40198 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40199 when hook requests it, independently of grub_errno. Do not fail when
40200 part_map_iterate_hook() caused early abortion of p->iterate().
40201
40202 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40203 when grub_partition_iterate() returned with non-zero.
40204
277d0de9 402052008-07-03 Pavel Roskin <proski@gnu.org>
40206
40207 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40208 like we do in grub_ata_pio_read().
40209 (grub_ata_readwrite): Always write individual sectors. Fix the
40210 sector count for the remainder.
40211 (grub_ata_write): Enable writing to ATA devices. Correctly
40212 report error for ATAPI devices.
40213
d4c9b428 402142008-07-02 Pavel Roskin <proski@gnu.org>
40215
e43fc690 40216 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40217 warning.
40218
f707af42 40219 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40220 for every read sector, we already increment it for the whole
40221 batch. This fixes reading more than 256 sectors at once.
40222
11e16b15 40223 * util/grub-editenv.c (cmd_info): Cast argument to long
40224 explicitly. ptrdiff_t reduces to int on i386.
40225
cbabfdd4 40226 * util/grub-editenv.c (main): Be specific which parameter is
40227 missing.
40228
b8fbce0a 40229 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40230 (memdisk): Make memdisk_orig_addr a pointer.
40231
c9c8e606 40232 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40233 for file offsets, use grub_off_t instead. Fix printf format
40234 warnings.
40235
ca62e598 40236 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40237 there. Real unexpected warnings should not drown in the noise
40238 about known problems.
40239
ce8d1766 40240 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40241 grub_disk_addr_t for memory addresses.
40242
00c7a56a 40243 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40244 explicitly to fix a warning.
40245
08d3ef09 40246 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40247
cb71ba20 40248 * Makefile.in (MODULE_LDFLAGS): New variable.
40249 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40250 the linker accepts --build-id=none.
40251 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40252 MODULE_LDFLAGS.
40253 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40254
d4c9b428 40255 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40256 those in Linux XFS code. Provide a way to access 64-bit parent
40257 inode.
40258 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40259 the end of struct grub_xfs_dir_header.
40260
d4156eee 402612008-07-02 Bean <bean123ch@gmail.com>
40262
40263 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40264 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40265 and GRUB_IEEE1275_FLAG_NO_ANSI.
40266
40267 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40268 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40269 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40270
40271 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40272 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40273
40274 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40275 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40276
40277 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40278 esc sequence on non ANSI terminal.
40279 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40280
40281 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40282 beginning of file.
40283
2270f77b 402842008-07-02 Bean <bean123ch@gmail.com>
40285
40286 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40287 (grub_editenv_SOURCES): New variable.
40288 (pkglib_MODULES): Add loadenv.mod.
40289 (loadenv_mod_SOURCES): New variable.
40290 (loadenv_mod_CFLAGS): Likewise.
40291 (loadenv_mod_LDFLAGS): Likewise.
40292
40293 * include/grub/envblk.h: New file.
40294
40295 * util/envblk.c: New file.
40296
40297 * util/grub-editenv.c: New file.
40298
40299 * commands/loadenv.c: New file.
40300
0e9e51ec 403012008-07-01 Pavel Roskin <proski@gnu.org>
40302
d89b7634 40303 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40304 not unsigned char. This fixes warnings and is consistent with
40305 other tags.
40306
bf1835b1 40307 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40308
8222a04b 40309 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40310
6a42d99d 40311 * term/tparm.c (analyze): Always set *popcount.
40312
10b159d1 40313 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40314 cast to fix a warning.
40315
b8789f6c 40316 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40317 cast to suppress a warning.
40318
29d7e38a 40319 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40320 grub_fshelp_read_file() expects.
40321
f341f669 40322 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40323 write uuid as a 32-bit value in CPU byte order, so declare and
40324 use it as such.
40325
0e9e51ec 40326 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40327 long if the format specifier expects it.
40328 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40329 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40330 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40331 long to fix a warning.
40332 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40333 grub_dprintf() arguments to fix warnings.
40334
3aefa857 403352008-06-30 Pavel Roskin <proski@gnu.org>
40336
56c7668b 40337 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40338 install_bsd_part immediately before core.img is embedded or
40339 modified on disk. This fixes core.img verification if core.img
40340 cannot be embedded.
40341
3aefa857 40342 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40343 core_path to calculate the blocklist.
40344 Patch from Javier Martín <lordhabbit@gmail.com>
40345
5444088d 403462008-06-29 Robert Millan <rmh@aybabtu.com>
40347
40348 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40349 block to disk block.
40350 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40351 Patch from Niels Böhm <bitbucket@arcor.de>
40352
674835c8 403532008-06-29 Robert Millan <rmh@aybabtu.com>
40354
40355 * util/update-grub_lib.in (font_path): Search for fonts in
40356 /boot/grub first, which is more likely to be readable (we aren't
40357 deciding where fonts live, just looking for them).
40358
f527dbc8 403592008-06-26 Pavel Roskin <proski@gnu.org>
40360
6c2d8df6 40361 * util/biosdisk.c (read_device_map): Don't leave dead map
40362 entries for devices failing stat() check.
40363
f527dbc8 40364 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40365 core_path_dev for the core.img path on the target device.
40366
aebe3d13 403672008-06-26 Robert Millan <rmh@aybabtu.com>
40368
40369 * disk/fs_uuid.c: New file.
40370 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40371 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40372 (fs_uuid_mod_LDFLAGS): New variables.
40373 * include/grub/disk.h (grub_disk_dev_id): Add
40374 `GRUB_DISK_DEVICE_UUID_ID'.
40375 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40376 implement iterate().
40377
37aaf354 403782008-06-26 Robert Millan <rmh@aybabtu.com>
40379
40380 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40381 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40382 Linux image includes no initrd.
40383
25ff262a 403842008-06-21 Javier Martín <lordhabbit@gmail.com>
40385
40386 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40387 call to resolve the core image location that effectively appended the
40388 name twice.
40389
76a2bd44 403902008-06-21 Robert Millan <rmh@aybabtu.com>
40391
40392 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40393 call from here ...
40394
40395 * util/grub.d/10_hurd.in: ... to here ...
40396 * util/grub.d/10_linux.in: ... and here.
40397
650e1c79 403982008-06-19 Robert Millan <rmh@aybabtu.com>
40399
fe987087 40400 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40401 after it has been set by grub_machine_set_prefix().
40402
6ce63911 404032008-06-19 Robert Millan <rmh@aybabtu.com>
40404
40405 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40406 search result when not saving to variable, not the other way around.
40407 When saving to variable, abort iteration as soon as a match is found.
40408
73940cec 404092008-06-19 Robert Millan <rmh@aybabtu.com>
40410
40411 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40412 check for partition that provides /boot/grub. Its logic is flawed,
40413 as it prevents prepare_grub_to_access_device() from being called
40414 multiple times.
40415
3c62a39d 404162008-06-19 Robert Millan <rmh@aybabtu.com>
40417
40418 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40419 "insmod" command directly when abstraction modules are needed,
fe987087 40420 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40421 since it had already been processed).
40422
47395a42 404232008-06-19 Pavel Roskin <proski@gnu.org>
40424
40425 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40426 changed. This is needed in case GRUB_LIBDIR changes.
40427 * conf/i386-ieee1275.rmk: Likewise.
40428 * conf/i386-linuxbios.rmk: Likewise.
40429 * conf/i386-pc.rmk: Likewise.
40430 * conf/powerpc-ieee1275.rmk: Likewise.
40431
a145ac2d 404322008-06-18 Pavel Roskin <proski@gnu.org>
40433
40434 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40435 kernel_elf_symlist.c to symlist.c for consistency with other
40436 architectures. Update all users.
40437 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40438
7847c51e 404392008-06-18 Robert Millan <rmh@aybabtu.com>
40440
40441 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40442 it in prefix.
40443
40444 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40445 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40446 a RAID device, run setup() for all members independently on whether
40447 LVM abstraction is being used.
40448 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40449 If grub-mkimage has set `*install_dos_part == -2', don't override this
40450 value.
40451 Perform *install_dos_part adjustments independently on whether
40452 we're embedding or not.
40453 Clarify error message when image is too big for embedding.
40454 Remove duplicate *install_dos_part stanza.
40455
b23e5644 404562008-06-17 Robert Millan <rmh@aybabtu.com>
40457
40458 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40459 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40460 variables.
40461 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40462 values in grub_ofconsole_normal_color and
40463 grub_ofconsole_highlight_color (they're not directly related to
40464 background and foreground).
40465 (grub_ofconsole_setcolorstate): Extract background and foreground
40466 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40467
0aac2f79 404682008-06-17 Robert Millan <rmh@aybabtu.com>
40469
40470 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40471 /boot/grub for the check in last commit, not /boot (they could be
40472 different partitions).
40473
3cca7ef3 404742008-06-16 Robert Millan <rmh@aybabtu.com>
40475
40476 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40477 asked to setup access for the same partition that provides /boot,
40478 don't bother using UUIDs since our root already has the value we
40479 want.
40480
347396d8 404812008-06-16 Robert Millan <rmh@aybabtu.com>
40482
40483 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40484 I2O devices.
40485 Patch from Sven Mueller <sven@debian.org>.
40486
991477f8 404872008-06-16 Robert Millan <rmh@aybabtu.com>
40488
40489 * util/update-grub.in: Check for $EUID instead of $UID.
40490 Reported by Vincent Zweije.
40491
d31a32a1 404922008-06-16 Bean <bean123ch@gmail.com>
40493
fe987087 40494 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40495 (grub_ext2_read_block): Likewise.
40496 (grub_ext2_read_inode): Likewise.
40497 (grub_ext2_mount): Likewise.
40498 (grub_ext2_close): Likewise.
40499 (grub_ext3_get_journal): Removed.
40500
fe987087 40501 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40502 (grub_reiserfs_read_symlink): Likewise.
40503 (grub_reiserfs_mount): Likewise.
40504 (grub_reiserfs_open): Likewise.
40505 (grub_reiserfs_read): Likewise.
40506 (grub_reiserfs_close): Likewise.
40507 (grub_reiserfs_get_journal): Removed.
40508
40509 * fs/fshelp.c (grub_fshelp_read): Removed.
40510 (grub_fshelp_map_block): Likewise.
40511
40512 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40513 (grub_fshelp_journal): Likewise.
40514 (grub_fshelp_read): Likewise.
40515 (grub_fshelp_map_block): Likewise.
40516
3540a760 405172008-06-16 Pavel Roskin <proski@gnu.org>
40518
40519 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40520 floating point anymore.
40521 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40522
95614c84 405232008-06-15 Pavel Roskin <proski@gnu.org>
40524
40525 * commands/ls.c (grub_ls_list_files): Use integer calculations
40526 for human readable format, avoid floating point use.
40527 * kern/misc.c (grub_ftoa): Remove.
40528 (grub_vsprintf): Remove floating point support.
40529
50465dd6 405302008-06-15 Robert Millan <rmh@aybabtu.com>
40531
fe6b695a 40532 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40533 devices.
40534 Reported by Max Vozeler.
40535
a9207284 405362008-06-15 Robert Millan <rmh@aybabtu.com>
40537
40538 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40539 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40540 skipped later.
40541 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40542 the beginning of the prefix.
40543
40544 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40545 It is assumed that if we have a memdisk, grub-mkimage has set
40546 grub_prefix to include the "(memdisk)" drive in it.
40547
a7cbd45a 405482008-06-15 Robert Millan <rmh@aybabtu.com>
40549
40550 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40551 Initialize keyboard controller after registering the terminal, so that
40552 grub_printf() can be called from grub_keyboard_controller_init().
40553
21cf716a 405542008-06-15 Robert Millan <rmh@aybabtu.com>
40555
40556 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40557 extent-btree which is written as big endian on disk.
40558 Reported by Alain Greppin <al@chilibi.org>.
40559
23a64d8e 405602008-06-14 Robert Millan <rmh@aybabtu.com>
40561
40562 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40563 * util/i386/pc/grub-install.in (modules): Likewise.
40564
d687651c 405652008-06-13 Pavel Roskin <proski@gnu.org>
40566
40567 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40568
dfe9ddd4 405692008-06-13 Bean <bean123ch@gmail.com>
40570
40571 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40572
40573 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40574
40575 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40576 to indicate sparse block.
40577
16ae7781 405782008-06-12 Pavel Roskin <proski@gnu.org>
40579
e6d1a308 40580 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40581 number, grub_fshelp_read() does it for us.
40582
16ae7781 40583 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40584 linear disk read with journal translation.
40585 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40586 * include/grub/fshelp.h: Declare grub_fshelp_read().
40587
40fd3a2b 405882008-06-09 Pavel Roskin <proski@gnu.org>
40589
40590 * fs/minix.c (grub_minix_mount): Handle error reading
40591 superblock.
40592
f5679726 405932008-06-08 Robert Millan <rmh@aybabtu.com>
40594
40595 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40596 don't append the RAID prefix afterwards.
40597 Reported by Clint Adams.
40598
ce525529 405992008-06-08 Robert Millan <rmh@aybabtu.com>
40600
40601 Based on description from Pavel:
40602 * kern/disk.c (grub_disk_check_range): Rename to ...
40603 (grub_disk_adjust_range): ... this. Add a comment explaining the
40604 tasks performed by this function.
40605
ad4936a0 406062008-06-08 Robert Millan <rmh@aybabtu.com>
40607
40608 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40609 `num_serial' (for consistency with other variables).
40610 (struct grub_ntfs_data): Add `uuid' member.
40611 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40612 (grub_ntfs_uuid): New function.
40613 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40614
dc20b0f9 406152008-06-07 Pavel Roskin <proski@gnu.org>
40616
40617 * util/biosdisk.c (open_device): Revert last change to the
40618 function, it broke installation. The sector needs to be
40619 different dependent on which device is opened.
40620
c5e3cfba 406212008-06-06 Robert Millan <rmh@aybabtu.com>
40622
40623 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40624 rest of GRUB, and breakage doesn't happen if its value were modified.
40625
40626 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40627 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40628 a constant (same value).
40629 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40630 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40631
26a1f8c4 406322008-06-06 Robert Millan <rmh@aybabtu.com>
40633
40634 * util/biosdisk.c (open_device): Do not modify sector offset when
40635 accessing a partition. kern/disk.c already handles this for us.
40636
25d6b327 406372008-06-06 Robert Millan <rmh@aybabtu.com>
40638
40639 * util/grub-emu.c (grub_machine_init): Move code in this function from
40640 here ...
40641 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40642 segfault in case grub_printf() is called).
40643
40644 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40645 grub_probe. Update all users not to explicitly add it again.
40646 (grub_device): New variable; contains corresponding device for grubdir.
40647 (fs_module, partmap_module, devabstraction_module): Pass
40648 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40649 every time.
40650
9ece62fb 406512008-06-05 Robert Millan <rmh@aybabtu.com>
40652
40653 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40654 is found, print it (same layout as with labels).
40655
1ad36d37 406562008-06-04 Robert Millan <rmh@aybabtu.com>
40657
40658 * util/biosdisk.c (get_drive): Rename to ...
40659 (find_grub_drive): ... this. Update all users.
40660
40661 (get_os_disk): Rename to ...
40662 (convert_system_partition_to_system_disk): ... this. Update all users.
40663
40664 (find_drive): Rename to ...
40665 (find_system_device): ... this. Update all users.
40666
e6a30859 406672008-06-04 Robert Millan <rmh@aybabtu.com>
40668
40669 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40670 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40671 (make_device_map): Likewise.
40672
00c108a4 406732008-06-01 Robert Millan <rmh@aybabtu.com>
40674
40675 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40676 before dereferencing it.
40677
40678 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40679 union with fat12/fat16-specific ones. Add some new fields, including
40680 `num_serial' for both versions.
40681 (struct grub_fat_data): Add `uuid' member.
40682 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40683 names. Initialize `data->uuid' using `num_serial'.
40684 (grub_fat_uuid): New function.
40685 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40686
40687 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40688 (grub_reiserfs_uuid): New function.
40689 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40690 member.
40691
40692 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40693 (grub_xfs_uuid): New function.
40694 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40695
1385c5bb 406962008-06-01 Robert Millan <rmh@aybabtu.com>
40697
40698 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40699 code that is backward compatible with pre-uuid search command.
40700
c682dfd7 407012008-05-31 Robert Millan <rmh@aybabtu.com>
40702
40703 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40704 floppies after everything else, to ensure floppy drive isn't accessed
40705 unnecessarily (patch from Bean).
40706
b7db5d47 407072008-05-31 Robert Millan <rmh@aybabtu.com>
40708
40709 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40710 not print device names when we were asked to set a variable.
40711
6e037aa9 407122008-05-31 Robert Millan <rmh@aybabtu.com>
40713
40714 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40715 using "cursor-on" and "cursor-off" commands (understood at least by
40716 the Open Firmware flavour on OLPC).
40717
41305bc8 407182008-05-31 Michael Gorven <michael@gorven.za.net>
40719
40720 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40721 on and off sequences.
40722
69ba137e 407232008-05-31 Robert Millan <rmh@aybabtu.com>
40724
40725 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40726 * util/update-grub.in: Likewise.
40727
520ae21b 407282008-05-30 Pavel Roskin <proski@gnu.org>
40729
40730 * util/biosdisk.c (linux_find_partition): Simplify logic and
40731 make the code more universal. Keep special processing for
40732 devfs, but use a simple rule for all other devices. If the
40733 device ends with a number, append 'p' and the partition number.
40734 Otherwise, append only the partition number.
40735
5786569b 407362008-05-30 Robert Millan <rmh@aybabtu.com>
40737
40738 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40739 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40740 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40741 the `root' parameter to Linux.
40742
51500452 407432008-05-30 Robert Millan <rmh@aybabtu.com>
40744
40745 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40746 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40747 --fs_uuid with --fs-uuid.
40748 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40749 all filesystems support them).
40750
811d3878 407512008-05-30 Robert Millan <rmh@aybabtu.com>
40752
40753 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40754 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40755
cab63c95 407562008-05-30 Robert Millan <rmh@aybabtu.com>
40757
40758 * util/grub.d/00_header.in: Remove obsolete comment referencing
40759 convert_system_path_to_grub_path().
40760 * util/update-grub.in: Likewise.
40761 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40762 (convert_system_path_to_grub_path): Add a warning message explaining
40763 that this function is deprecated. Rely on is_path_readable_by_grub()
40764 for the readability checks.
40765 (font_path): Use is_path_readable_by_grub() for the readability
40766 check rather than convert_system_path_to_grub_path().
40767
972e2f7a 407682008-05-30 Robert Millan <rmh@aybabtu.com>
40769
40770 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40771 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40772 converting it first.
40773 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40774 grub.cfg for access to font file, and afterwards call it again to set
40775 the root device.
40776
62191274 407772008-05-30 Robert Millan <rmh@aybabtu.com>
40778
40779 * commands/search.c (options): Add --fs_uuid option.
40780 (search_fs_uuid): New function.
40781 (grub_cmd_search): Fix --set argument passing.
40782 Use search_fs_uuid() when requested via --fs_uuid.
40783 (grub_search_init): Update help message.
40784 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40785 and redeclare it as an array of 16-bit words.
40786 (grub_ext2_uuid): New function.
40787 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40788 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40789 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40790 (GRUB_DEVICE_BOOT_UUID): New variables.
40791 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40792 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40793 whenever possible.
40794 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40795 just assume `root' variable has the right value.
40796 * util/grub.d/10_linux.in: Likewise.
40797 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40798 via PRINT_FS_UUID.
40799 (main): Recognise `-t fs_uuid' argument.
40800
01b73ec8 408012008-05-30 Robert Millan <rmh@aybabtu.com>
40802
40803 * util/biosdisk.c (map): Redefine structure to hold information
40804 about GRUB drive name.
fe6b695a 40805 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40806 drive names.
40807 (call_hook): Remove.
40808 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40809 member. Assume drive has partitions.
40810 (grub_util_biosdisk_open): Access device names via `.device' struct
40811 member.
40812 (open_device): Likewise.
40813 (find_drive): Likewise.
40814 (read_device_map): Adjust map[] usage to match the new struct
40815 definition. Don't check for duplicates (still possible, but not cheap
40816 anymore).
40817 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40818 (make_device_name): Remove assumption of BIOS-like drive names.
40819
22f16596 408202008-05-30 Pavel Roskin <proski@gnu.org>
40821
40822 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40823 compiling execute.c doesn't need grub_script.tab.h anymore.
40824 (normal/command.c_DEPENDENCIES): Likewise.
40825 (normal/function.c_DEPENDENCIES): Likewise.
40826 * conf/i386-ieee1275.rmk: Likewise.
40827 * conf/i386-linuxbios.rmk: Likewise.
40828 * conf/i386-pc.rmk: Likewise.
40829 * conf/powerpc-ieee1275.rmk: Likewise.
40830 * conf/sparc64-ieee1275.rmk: Likewise.
40831
528ad8f2 408322008-05-29 Pavel Roskin <proski@gnu.org>
40833
d1dff95d 40834 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40835 when scanning metadata for volume group name.
40836
528ad8f2 40837 * include/grub/script.h: Don't include grub_script.tab.h. It's
40838 a generated file, which may only be included from the files with
40839 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40840 use union YYSTYPE, as the later allows forward declaration.
40841 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40842
47248e08 408432008-05-29 Robert Millan <rmh@aybabtu.com>
40844
40845 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40846 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40847 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40848 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40849 scan codes.
40850
ee632529 408512008-05-29 Robert Millan <rmh@aybabtu.com>
40852
40853 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40854 control key combinations.
40855
eee96e08 408562008-05-29 Robert Millan <rmh@aybabtu.com>
40857
40858 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40859 * util/ieee1275/grub-install.in: ... to here.
40860 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40861 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40862 (grub_install_SOURCES): Likewise.
40863
da9a6a94 408642008-05-29 Robert Millan <rmh@aybabtu.com>
40865
40866 * fs/affs.c: Update copyright year.
40867 * fs/ext2.c: Likewise.
40868 * fs/fshelp.c: Likewise.
40869 * fs/hfsplus.c: Likewise.
40870 * fs/ntfs.c: Likewise.
40871 * fs/xfs.c: Likewise.
40872 * include/grub/fshelp.h: Likewise.
40873 * util/grub-mkdevicemap.c: Likewise.
40874
12e65f3a 408752008-05-28 Robert Millan <rmh@aybabtu.com>
40876
40877 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40878 might need to be fatfs to support some firmware implementations
40879 (e.g. OFW or EFI).
40880
23023641 408812008-05-28 Robert Millan <rmh@aybabtu.com>
40882
40883 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40884 devices.
40885 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40886 (make_device_map): Likewise.
40887
887d2619 408882008-05-20 Bean <bean123ch@gmail.com>
40889
40890 * fs/fshelp.c (grub_fshelp_map_block): New function.
40891 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40892 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40893
40894 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40895 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40896 (grub_fshelp_journal): New structure.
40897 (grub_fshelp_map_block): New function prototype.
40898 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40899 (grub_fshelp_map_block): Likewise.
40900
40901 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40902 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40903 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40904 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40905 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40906 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40907 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40908 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40909 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40910 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40911 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40912 (grub_ext2_sblock): New members for journal support.
40913 (grub_ext3_journal_header): New structure.
40914 (grub_ext3_journal_revoke_header): Likewise.
40915 (grub_ext3_journal_block_tag): Likewise.
40916 (grub_ext3_journal_sblock): Likewise.
40917 (grub_fshelp_node): New members logfile and journal.
40918 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40919 grub_fshelp_map_block to get real block number.
40920 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40921 number.
40922 (grub_ext2_read_inode): Likewise.
40923 (grub_ext3_get_journal): New function.
40924 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40925 (grub_ext2_close): Release memory used by journal.
40926
40927 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40928 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40929 (grub_reiserfs_transaction_header): Renamed to
40930 grub_reiserfs_description_block, replace field data with real_blocks.
40931 (grub_reiserfs_commit_block): New structure.
40932 (grub_reiserfs_data): New member journal.
40933 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40934 number.
40935 (grub_reiserfs_read_symlink): Likewise.
40936 (grub_reiserfs_iterate_dir): Likewise.
40937 (grub_reiserfs_open): Likewise.
40938 (grub_reiserfs_read): Likewise.
40939 (grub_reiserfs_get_journal): New function.
40940 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40941 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40942 using grub_reiserfs_get_journal.
40943 (grub_reiserfs_close): Release memory used by journal.
40944
40945 * fs/affs.c (grub_affs_read_block): Change block type to
40946 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40947
40948 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40949
40950 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40951
40952 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40953
40954 * fs/udf.c (grub_udf_read_block): Change block type to
40955 grub_disk_addr_t. Use type cast to avoid warning.
40956
40957 * fs/xfs.c (grub_xfs_read_block): Likewise.
40958
b7c6bed5 409592008-05-16 Christian Franke <franke@computer.org>
40960
40961 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40962 to ensure that break with ESC will always work.
40963 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40964 Remove ESC from keyboard queue.
40965
eedf167f 409662008-05-16 Christian Franke <franke@computer.org>
40967
40968 * util/biosdisk.c: [__CYGWIN__] Add includes.
40969 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40970 (get_os_disk): Move variable declarations to OS specific
40971 parts to avoid warning.
40972 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40973 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40974 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40975 Cygwin.
40976 * util/getroot.c: [__CYGWIN__] Add includes.
40977 (strip_extra_slashes): Fix "/" case.
40978 [__CYGWIN__] (get_win32_path): New function.
40979 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40980 [__CYGWIN__] (find_root_device): Disable.
40981 [__CYGWIN__] (get_bootsec_serial): New function.
40982 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40983 [__linux__] (grub_guess_root_device): Add early returns to simplify
40984 structure.
40985 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40986 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40987 check for Linux only.
40988
a079699e 409892008-05-15 Bean <bean123ch@gmail.com>
40990
40991 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40992 keyboard hang problem in apple's intel mac.
40993
1cf4059a 409942008-05-09 Robert Millan <rmh@aybabtu.com>
40995
40996 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40997 devices.
40998 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40999 (make_device_map): Likewise.
41000 Reported by Aurelien Jarno <aurel32@debian.org>
41001
ed759390 410022008-05-07 Ian Campbell <ijc@hellion.org.uk>
41003
41004 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41005 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41006 (make_device_map): Output entries for xvd type disks.
41007
b56c4eaa 410082008-05-07 Robert Millan <rmh@aybabtu.com>
41009
41010 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41011 devices.
41012 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41013 (make_device_map): Likewise.
41014 Reported by Roland Dreier <rdreier@cisco.com>
41015
7f8866ed 410162008-05-07 Robert Millan <rmh@aybabtu.com>
41017
41018 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41019 grub_strstr() call. Correct a few mistakes in failure path handling.
41020
b0346e0f 410212008-05-06 Robert Millan <rmh@aybabtu.com>
41022
41023 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41024 Do not print a trailing slash (therefore, the root directory is an
41025 empty string).
41026 (convert_system_path_to_grub_path): Do not remove trailing slash
41027 from make_system_path_relative_to_its_root() output.
41028
41029 * util/i386/pc/grub-install.in: Add trailing slash to output from
41030 make_system_path_relative_to_its_root().
41031
6cf12cbd 410322008-05-06 Robert Millan <rmh@aybabtu.com>
41033
41034 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41035 ensures that output lines aren't intermangled with those sent to
41036 stderr (via grub_util_info()).
41037 * util/grub-probe.c (grub_refresh): Likewise.
41038 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41039
0fbb3117 410402008-05-05 Christian Franke <franke@computer.org>
41041
41042 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41043 Add Cygwin device names.
41044 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41045 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41046 (check_device): Return error instead of success on empty name.
41047 (make_device_map): Move label inside linux specific code to
41048 prevent compiler warning.
41049
8124cdb7 410502008-04-30 Robert Millan <rmh@aybabtu.com>
41051
41052 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41053 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41054 first boot option.
41055 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41056
094c01d0 410572008-04-29 Robert Millan <rmh@aybabtu.com>
41058
41059 * docs/grub.cfg: New file (example GRUB configuration).
41060
f4b1fc02 410612008-04-26 Robert Millan <rmh@aybabtu.com>
41062
329ce2a5 41063 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41064 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41065 and `disk/ieee1275/nand.c'.
f4b1fc02 41066
25f16ec1 410672008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41068
25f16ec1 41069 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41070 i386-linuxbios.
41071
41072 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41073 change the buffer size to 4096 for cdrom device.
41074
41075 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41076 and nand.mod.
41077 (_linux_mod_SOURCES): New variable.
41078 (_linux_mod_CFLAGS): Likewise.
41079 (_linux_mod_LDFLAGS): Likewise.
41080 (linux_mod_SOURCES): Likewise.
41081 (linux_mod_CFLAGS): Likewise.
41082 (linux_mod_LDFLAGS): Likewise.
41083 (nand_mod_SOURCES): Likewise.
41084 (nand_mod_CFLAGS): Likewise.
41085 (nand_mod_LDFLAGS): Likewise.
41086
41087 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41088 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41089 type property. (nand device in olpc don't have this property)
41090
41091 * include/grub/disk.h (grub_disk_dev_id): New macro
41092 GRUB_DISK_DEVICE_NAND_ID.
41093
41094 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41095 function prototype.
41096 (grub_rescue_cmd_initrd): Likewise.
41097
41098 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41099 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41100 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41101
25f16ec1 41102 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41103 GRUB_MACHINE_IEEE1275 is defined.
41104
41105 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41106 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41107
41108 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41109 on nested function heap_init.
41110 (grub_upper_mem): New variable for i386-ieee1275.
41111 (grub_get_extended_memory): New function for i386-ieee1275.
41112 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41113
41114 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41115 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41116 property.
f19dbdb7 41117
25f16ec1 41118 * loader/i386/ieee1275/linux.c: New file.
41119
41120 * loader/i386/ieee1275/linux_normal.c: New file.
41121
41122 * disk/ieee1275/nand.c: New file.
41123
e89d61e9 411242008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41125
41126 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41127 value.
41128 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41129
602566f6 411302008-04-18 Robert Millan <rmh@aybabtu.com>
41131
41132 Restructures early code path on ieee1275 to unify grub_main() as
41133 the first C function that is executed in every platform.
41134
41135 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41136 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41137 cmain().
41138 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41139 * kern/ieee1275/cmain.c (cmain): Rename to ...
41140 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41141 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41142 at the beginning.
41143
57490c2b 411442008-04-18 Robert Millan <rmh@aybabtu.com>
41145
41146 * util/update-grub.in: Fix syntax error when setting
41147 `GRUB_PRELOAD_MODULES'.
41148 Reported by Stephane Chazelas <stephane@artesyncp.com>
41149
1977517d 411502008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41151
41152 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41153 section into account, newer toolchains generate unique build ids
41154 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41155 we want build ids to be preserved
1977517d 41156 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41157 far from other sections don't cause the raw binary images grow
41158 size
41159
bfb1f1a2 411602008-04-15 Robert Millan <rmh@aybabtu.com>
41161
41162 * disk/lvm.c: Update copyright year.
41163 * kern/misc.c: Likewise.
41164
01979850 411652008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41166
41167 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41168 there is no memory left for physical volume name.
01979850 41169
0a1150e2 411702008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41171
41172 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41173 volume name mapping to support bigger than 9 character names properly.
41174
82ead3fe 411752008-04-13 Robert Millan <rmh@aybabtu.com>
41176
41177 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41178 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41179
e54a72f5 411802008-04-13 Christian Franke <franke@computer.org>
41181
41182 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41183 to create a floppy emulation boot CD when non emulation mode
41184 does not work.
41185 Enable Joliet CD filesystem extension.
41186
9fe86034 411872008-04-13 Robert Millan <rmh@aybabtu.com>
41188
41189 * kern/misc.c (grub_strncat): Fix off-by-one error.
41190 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41191
41192 * kern/env.c (grub_env_context_close): Clear current context, not
41193 previous one.
41194 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41195
41196 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41197
7ceeee39 411982008-04-13 Robert Millan <rmh@aybabtu.com>
41199
41200 Improve robustness when handling LVM.
41201
41202 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41203 (and leave `*p' unmodified).
7ceeee39 41204 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41205 through it.
41206 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41207 iterating through it.
41208 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41209 through it.
fe6b695a 41210 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41211 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41212 Don't assume `vg->pvs != NULL' when iterating through it.
41213
58cd3d85 412142008-04-13 Robert Millan <rmh@aybabtu.com>
41215
41216 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41217 * genmk.rb (partmap): New variable.
41218 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41219 (#{partmap}): New target rule.
41220 * genpartmaplist.sh: New file.
41221 * Makefile.in (pkglib_DATA): Add partmap.lst.
41222 (partmap.lst): New target rule.
41223 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41224 modules (including all partition maps), instead of preloading them.
41225
78b51059 412262007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41227
41228 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41229 `linux-boot-prober' (if installed) to detect other operating
41230 systems which are installed on the computer and add them to
41231 the boot menu.
41232 * conf/common.rmk: Build and install 30_os-prober.
41233
a91627b4 412342008-04-12 Robert Millan <rmh@aybabtu.com>
41235
41236 * kern/powerpc/ieee1275/init.c: Move from here ...
41237 * kern/ieee1275/init.c: ... to here. Update all users.
41238
41239 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41240 * kern/ieee1275/cmain.c: ... to here. Update all users.
41241
41242 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41243 * kern/ieee1275/openfw.c: ... to here. Update all users.
41244
41245 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41246 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41247
322562ea 412482008-04-10 Pavel Roskin <proski@gnu.org>
41249
41250 * configure.ac: Always use "_cv_" in cache variables for
41251 compatibility with Autoconf 2.62.
41252
a02a73c5 412532008-04-07 Robert Millan <rmh@aybabtu.com>
41254
41255 Revert grub/machine/init.h addition by Pavel (since it breaks on
41256 i386-ieee1275 and others):
41257 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41258 * util/powerpc/ieee1275/misc.c: Likewise.
41259
25c024b1 412602008-04-07 Robert Millan <rmh@aybabtu.com>
41261
41262 * util/grub-probe.c (probe): Improve error message.
41263
3cbd2f98 412642008-04-07 Robert Millan <rmh@aybabtu.com>
41265
41266 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41267 (this prevents the presence of a bogus entry from ruining the whole
41268 thing).
41269
87a297bf 412702008-04-06 Pavel Roskin <proski@gnu.org>
41271
36747a62 41272 * util/biosdisk.c: Include grub/util/biosdisk.h.
41273 * util/grub-fstest.c (execute_command): Make static.
41274 * util/grub-mkdevicemap.c (check_device): Likewise.
41275 * util/i386/pc/misc.c: Include grub/machine/init.h.
41276 * util/powerpc/ieee1275/misc.c: Likewise.
41277 * util/lvm.c: Include grub/util/lvm.h.
41278 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41279 grub/cache.h.
41280 * util/raid.c: Include grub/util/raid.h.
41281 (grub_util_getdiskname): Make static.
41282
87a297bf 41283 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41284 grub_hostfs_fini(), as they are called from grub_init_all() and
41285 grub_fini_all() respectively. This fixes an infinite loop in
41286 grub-fstest due to double registration of hostfs.
41287 Reported by Christian Franke <Christian.Franke@t-online.de>
41288
f6ce7629 412892008-04-05 Pavel Roskin <proski@gnu.org>
41290
41291 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41292 all 8 functions. Otherwise, probe function 0 only.
41293
070e49e4 412942008-04-04 Pavel Roskin <proski@gnu.org>
41295
8b088a4c 41296 * commands/lspci.c (grub_lspci_iter): Print the bus number
41297 correctly.
41298
4f657021 41299 * commands/lspci.c (grub_pci_classes): Fix typos.
41300 (grub_lspci_iter): Don't print func twice. Print vendor ID
41301 before device ID, as it's normally done.
41302
070e49e4 41303 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41304 Fix signedness warnings.
41305 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41306 Likewise.
41307 * util/ieee1275/get_disk_name.c: Include config.h so that
41308 _GNU_SOURCE is defined and getline() is declared. Mark an
41309 unused argument as such. Fix a signedness warning.
41310
ba7328dc 413112008-04-02 Pavel Roskin <proski@gnu.org>
41312
26887f22 41313 * genkernsyms.sh.in: Use more robust assignments for CC and
41314 srcdir. Quote srcdir.
41315 * gensymlist.sh.in: Likewise. Assert at the compile time that
41316 the symbol table is not empty.
41317
ba7328dc 41318 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41319 * fs/cpio.c (grub_cpio_read): Likewise.
41320
0f582c6b 413212008-04-01 Pavel Roskin <proski@gnu.org>
41322
4b6e1995 41323 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41324 * disk/host.c (grub_host_open): Likewise.
41325 * disk/loopback.c (grub_loopback_open): Likewise.
41326 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41327 disk->id as in disk/host.c, not a multi-character constant.
41328
828a2768 41329 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41330 later is obsolete, potentially dangerous and sets a bad example.
41331 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41332 * util/misc.c (grub_util_get_image_size): Likewise.
41333
2bb4fb47 41334 * disk/loopback.c (options): Improve help for "--partitions".
41335
0f582c6b 41336 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41337 options to align them with the short options, e.g. "echo -e".
41338
a33224e0 413392008-03-31 Bean <bean123ch@gmail.com>
41340
41341 * video/reader/png.c (grub_png_data): New member is_16bit and
41342 image_data.
41343 (grub_png_decode_image_header): Detect 16 bit png image.
41344 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41345 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41346 (grub_video_reader_png): Release memory occupied by image_data.
41347
41348 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41349 4096 bytes.
41350 (grub_nfs_mount): Skip the test for sector per cluster.
41351
41352 * include/grub/ntfs.h (MAX_SPC): Removed.
41353
86cb4f54 413542008-03-31 Bean <bean123ch@gmail.com>
41355
41356 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41357 (grub_probe_SOURCES): Add fs/afs.c.
41358 (grub_fstest_SOURCES): Likewise.
41359 (afs_mod_SOURCES): New variable.
41360 (afs_mod_CFLAGS): Likewise.
41361 (afs_mod_LDFLAGS): Likewise.
41362
41363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41364 (grub_emu_SOURCES): Likewise.
41365
41366 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41367
41368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41369
41370 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41371
41372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41373
41374 * fs/afs.c: New file.
41375
17c74c21 413762008-03-30 Pavel Roskin <proski@gnu.org>
41377
4cb68e89 41378 * disk/host.c: Include grub/misc.h to fix a warning.
41379 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41380 warnings about implicit declarations.
41381
8790bb04 41382 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41383 variable.
41384 * include/grub/i386/loader.h: Change declaration of
41385 grub_linux_boot() to match what grub_loader_set() expects.
41386 * util/getroot.c (grub_guess_root_device): Return const char* to
41387 fix a warning.
41388 * util/grub-probe.c (probe): Fix a warning about uninitialized
41389 abstraction_name variable.
41390 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41391 second argument as unused to fix a warning.
41392
9a3f3296 41393 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41394 missing grub_error() call.
41395
0ecef90d 41396 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41397 2.60 and newer uses it to define datadir.
41398
0bf6d401 41399 * commands/sleep.c: Fix warning about implicit declaration.
41400 * disk/memdisk.c: Likewise.
41401 * loader/aout.c: Likewise.
41402 * loader/i386/bsd_normal.c: Likewise.
41403 * util/grub-probe.c: Likewise.
41404
7cdacf97 41405 * commands/i386/cpuid.c (has_longmode): Make static.
41406 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41407 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41408
17c74c21 41409 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41410 GDT. This is more robust, as %ds can change.
41411 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41412 calling real_to_prot().
41413 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41414
80a3e68b 414152008-03-28 Pavel Roskin <proski@gnu.org>
41416
41417 * kern/i386/pc/startup.S: Assert that uncompressed functions
41418 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41419 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41420 code, as they push parts of the code (error handlers) beyond
41421 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41422 code as correctness and size.
41423
77bcd272 414242008-03-28 Pavel Roskin <proski@gnu.org>
41425
41426 * kern/i386/pc/startup.S
41427 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41428 data block address to the real mode, keep offset minimal. This
41429 works around a bug in AWARD BIOS on old Athlon systems, which
41430 makes CD detection hang.
41431
c5dfd43b 414322008-03-26 Pavel Roskin <proski@gnu.org>
41433
41434 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41435 const.
41436 * include/grub/normal.h: Add grub_parse_color_name_pair()
41437 declaration.
41438
bf962df2 414392008-03-24 Bean <bean123ch@gmail.com>
41440
41441 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41442 (cd_count): Removed.
41443 (cd_drive): New variable.
41444 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41445 (grub_biosdisk_call_hook): Likewise.
41446 (grub_biosdisk_iterate): Change cdrom detection method.
41447 (grub_biosdisk_open): Replace cd_start with cd_drive.
41448 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41449 detect cdrom device.
41450
41451 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41452 Removed.
41453 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41454 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41455 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41456 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41457 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41458 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41459 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41460 (grub_biosdisk_cdrp): New structure.
41461 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41462
41463 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41464
41465 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41466 device.
41467
41468 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41469 New function.
41470
68e7fc7a 414712008-03-20 Robert Millan <rmh@aybabtu.com>
41472
41473 Remove 2 TiB limit in ata.mod.
41474 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41475 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41476 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41477 grub_uint64_t instead of grub_uint32_t.
41478
38ad2cf5 414792008-03-05 Bean <bean123ch@gmail.com>
41480
41481 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41482 (grub_multiboot): Set boot device.
41483
41484 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41485
2b89344e 414862008-03-02 Bean <bean123ch@gmail.com>
41487
41488 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41489 symlink_buffer.
41490
87a95d1f 414912008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41492
41493 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41494 texinfo.tex.
41495
41496 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41497 modified.
41498
41499 * docs/fdl.texi: New file.
f19dbdb7 41500
87a95d1f 41501 * docs/mdate-sh: New file. Copied from gnulib.
41502 * docs/texinfo.tex: Likewise.
41503
41504 * config.guess: Updated from gnulib.
41505 * install-sh: Likewise.
41506
7dc15d8e 415072008-02-28 Robert Millan <rmh@aybabtu.com>
41508
41509 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41510 (aout_mod_SOURCES): New variable.
41511 (aout_mod_CFLAGS): Likewise.
41512 (aout_mod_LDFLAGS): Likewise.
41513
41514 * conf/i386-ieee1275.rmk: Likewise.
41515
b00ab696 415162008-02-28 Robert Millan <rmh@aybabtu.com>
41517
41518 * util/update-grub.in: Reorganise terminal validity check. Accept
41519 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41520 Based on suggestion by Franklin PIAT.
41521
79ca2d78 415222008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41523
41524 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41525 function.
41526 * util/getroot.c (grub_util_check_block_device): New function that
41527 returns the given argument if it is a block device and returns NULL else.
41528 * util/grub-probe.c (argument_is_device): New variable.
41529 (probe): Promote device_name from a variable to an argument. Receive
41530 device_name from grub_util_check_block_device() if path is NULL and from
41531 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41532 (options): Introduce new parameter '-d, --device'.
79ca2d78 41533 (main): Add description of the new parameter to the help screen.
41534 Rename path variable to argument. Set argument_is_device if the '-d'
41535 option is given. Pass argument to probe() depending on
41536 argument_is_device.
41537
0d16e571 415382008-02-24 Bean <bean123ch@gmail.com>
41539
41540 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41541 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41542 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41543 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41544 (GRUB_ISO9660_VOLDESC_END): Likewise.
41545 (grub_iso9660_primary_voldesc): New member escape.
41546 (grub_iso9660_data): New member joliet.
41547 (grub_iso9660_convert_string): New function.
41548 (grub_iso9660_mount): Detect joliet extension.
41549 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41550 (grub_iso9660_iso9660_label): Likewise.
41551
41552 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41553 (grub_setup_SOURCES): Add fs/udf.c.
41554 (grub_fstest_SOURCES): Likewise.
41555 (udf_mod_SOURCES): New variable.
41556 (udf_mod_CFLAGS): Likewise.
41557 (udf_mod_LDFLAGS): Likewise.
41558
41559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41560 (grub_emu_SOURCES): Likewise.
41561
41562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41563
41564 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41565
41566 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41567
41568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41569
41570 * fs/udf.c: New file.
41571
8a594a17 415722008-02-24 Robert Millan <rmh@aybabtu.com>
41573
41574 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41575 (normal/lexer.c_DEPENDENCIES): New variables.
41576 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41577 (normal/lexer.c_DEPENDENCIES): Likewise.
41578 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41579 (normal/lexer.c_DEPENDENCIES): Likewise.
41580 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41581 (normal/lexer.c_DEPENDENCIES): Likewise.
41582 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41583 (normal/lexer.c_DEPENDENCIES): Likewise.
41584 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41585 (normal/lexer.c_DEPENDENCIES): Likewise.
41586
2dc33c03 415872008-02-23 Robert Millan <rmh@aybabtu.com>
41588
41589 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41590 since they were intended to be in hex. This didn't break previously
41591 because of a bug in gpt_partition_map_iterate() (see below).
41592
41593 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41594 when checking the validity of GPT header.
41595 Remove `partno', since it always provides the same information as `i'.
41596
f6f4cfb0 415972008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41598
41599 * include/grub/efi/time.h: Fix a wrong comment.
41600
79ff665f 416012008-02-19 Pavel Roskin <proski@gnu.org>
41602
41603 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41604 message.
41605
d38e24c2 416062008-02-19 Bean <bean123ch@gmail.com>
41607
41608 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41609 (aout_mod_SOURCES): New variable.
41610 (aout_mod_CFLAGS): Likewise.
41611 (aout_mod_LDFLAGS): Likewise.
41612 (_bsd_mod_SOURCES): New variable.
41613 (_bsd_mod_CFLAGS): Likewise.
41614 (_bsd_mod_LDFLAGS): Likewise.
41615 (bsd_mod_SOURCES): New variable.
41616 (bsd_mod_CFLAGS): Likewise.
41617 (bsd_mod_LDFLAGS): Likewise.
41618
41619 * include/grub/aout.h: New file.
41620
41621 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41622
41623 * include/grub/i386/bsd.h: New file.
41624
41625 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41626 to make it public.
41627
41628 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41629 function is called, so that it's possible to change it inside the hook.
41630 (grub_elf64_load): Likewise.
41631 (grub_elf_file): Don't close the file if elf header is not found.
41632 (grub_elf_close): Close the file if grub_elf_file fails (The new
41633 grub_elf_file won't close it).
41634 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41635 (grub_elf64_size): Likewise.
41636
41637 * kern/i386/loader.S (grub_unix_real_boot): New function.
41638
41639 * loader/aout.c: New file.
41640
41641 * loader/i386/bsd.c: New file.
41642
41643 * loader/i386/bsd_normal.c: New file.
41644
41645 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41646
41647 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41648 can test other formats.
d38e24c2 41649
b93bdb0f 416502008-02-19 Robert Millan <rmh@aybabtu.com>
41651
41652 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41653 (grub_gpt_partition_type_empty): Redefine with macro from
41654 `<grub/gpt_partition.h>'.
41655 (gpt_partition_map_iterate): Adjust partition type comparison.
41656
41657 Export `entry' as partmap-specific `part.data' struct.
41658 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41659
41660 * include/grub/gpt_partition.h (grub_gpt_header)
41661 (grub_gpt_partentry): ... to here (new file).
41662
41663 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41664
41665 (grub_gpt_partition_type_bios_boot): New const variable, defined
41666 with macro from `<grub/gpt_partition.h>'.
41667
41668 (setup): Replace `first_start' with `embed_region', which keeps
41669 track of the embed region (and is partmap-agnostic).
41670
41671 Replace find_first_partition_start() with find_usable_region(),
41672 which finds a usable region for embedding using partmap-specific
41673 knowledge (supports PC/MSDOS and GPT).
41674
41675 Fix all assumptions that the embed region start at sector 1, using
41676 `embed_region.start' from now on. Similarly, use `embed_region.end'
41677 rather than `first_start' to calculate available size.
41678
41679 In grub_util_info() message, replace "into after the MBR" with an
41680 indication of the specific sector our embed region starts at.
41681
66cb40f6 416822008-02-19 Robert Millan <rmh@aybabtu.com>
41683
41684 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41685 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41686 `commands/reboot.c'.
41687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41688 (halt_mod_SOURCES): Likewise.
41689 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41690 (halt_mod_SOURCES): Likewise.
41691
b7202015 416922008-02-17 Christian Franke <franke@computer.org>
41693
41694 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41695
32b0fc49 416962008-02-17 Robert Millan <rmh@aybabtu.com>
41697
41698 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41699 set `first_start' to 0 for non-PC/MSDOS partition maps.
41700
aca63502 417012008-02-16 Robert Millan <rmh@aybabtu.com>
41702
41703 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41704 do not assume partition map is PC/MSDOS before performing checks that
41705 are specific to that layout.
41706
0de8be86 417072008-02-13 Robert Millan <rmh@aybabtu.com>
41708
41709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41710 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41711 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41712
c3db8364 417132008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41714
41715 * configure.ac: Only a cosmetic change on the handling of
41716 -fno-stack-protector.
41717
f714229e 417182008-02-12 Alexandre Boeglin <alex@boeglin.org>
41719
c3db8364 41720 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41721 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41722 reboot.c.
f714229e 41723 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41724 (halt_mod_SOURCES): New variable.
41725 (halt_mod_CFLAGS): Likewise.
41726 (halt_mod_LDFLAGS): Likewise.
41727 (reboot_mod_SOURCES): Likewise.
41728 (reboot_mod_CFLAGS): Likewise.
41729 (reboot_mod_LDFLAGS): Likewise.
41730
c3db8364 41731 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41732 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41733 reboot.c.
f714229e 41734 (halt_mod_SOURCES): Likewise.
41735 (reboot_mod_SOURCES): Likewise.
41736
c3db8364 41737 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41738 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41739 (reboot_mod_SOURCES): Likewise.
41740
41741 * commands/i386/pc/reboot.c: merge this file ...
41742
41743 * commands/ieee1275/reboot.c: ... and this file ...
41744
41745 * commands/reboot.c: ... to this file.
c3db8364 41746 Add some precompiler directive to include the correct header for
41747 each machine.
f714229e 41748
41749 * commands/ieee1275/halt.c: move this file ...
41750
41751 * commands/halt.c: ... to here.
c3db8364 41752 Add some precompiler directive to include the correct header for
41753 each machine.
f714229e 41754
41755 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41756 (grub_halt): Likewise.
41757
41758 * kern/efi/efi.c (grub_reboot): New function.
41759 (grub_halt): Likewise.
41760
c74493e0 417612008-02-12 Robert Millan <rmh@aybabtu.com>
41762
41763 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41764 /dev (like it is done for /dev/mapper). This doesn't provide support
41765 for EVMS, but at least it is now easy to identify the problem when it
41766 arises.
41767
d0db4b04 417682008-02-11 Robert Millan <rmh@aybabtu.com>
41769
41770 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41771 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41772 comparing it with -1, not 0.
41773
bf748642 417742008-02-10 Robert Millan <rmh@aybabtu.com>
41775
41776 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41777 `disk/lvm.c'.
41778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41779 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41780
41781 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41782 `disk/lvm.c' to the end of the list.
41783 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41784 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41785
b5db202a 417862008-02-10 Robert Millan <rmh@aybabtu.com>
41787
41788 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41789 grub_print_error() instead. This will let user know why we're entering
41790 rescue mode.
41791 Based on suggestions from Sam Morris.
41792
83abee31 417932008-02-10 Alexandre Boeglin <alex@boeglin.org>
41794
41795 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41796 on remaining N args, instead of "--" arg N times.
41797
78d5a08b 417982008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41799
41800 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41801 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41802 pattern for unknown glyphs.
41803
68807e5f 418042008-02-09 Robert Millan <rmh@aybabtu.com>
41805
41806 * configure.ac: Probe for `help2man'.
41807 * Makefile.in (builddir): New variable.
41808 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41809 or otherwise add a few flags/options to it.
41810 (install-local): For every executable utility or script that is
41811 installed, invoke $(HELP2MAN) to install a manpage based on --help
41812 output.
41813
41814 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41815 that it doesn't prevent --help from working in build tree.
41816
41817 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41818 with `bug-grub@gnu.org'.
41819 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41820 * util/update-grub.in (usage): New function.
41821 Implement proper argument check, with support for --help and --version
41822 (as well as existing -y).
41823
418242008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41825
41826 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41827 avoid overwriting previous output.
41828 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41829
c1962162 418302008-02-09 Robert Millan <rmh@aybabtu.com>
41831
41832 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41833 drawing the menu.
41834
3dac2e3f 418352008-02-09 Robert Millan <rmh@aybabtu.com>
41836
41837 * commands/sleep.c: New file.
41838 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41839 (sleep_mod_SOURCES): New variable.
41840 (sleep_mod_CFLAGS): Likewise.
41841 (sleep_mod_LDFLAGS): Likewise.
41842
7a634e08 418432008-02-09 Robert Millan <rmh@aybabtu.com>
41844
41845 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41846 situations in which we can deduce the RAID size and the superblock
41847 doesn't match it.
41848
b92f0c18 418492008-02-09 Robert Millan <rmh@aybabtu.com>
41850
41851 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41852 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41853 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41854
41855 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41856 and return a grub_diskmemberlist_t composed of physical array members.
41857 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41858
41859 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41860 prototype.
41861 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41862 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41863 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41864
41865 * util/grub-probe.c (probe): Move partmap probing code from here ...
41866 (probe_partmap): ... to here.
41867 (probe): Use probe_partmap() once for the disk we're probing, and
41868 additionally, when such disk contains a memberlist() struct member,
41869 once for each disk that is contained in the structure returned by
41870 memberlist().
41871
91a4bf68 418722008-02-09 Robert Millan <rmh@aybabtu.com>
41873
41874 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41875 environment variable to 'all' in order to obtain debug output from
41876 non-util/ code.
41877 * util/i386/pc/grub-setup.c (main): Likewise.
41878
a96f9caa 418792008-02-08 Robert Millan <rmh@aybabtu.com>
41880
41881 * disk/raid.c (grub_raid_scan_device): Check for
41882 `array->device[sb.this_disk.number]' rather than for
41883 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41884 guaranteed to be accessible.
a96f9caa 41885
b37a9222 418862008-02-08 Robert Millan <rmh@aybabtu.com>
41887
41888 * disk/raid.c: Update copyright.
41889 * fs/cpio.c: Likewise.
41890 * include/grub/raid.h: Likewise.
41891 * loader/i386/pc/multiboot.c: Likewise.
41892 * util/hostfs.c: Likewise.
41893
5626aee1 418942008-02-08 Robert Millan <rmh@aybabtu.com>
41895
41896 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41897 to a grub_disk_t array.
41898 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41899 `device[x]'.
41900 (grub_raid_scan_device): Replace `device[x].name' accesses with
41901 `device[x]->name'. Simplify initialization of `array->device[x]'.
41902
554f0187 419032008-02-08 Robert Millan <rmh@aybabtu.com>
41904
41905 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41906 grub_dprintf() calls.
41907 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41908 error message.
41909
1ec8425d 419102008-02-07 Christian Franke <franke@computer.org>
41911
41912 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41913 instead of fseek and ftell to support large files.
41914 (grub_hostfs_read): Likewise.
41915
f2156fda 419162008-02-07 Robert Millan <rmh@aybabtu.com>
41917
41918 Patch from Jeroen Dekkers.
41919 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41920 failure, since successfully reading all array members might not be
f2156fda 41921 required.
41922
9216e0e7 419232008-02-06 Robert Millan <rmh@aybabtu.com>
41924
41925 * util/grub-probe.c (probe): Simplify partmap probing (with the
41926 assumption that the first word up to the underscore equals to
41927 the module name).
41928
b0dfd29a 419292008-02-06 Christian Franke <franke@computer.org>
41930
41931 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41932 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41933 last block of a cpio or tar stream.
41934 Check for "TRAILER!!!" instead of any empty data
41935 block to detect last block of a cpio stream.
41936 (grub_cpio_dir): Fix constness of variable np.
41937 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41938 cpio or tar trailer is detected. This fixes a crash
41939 on open of a non existing file.
41940
c32865bf 419412008-02-05 Bean <bean123ch@gmail.com>
41942
41943 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41944 address of entry.
41945 (grub_multiboot_load_elf64): Likewise.
41946 (grub_multiboot): Initialize mbi structure.
41947
41948 * util/grub-fstest.c: Don't include unused header file script.h.
41949
fe6b695a 41950 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41951 of file.
41952 (grub_fstest_SOURCES): Likewise.
41953
409480b7 419542008-02-05 Robert Millan <rmh@aybabtu.com>
41955
41956 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41957 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41958 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41959 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41960
41961 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41962 (translation_table): Replace hardcoded values with macros
41963 provided by `<grub/term.h>'.
41964
41965 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41966 (keyboard_map): Correct/add a few values, with macros provided
41967 by `<grub/term.h>'.
41968 (keyboard_map_shift): Zero values that don't differ from their
41969 `keyboard_map' equivalents.
41970 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41971 Discard the second scan code that is always sent by Caps lock.
41972 Only use `keyboard_map_shift' when it provides a non-zero value,
41973 otherwise fallback to `keyboard_map'.
41974
99fadbaa 419752008-02-04 Bean <bean123ch@gmail.com>
41976
41977 * Makefile.in (enable_grub_fstest): New variable.
41978
41979 * conf/common.rmk (grub_fstest_init.lst): New rule.
41980 (grub_fstest_init.h): Likewise.
41981 (grub_fstest_init.c): Likewise.
41982 (util/grub-fstest.c_DEPENDENCIES): New variable.
41983 (grub_fstest_SOURCES): Likewise.
41984
41985 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41986
41987 * util/grub-fstest.c: New file.
41988
bf567c50 419892008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41990
41991 Make grub-setup handle a separate root device.
f19dbdb7 41992
bf567c50 41993 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41994 so that the root device can be compared with the destination
41995 device.
41996 When embedding the core image, if the root and destination devices
41997 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41998 0xFF.
41999 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42000
9be6b98b 420012008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42002
42003 Add support for having a grub directory in a different drive. This
42004 is still only the data handling part.
f19dbdb7 42005
9be6b98b 42006 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42007 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42008 (grub_root_drive): New variable.
42009
42010 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42011 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42012 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42013 as it was.
42014
42015 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42016
42017 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42018 macro.
42019 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42020
42021 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42022 is bogus, because PXE booting does not specify any drive
42023 correctly.
42024
42025 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42026 am not sure if this is really correct.
42027
42028 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42029 is always identical to the boot drive when booting from a CD.
42030
42031 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42032 longer.
42033 (root_drive): New variable.
42034 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42035 (setup_sectors): Push %dx right after popping it, because %dh will
42036 be modified later.
42037 (copy_buffer): Restore %dx.
42038
e0ca0677 420392008-02-03 Robert Millan <rmh@aybabtu.com>
42040
42041 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42042 use `cdboot.img' for cdrom images.
42043
3b3f6629 420442008-02-03 Robert Millan <rmh@aybabtu.com>
42045
42046 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42047 only setup gfxterm when `font' command has succeeded.
42048
d42b3672 420492008-02-03 Robert Millan <rmh@aybabtu.com>
42050
42051 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42052 (grub_rescue_cmd_multiboot_loader)
42053 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42054
fa370ea6 420552008-02-03 Pavel Roskin <proski@gnu.org>
42056
e0c5dacb 42057 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42058 %edx and %esi from stack only after grub_gate_a20() is called.
42059 grub_gate_a20() clobbers %edx.
42060
f2a76e1d 420612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42062
42063 * configure.ac (AC_INIT): Bumped to 1.96.
42064
42065 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42066 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42067 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42068 video/readers/png.c.
42069
90fd32d1 420702008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42071
42072 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42073 (cdboot_img_SOURCES): New variable.
42074 (cdboot_img_ASFLAGS): New variable.
42075 (cdboot_img_LDFLAGS): New variable.
42076
42077 * boot/i386/pc/cdboot.S: New file.
42078
42079 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42080 (cd_count): Likewise.
42081 (grub_biosdisk_get_drive): Add support for cd device.
42082 (grub_biosdisk_call_hook): Likewise.
42083 (grub_biosdisk_iterate): Likewise.
42084 (grub_biosdisk_open): Likewise.
42085 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42086 (grub_biosdisk_rw): Support reading from cd device.
42087 (GRUB_MOD_INIT): Iterate cd devices.
42088
42089 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42090 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42091 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42092
42093 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42094
4020aa53 420952008-02-02 Robert Millan <rmh@aybabtu.com>
42096
42097 * commands/read.c: New file.
42098 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42099 (read_mod_SOURCES): New variable.
42100 (read_mod_CFLAGS): Likewise.
42101 (read_mod_LDFLAGS): Likewise.
42102
e03a1132 421032008-02-02 Robert Millan <rmh@aybabtu.com>
42104
42105 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42106 determining whether menu has to be displayed.
42107
58c69220 421082008-02-02 Marco Gerards <marco@gnu.org>
42109
42110 * bus/pci.c: New file.
42111
42112 * include/grub/pci.h: Likewise.
42113
42114 * include/grub/i386/pc/pci.h: Likewise.
42115
42116 * commands/lspci.c: Likewise.
42117
42118 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42119 `lspci.mod'.
42120 (pci_mod_SOURCES): New variable.
42121 (pci_mod_CFLAGS): Likewise.
42122 (pci_mod_LDFLAGS): Likewise.
42123 (lspci_mod_SOURCES): Likewise.
42124 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42125 (lspci_mod_LDFLAGS): Likewise.
58c69220 42126
c004e1b4 421272008-02-02 Bean <bean123ch@gmail.com>
42128
42129 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42130 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42131
42132 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42133 (grub_xfs_btree_node): New structure.
42134 (grub_xfs_btree_root): New structure.
42135 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42136 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42137 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42138 (GRUB_XFS_EXTENT_SIZE): Likewise.
42139 (grub_xfs_read_block): Support btree format type.
42140 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42141 Use directory block as basic unit.
42142
42143 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42144
42145 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42146 __attribute__ ((__regparm__ (1))).
42147
f95562bf 421482008-02-01 Robert Millan <rmh@aybabtu.com>
42149
42150 Correct a mistake in previous commit.
42151
42152 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42153 top.
42154 (normal/command.c_DEPENDENCIES): New variable.
42155
7d31f41f 421562008-02-01 Robert Millan <rmh@aybabtu.com>
42157
42158 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42159 top.
42160 (normal/command.c_DEPENDENCIES): New variable.
42161 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42162 * conf/i386-ieee1275.rmk: Likewise.
42163 * conf/i386-linuxbios.rmk: Likewise.
42164 * conf/i386-pc.rmk: Likewise.
42165 * conf/sparc64-ieee1275.rmk: Likewise.
42166 * conf/powerpc-ieee1275.rmk: Likewise.
42167 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42168
42169 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42170
60b6be74 421712008-02-01 Robert Millan <rmh@aybabtu.com>
42172
42173 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42174 call at beginning of function.
42175
078522ab 421762008-01-31 Pavel Roskin <proski@gnu.org>
42177
42178 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42179 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42180 (grub_mkrescue_SOURCES): Likewise.
078522ab 42181 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42182
ccaa8a5f 421832008-01-30 Robert Millan <rmh@aybabtu.com>
42184
42185 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42186 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42187 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42188 (grub_probe_SOURCES): ... to here.
42189
42190 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42191 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42192 * conf/i386-ieee1275.rmk: Likewise.
42193 * conf/i386-linuxbios.rmk: Likewise.
42194 * conf/powerpc-ieee1275.rmk: Likewise.
42195
ae5a9cd7 421962008-01-30 Tristan Gingold <gingold@free.fr>
42197
42198 * kern/rescue.c: Silently accept empty lines.
42199
70bc2ef2 422002008-01-29 Bean <bean123ch@gmail.com>
42201
42202 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42203 (real_code_2): Code cleanup and change comment style.
42204 (move_memory): Avoid using 32-bit address mode.
42205
6a4d50ea 422062008-01-29 Bean <bean123ch@gmail.com>
42207
42208 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42209 (png_mod_SOURCES): New variable.
42210 (png_mod_CFLAGS): Likewise.
42211 (png_mod_LDFLAGS): Likewise.
42212
42213 * video/readers/png.c: New file.
42214
11cc30ac 422152008-01-28 Robert Millan <rmh@aybabtu.com>
42216
42217 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42218 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42219 `ifndef GRUB_MOD_GAP' hack.
42220 * util/elf/grub-mkimage.c (add_segments): Likewise.
42221
3abc589f 422222008-01-27 Robert Millan <rmh@aybabtu.com>
42223
42224 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42225 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42226 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42227
e1907778 422282008-01-27 Robert Millan <rmh@aybabtu.com>
42229
42230 Get grub-emu to build again (including parallel builds).
42231
42232 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42233 Split into ...
42234 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42235 (normal/execute.c_DEPENDENCIES): ... this, ...
42236 (grub-emu_DEPENDENCIES): ... and this.
42237
42238 * conf/i386-efi.rmk: Likewise.
42239 * conf/i386-linuxbios.rmk: Likewise.
42240 * conf/i386-ieee1275.rmk: Likewise.
42241 * conf/powerpc-ieee1275.rmk: Likewise.
42242 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42243
2216b101 422442008-01-27 Robert Millan <rmh@aybabtu.com>
42245
42246 * NEWS: Add a few items.
42247
f75172d9 422482008-01-27 Robert Millan <rmh@aybabtu.com>
42249
42250 Fix parallel builds with grub-emu. Based on earlier commit for
42251 grub-probe and grub-setup.
42252
42253 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42254 (util/grub-emu.c_DEPENDENCIES): ... this.
42255 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42256 (util/grub-emu.c_DEPENDENCIES): ... this.
42257 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42258 (util/grub-emu.c_DEPENDENCIES): ... this.
42259 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42260 (util/grub-emu.c_DEPENDENCIES): ... this.
42261 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42262 (util/grub-emu.c_DEPENDENCIES): ... this.
42263
3f51de77 422642008-01-27 Pavel Roskin <proski@gnu.org>
42265
42266 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42267 to create a gap between _end and the modules added to the image
42268 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42269 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42270 * util/elf/grub-mkimage.c (add_segments): Likewise.
42271
2033f53e 422722008-01-26 Pavel Roskin <proski@gnu.org>
42273
42274 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42275 just return an error.
42276
22da1f6f 422772008-01-26 Bean <bean123ch@gmail.com>
42278
42279 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42280 (grub_reiserfs_get_item): Save offset of the next item.
42281 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42282
2a9525e6 422832008-01-25 Robert Millan <rmh@aybabtu.com>
42284
42285 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42286 make all filesystem sources appear together (possibly fixing omissions
42287 while at it).
42288 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42289 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42290 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42292
42293 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42294 add `kern/file.c'.
42295 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42296 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42297 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42298 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42299
42300 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42301 (probe): Add a sanity check to make sure of our ability to read
42302 requested files when probing for filesystem type.
42303
42304 * genmk.rb: Update copyright year (2007).
42305
42306 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42307 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42308 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42309 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42310 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42311 : Remove function prototypes.
42312
b95f71b5 423132008-01-25 Robert Millan <rmh@aybabtu.com>
42314
42315 Revert my previous commits (based on wrong assumption of how grub_errno
42316 works).
42317
fe6b695a 42318 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42319 * kern/file.c (grub_file_open): Likewise.
42320
d08bbb49 423212008-01-24 Pavel Roskin <proski@gnu.org>
42322
42323 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42324 that hang if GRUB tries to setup colors.
42325 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42326 colors for firmwares that don't support it.
42327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42328 Recognize Open Hack'Ware, set flags to work around its
42329 limitations.
42330
605e36ed 423312008-01-24 Robert Millan <rmh@aybabtu.com>
42332
42333 * kern/file.c (grub_file_open): Do not account previous failures of
42334 unrelated functions when grub_errno is checked for.
42335 Reported by Oleg Strikov.
42336
bac332a1 423372008-01-24 Bean <bean123ch@gmail.com>
42338
42339 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42340 (grub_ufs_sblock): New member volume name.
42341 (grub_ufs_find_file): Fix string copy bug.
42342 (grub_ufs_label): Implement this function properly.
42343
42344 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42345 (grub_hfs_iterate_records): Use the correct file number for extents
42346 and catalog file. Fix problem in next index calculation.
42347 (grub_hfs_find_node): Replace recursive function call with loop.
42348 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42349
15c80c09 423502008-01-23 Robert Millan <rmh@aybabtu.com>
42351
42352 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42353 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42354 (grub_multiboot2_real_boot): New function prototype.
42355
42356 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42357 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42358
42359 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42360 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42361
305338fd 423622008-01-23 Robert Millan <rmh@aybabtu.com>
42363
42364 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42365 #ifdef'ed out grub_printf().
42366
3ea52685 423672008-01-23 Robert Millan <rmh@aybabtu.com>
42368
42369 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42370 grub_dprintf calls, since they make "debug=all" mode unusable.
42371 (grub_console_checkkey): Likewise.
42372
5882ae4b 423732008-01-23 Robert Millan <rmh@aybabtu.com>
42374
42375 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42376 `term/i386/pc/at_keyboard.c'.
42377 (pkglib_MODULES): Add `serial.mod'.
42378 (serial_mod_SOURCES): New variable.
42379 (serial_mod_CFLAGS): Likewise.
42380 (serial_mod_LDFLAGS): Likewise.
42381
42382 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42383 `<grub/powerpc/ieee1275/console.h>'.
42384 (grub_keyboard_controller_init): New function prototype.
42385 (grub_console_checkkey): Likewise.
42386 (grub_console_getkey): Likewise.
42387
42388 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42389 keyboard on i386.
42390
42391 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42392 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42393
06ab5303 423942008-01-23 Robert Millan <rmh@aybabtu.com>
42395
42396 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42397 present, "(memdisk)/boot/grub" becomes the default prefix.
42398
42399 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42400 a memdisk tarball with all the modules. Add --overlay=DIR option that
42401 allows users to overlay additional files into the image.
42402
dbb475a4 424032008-01-23 Robert Millan <rmh@aybabtu.com>
42404
42405 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42406 and `machine/memory.h'.
42407 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42408 (_multiboot_mod_SOURCES): New variable.
42409 (_multiboot_mod_CFLAGS): Likewise.
42410 (_multiboot_mod_LDFLAGS): Likewise.
42411 (multiboot_mod_SOURCES): Likewise.
42412 (multiboot_mod_CFLAGS): Likewise.
42413 (multiboot_mod_LDFLAGS): Likewise.
42414
42415 * include/grub/i386/ieee1275/loader.h: New file.
42416
42417 * include/grub/i386/ieee1275/machine.h: Likewise.
42418
42419 * include/grub/i386/ieee1275/memory.h: Likewise.
42420
42421 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42422 variable declaration.
42423 (grub_os_area_size): Likewise.
42424
42425 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42426 (grub_lower_mem, grub_upper_mem): New variables.
42427 (grub_stop_floppy): New function (just to make
42428 grub_multiboot2_real_boot() happy).
42429
42430 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42431 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42432 (grub_stop): New function.
42433 Include `"../realmode.S"' and `"../loader.S"'.
42434
42435 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42436 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42437
42438 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42439 rely on grub_multiboot2_real_boot() for final boot.
42440
25638629 424412008-01-22 Robert Millan <rmh@aybabtu.com>
42442
42443 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42444 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42445 device that doesn't look like an SD card.
42446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42447 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42448 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42449 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42450 found.
42451
9dad816d 424522008-01-22 Robert Millan <rmh@aybabtu.com>
42453
42454 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42455 avoid claiming over our own code.
42456
34842f2d 424572008-01-22 Bean <bean123ch@gmail.com>
42458
42459 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42460 (jpeg_mod_SOURCES): New variable.
42461 (jpeg_mod_CFLAGS): Likewise.
42462 (jpeg_mod_LDFLAGS): Likewise.
42463
42464 * video/readers/jpeg.c : New file.
42465
44023a28 424662008-01-22 Bean <bean123ch@gmail.com>
42467
42468 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42469 there are no more items.
42470
bc2d8ac6 424712008-01-21 Robert Millan <rmh@aybabtu.com>
42472
42473 * kern/mm.c (grub_mm_init_region): Improve debug message.
42474
261bd4bc 424752008-01-21 Robert Millan <rmh@aybabtu.com>
42476
42477 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42478 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42479 address.
42480 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42481 a C macro.
42482 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42483 Indicates start of upper memory.
42484 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42485 (generate_image): Abort when image size is big enough to corrupt
42486 upper memory.
42487
42488 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42489 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42490 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42491 instead of hardcoding 0xA0000.
42492 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42493 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42494 instead of hardcoding 0xA0000.
42495
f970b55e 424962008-01-21 Robert Millan <rmh@aybabtu.com>
42497
42498 * disk/memdisk.c (memdisk_size): New variable.
42499 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42500 `memdisk_size'.
42501 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42502 image to dynamic memory.
42503 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42504 `memdisk_size'. Free memdisk block.
42505
1a8b0526 425062008-01-21 Robert Millan <rmh@aybabtu.com>
42507
42508 Fix detection of very small filesystems (like tar).
42509
42510 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42511 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42512 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42513 a problem with this disk).
42514
6e9b4aab 425152008-01-21 Robert Millan <rmh@aybabtu.com>
42516
42517 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42518 on grub_biosdisk_rw_standard() error.
42519
0d8837b2 425202008-01-21 Robert Millan <rmh@aybabtu.com>
42521
42522 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42523 recent changes.
42524 * kern/elf.c: Likewise.
42525 * kern/ieee1275/ieee1275.c: Likewise.
42526 * kern/powerpc/ieee1275/openfw.c: Likewise.
42527 * term/ieee1275/ofconsole.c: Likewise.
42528
ffd36e34 425292008-01-21 Robert Millan <rmh@aybabtu.com>
42530
42531 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42532
3f0093d0 42533 * include/grub/kernel.h (grub_arch_memdisk_addr)
42534 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42535
3f0093d0 42536 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42537 (grub_arch_memdisk_size): ... to here.
ffd36e34 42538
6c391b21 425392008-01-21 Robert Millan <rmh@aybabtu.com>
42540
42541 Mostly based on bugfix from Bean.
42542
42543 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42544 attribute with hook() parameter.
42545 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42546 declaration.
42547 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42548 attribute with hook() parameter.
42549 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42550 declaration.
42551
55a581dc 425522008-01-21 Robert Millan <rmh@aybabtu.com>
42553
42554 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42555 (pkglib_MODULES): Add `memdisk.mod'.
42556 (memdisk_mod_SOURCES): New variable.
42557 (memdisk_mod_CFLAGS): Likewise.
42558 (memdisk_mod_LDFLAGS): Likewise.
42559
42560 * disk/memdisk.c: New file.
42561
42562 * include/grub/disk.h (grub_disk_dev_id): Add
42563 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42564
42565 * include/grub/i386/pc/kernel.h
42566 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42567 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42568 (grub_kernel_image_size): New variable declaration.
42569 (grub_total_module_size): Likewise.
42570 (grub_memdisk_image_size): Likewise.
42571
42572 * include/grub/i386/pc/memory.h
42573 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42574
42575 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42576 (grub_arch_memdisk_addr): New variable declaration.
42577 (grub_arch_memdisk_size): Likewise.
42578
42579 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42580 (grub_arch_memdisk_size): Likewise.
42581
42582 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42583 (codestart): Replace hardcoded `0x100000' with
42584 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42585
42586 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42587 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42588 not NULL, append the contents of the file it refers to, at the end of
42589 the compressed kernel image. Initialize `grub_memdisk_image_size'
42590 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42591 (options): Add "memdisk"|'m' option.
42592 (main): Parse --memdisk|-m option, and pass user-provided path as
42593 parameter to generate_image().
42594
3d7f54c9 425952008-01-20 Robert Millan <rmh@aybabtu.com>
42596
42597 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42598 grub_dprintf() calls from here ...
42599 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42600
0bf74728 426012008-01-20 Robert Millan <rmh@aybabtu.com>
42602
42603 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42604
42605 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42606 declaration.
42607 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42608 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42609 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42610 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42611 property).
42612 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42613 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42614
33bf70a7 426152008-01-19 Robert Millan <rmh@aybabtu.com>
42616
fe6b695a 42617 Get rid of confusing function (superseded by
33bf70a7 42618 `grub_ieee1275_get_integer_property')
42619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42620 prototype.
42621 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42622 function.
42623 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42624 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42625 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42626
e2da7d26 426272008-01-19 Robert Millan <rmh@aybabtu.com>
42628
42629 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42630 command after "shut-down", since implementations differ on which
42631 the command for halt is.
42632
59f1fd8d 426332008-01-19 Robert Millan <rmh@aybabtu.com>
42634
42635 * include/grub/i386/linuxbios/console.h: Add header protection.
42636 (grub_keyboard_controller_init): New function prototype.
42637 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42638 (KEYBOARD_COMMAND_READ): Likewise.
42639 (KEYBOARD_COMMAND_WRITE): Likewise.
42640 (KEYBOARD_SCANCODE_SET1): Likewise.
42641 (grub_keyboard_controller_write): New function.
42642 (grub_keyboard_controller_read): Likewise.
42643 (grub_keyboard_controller_init): Likewise.
42644
42645 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42646 (grub_console_init): On coreboot/LinuxBIOS, call
42647 grub_keyboard_controller_init().
42648
5f5a7c15 426492008-01-19 Robert Millan <rmh@aybabtu.com>
42650
42651 PowerPC changes provided by Pavel Roskin.
42652
42653 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42654 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42655 don't rely on cmain() doing it.
42656 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42657 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42658
1210e168 426592008-01-16 Robert Millan <rmh@aybabtu.com>
42660
42661 * include/grub/i386/linuxbios/memory.h
42662 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42663 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42664 receive `table_header' as argument. Instead, probe for it in the
42665 known memory ranges where it can be present.
42666 (grub_available_iterate): Do not pass a fixed `table_header' address
42667 to grub_linuxbios_table_iterate().
42668
3d04eab8 426692008-01-15 Robert Millan <rmh@aybabtu.com>
42670
42671 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42672 * conf/i386-ieee1275.rmk: New file.
42673 * include/grub/i386/ieee1275/console.h: Likewise.
42674 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42675 * include/grub/i386/ieee1275/kernel.h: Likewise.
42676 * include/grub/i386/ieee1275/time.h: Likewise.
42677 * kern/i386/ieee1275/init.c: Likewise.
42678 * kern/i386/ieee1275/startup.S: Likewise.
42679
d1bc1b73 426802008-01-15 Robert Millan <rmh@aybabtu.com>
42681
42682 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42683 when pointers are 32-bit (but still do set it to one when they are
42684 64-bit).
42685
66a65807 426862008-01-15 Robert Millan <rmh@aybabtu.com>
42687
42688 * include/grub/ieee1275/ieee1275.h
42689 (grub_ieee1275_get_integer_property): New function prototype.
42690
42691 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42692 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42693 grub_ieee1275_get_property() to handle endianness.
66a65807 42694
42695 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42696 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42697 where appropriate.
66a65807 42698 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42699 (grub_map): Likewise.
42700 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42701
a83ccafd 427022008-01-15 Bean <bean123ch@gmail.com>
42703
42704 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42705 (grub_script_execute_cmdline): Reset grub_errno.
42706
42707 * normal/main.c (read_config_file): Reset grub_errno.
42708
42709 * normal/parse.y (script_init): New.
42710 (script): Move function and menuentry here.
42711 (delimiter): New.
42712 (command): Add delimiter at the end of command.
42713 (commands): Adjust to match the new command.
42714 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42715 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42716 (if): Use the new commands.
42717
42718 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42719
df6ecfc6 427202008-01-15 Robert Millan <rmh@aybabtu.com>
42721
42722 * normal/menu.c (run_menu): Move timeout message from here ...
42723 (print_timeout): ... to here.
42724 (run_menu): Use print_timeout() once during initial draw to print
42725 the whole message, and again in every clock tick to update only
42726 the number of seconds.
42727
87ae25eb 427282008-01-15 Robert Millan <rmh@aybabtu.com>
42729
42730 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42731 actual size of `available' from grub_ieee1275_get_property(), and
42732 restrict parsing to that bound.
42733
47bf09a4 427342008-01-15 Christian Franke <franke@computer.org>
42735
42736 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42737 (argp_program_version): Remove variable.
42738 (argp_program_bug_address): Likewise.
42739 (options): Convert from struct argp_option to struct option.
42740 (struct arguments): Remove.
42741 (parse_opt): Remove.
42742 (usage): New function.
42743 (main): Replace struct args members by simple variables.
42744 Replace argp_parse() by getopt_long().
42745 Add switch to evaluate options.
42746 Add missing "(...)" around root_dev in prefix string.
42747
c86f1469 427482008-01-14 Robert Millan <rmh@aybabtu.com>
42749
42750 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42751 for grub_ieee1275_exit(), in order to improve portability.
42752
e622c559 427532008-01-14 Robert Millan <rmh@aybabtu.com>
42754
42755 * util/grub.d/10_linux.in (prefix): Define.
42756 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42757
44cb1ec8 427582008-01-13 Pavel Roskin <proski@gnu.org>
42759
42760 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42761 grub_errno if no errors have been detected.
42762
1eb8c802 427632008-01-12 Robert Millan <rmh@aybabtu.com>
42764
42765 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42766 (grub_util_get_dev_abstraction): New function prototype.
42767
42768 * util/getroot.c: Include `<grub/util/getroot.h>'
42769 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42770 (grub_util_get_dev_abstraction): ... here (new function).
42771
42772 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42773 `PRINT_ABSTRACTION'.
42774 (probe): Probe for abstraction type when requested.
42775 (main): Understand `--target=abstraction'.
42776
42777 * util/i386/efi/grub-install.in: Add abstraction module to core
42778 image when it is found to be necessary.
42779 * util/i386/pc/grub-install.in: Likewise.
42780 * util/powerpc/ieee1275/grub-install.in: Likewise.
42781
42782 * util/update-grub_lib.in (font_path): Return system path without
42783 converting to GRUB path.
42784 * util/update-grub.in: Convert system path returned by font_path()
42785 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42786 abstraction module is needed for loading fonts (if any). Export
42787 that as `GRUB_PRELOAD_MODULES'.
42788 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42789 insmod commands).
42790
52bd3de9 427912008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42792
42793 Remove some unused code from reiserfs.
f19dbdb7 42794
52bd3de9 42795 * fs/reiserfs.c (struct grub_reiserfs_key)
42796 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42797 (struct grub_reiserfs_node_body): Removed.
42798 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42799 Likewise.
42800 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42801 Likewise.
42802 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42803 Likewise.
42804 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42805 Likewise.
42806 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42807 Likewise.
42808 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42809 Likewise.
42810 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42811 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42812 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42813
2f80039d 428142008-01-10 Robert Millan <rmh@aybabtu.com>
42815
42816 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42817 Determines if a file is garbage left by packaging systems, etc.
42818 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42819 for processing /etc/grub.d scripts.
42820 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42821 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42822 as a condition for processing Linux images.
42823
87888032 428242008-01-10 Pavel Roskin <proski@gnu.org>
42825
42826 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42827 to compile reiserfs.c on PowerPC.
42828
7e54fced 428292008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42830
42831 * kern/device.c (grub_device_iterate): Do not abort device iteration
42832 when one of the devices cannot be opened.
42833 * kern/disk.c (grub_disk_open): Do not account previous failures of
42834 unrelated functions when grub_errno is checked for.
42835
5aa541e6 428362008-01-08 Robert Millan <rmh@aybabtu.com>
42837
42838 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42839 `! grub_linux_is_bzimage', change order of address comparison to make
42840 it more intuitive, and improve "too big zImage" error message.
42841
7076340d 428422008-01-08 Robert Millan <rmh@aybabtu.com>
42843
42844 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42845 `$(update-grub_DATA)'.
42846 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42847 targets.
42848
9ca70333 428492008-01-07 Robert Millan <rmh@aybabtu.com>
42850
42851 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42852 which instruction is modified by grub-setup during installation
42853 (since it wasn't obvious by only looking at this file).
42854
38ccf575 428552008-01-07 Robert Millan <rmh@aybabtu.com>
42856
42857 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42858 listing actual TODO items.
42859
f5db4291 428602008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42861
868967cf 42862 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42863 correctly.
42864 (grub_reiserfs_get_key_offset): Likewise.
42865 (grub_reiserfs_set_key_offset): Likewise.
42866 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42867 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42868
42869 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42870 better to remove the bitfield version completely.
f19dbdb7 42871
868967cf 428722008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42873
f5db4291 42874 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42875 allocated from the heap, due to the fshelp implementation.
42876 (grub_reiserfs_dir): Free NODE, due to the same reason.
42877
492e6d9d 428782008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42879
42880 Mostly from Vincent Pelletier:
f19dbdb7 42881
492e6d9d 42882 * fs/reiserfs.c: New file.
f19dbdb7 42883
492e6d9d 42884 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42885 (reiserfs_mod_SOURCES): New variable.
42886 (reiserfs_mod_CFLAGS): Likewise.
42887 (reiserfs_mod_LDFLAGS): Likewise.
42888
42889 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42890 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42891 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42892 normal/color.c.
42893
9ce3e7c1 428942008-01-06 Robert Millan <rmh@aybabtu.com>
42895
42896 * normal/color.c: Remove `<grub/env.h>'.
42897
f3b58148 428982008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42899
42900 * include/grub/normal.h: Include <grub/env.h>.
42901
7ac3bcfa 429022008-01-05 Robert Millan <rmh@aybabtu.com>
42903
42904 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42905 usage example with `(hd0,1)'.
fb358190 42906 Reported by Samuel Thibault.
7ac3bcfa 42907
c8ee99d7 429082008-01-05 Robert Millan <rmh@aybabtu.com>
42909
42910 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42911 (grub_linux_boot_zimage): Rename to ...
42912 (grub_linux_boot): ... this.
42913 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42914 (grub_linux_boot_zimage): Conditionalize zImage copy.
42915
42916 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42917 (grub_linux_boot_bzimage): Remove prototype.
42918 (grub_linux_boot_zimage): Rename to ...
42919 (grub_linux_boot): ... this.
42920
42921 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42922 (grub_linux_boot): Remove function.
42923
0ece25b1 429242008-01-05 Robert Millan <rmh@aybabtu.com>
42925
42926 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42927 (grub_env_write_color_highlight): Likewise.
42928 (grub_wait_after_message): Likewise.
42929
42930 * normal/color.c: New file.
42931
42932 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42933 (normal_mod_DEPENDENCIES): Likewise.
42934
42935 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42936 (normal_mod_DEPENDENCIES): Likewise.
42937
42938 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42939 (normal_mod_DEPENDENCIES): Likewise.
42940
42941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42942 (normal_mod_DEPENDENCIES): Likewise.
42943
42944 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42945 for waiting after a message is printed.
42946 * normal/main.c (read_config_file): Likewise.
42947 (grub_normal_init): Register grub_env_write_color_normal() and
42948 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42949 `color_highlight' variables as global.
42950
42951 * normal/menu.c (grub_wait_after_message): New function.
42952 (grub_color_menu_normal): New variable. Replaces ...
42953 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42954 (grub_color_menu_highlight): New variable. Replaces ...
42955 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42956 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42957 `GRUB_TERM_COLOR_STANDARD'.
42958 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42959 `normal_code' and `highlight_code' to `old_color_normal' and
42960 `old_color_highlight', respectively.
42961 (grub_menu_init_page): Update colors when drawing the menu, based on
42962 `menu_color_normal' and `menu_color_highlight' variables.
42963 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42964 a message is printed.
42965
182dd4e5 429662008-01-05 Robert Millan <rmh@aybabtu.com>
42967
42968 * kern/env.c (grub_env_context_open): Propagate hooks for global
42969 variables to new context.
42970
42971 * kern/main.c (grub_set_root_dev): Export `root' variable.
42972
ddf8f6ad 429732008-01-05 Robert Millan <rmh@aybabtu.com>
42974
42975 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42976 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42977 them.
42978
d8b43d9b 429792008-01-05 Robert Millan <rmh@aybabtu.com>
42980
42981 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42982
2bff2de3 429832008-01-04 Christian Franke <franke@computer.org>
42984
42985 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42986 of eisa_mmap.
42987
97eab917 429882008-01-03 Pavel Roskin <proski@gnu.org>
42989
42990 * kern/i386/linuxbios/init.c: Put "void" to all function
42991 declarations with no arguments.
42992 * kern/powerpc/ieee1275/init.c: Likewise.
42993 * term/i386/pc/at_keyboard.c: Likewise.
42994 * term/i386/pc/vga_text.c: Likewise.
42995 * util/grub-mkdevicemap.c: Likewise.
42996
b9416d00 429972008-01-02 Robert Millan <rmh@aybabtu.com>
42998
42999 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43000 message when loaded image is out of bounds.
43001 (grub_multiboot_load_elf64): Likewise.
43002
92695df9 430032008-01-02 Pavel Roskin <proski@gnu.org>
43004
43005 * util/grub.d/10_linux.in: Try version without ".old" when
43006 looking for initrd. It's better to use initrd from the newer
43007 kernel of the same version than no initrd at all.
43008
d98d9cad 430092008-01-01 Robert Millan <rmh@aybabtu.com>
43010
43011 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43012
dbfdce36 430132008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43014
f19dbdb7 43015 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43016 grub_video_get_active_render_target.
43017 (grub_video_adapter): Added unmap_color and get_active_render_target.
43018
f19dbdb7 43019 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43020 grub_video_get_active_render_target.
43021 (grub_video_get_info): Changed method to accept NULL pointer as an
43022 argument to allow detection of active video adapter.
43023
43024 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43025 grub_video_vbe_unmap_color_int.
43026 Added grub_video_vbe_unmap_color and
43027 grub_video_vbe_get_active_render_target.
43028 (grub_video_vbe_adapter): Added unmap_color and
43029 get_active_render_target.
43030
f19dbdb7 43031 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43032 with grub_video_vbe_unmap_color_int.
43033
43034 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43035 (DEFAULT_NORMAL_COLOR): Likewise.
43036 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43037 (DEFAULT_FG_COLOR): Removed.
43038 (DEFAULT_BG_COLOR): Likewise.
43039 (DEFAULT_CURSOR_COLOR): Changed value.
43040 (grub_virtual_screen): Added standard_color_setting,
43041 normal_color_setting, highlight_color_setting and term_color.
43042 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43043 (bitmap_width): Added.
43044 (bitmap_height): Likewise.
43045 (bitmap): Likewise.
43046 (set_term_color): Likewise.
43047 (grub_virtual_screen_setup): Changed to use new terminal coloring
43048 settings.
43049 (grub_gfxterm_init): Added init for bitmap.
43050 (grub_gfxterm_fini): Added destroy for bitmap.
43051 (redraw_screen_rect): Updated to use background bitmap and new
43052 terminal coloring.
43053 (scroll_up): Added optimization for case when there is no bitmap.
43054 (grub_gfxterm_cls): Fixed to use correct background color.
43055 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43056 coloring.
43057 (grub_virtual_screen_setcolor): Likewise.
43058 (grub_virtual_screen_getcolor): Added.
43059 (grub_gfxterm_background_image_cmd): Likewise.
43060 (grub_video_term): Added setcolor and getcolor.
43061 (MOD_INIT): Added registration of background_image command.
43062 (MOD_TERM): Added unregistration for background_image command.
43063
c3c20931 430642007-12-30 Pavel Roskin <proski@gnu.org>
43065
43066 * loader/multiboot_loader.c: Fix multiboot command
43067 unregistration. Fix all typos in the word "multiboot".
43068
df266716 430692007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43070
43071 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43072 support for initrd names used in Fedora.
43073
fc6e896c 430742007-12-26 Bean <bean123ch@gmail.com>
43075
43076 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43077 (cpio_mod_SOURCES): New variable.
43078 (cpio_mod_CFLAGS): Likewise.
43079 (cpio_mod_LDFLAGS): Likewise.
43080
43081 * fs/cpio.c: New file.
43082
43083 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43084
43085 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43086
43087 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43088
43089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43090
533110ad 430912007-12-25 Robert Millan <rmh@aybabtu.com>
43092
43093 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43094 (grub_getcolor): New function.
43095
43096 * kern/term.c (grub_getcolor): New function.
43097 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43098 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43099 (print_entry): Set normal and highlight colors to
43100 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43101 respectively, before printing and restore them to old
43102 values afterwards.
43103 (grub_menu_init_page): Likewise. Fill an additional colored space
43104 that would otherwise be left blank.
43105
43106 * term/efi/console.c (grub_console_getcolor): New function.
43107 (struct grub_console_term.getcolor): New variable.
43108 * term/i386/pc/console.c (grub_console_getcolor): New function.
43109 (struct grub_console_term.getcolor): New variable.
43110 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43111 (struct grub_console_term.getcolor): New variable.
43112
43113 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43114 (struct grub_console_term.setcolor): Remove variable.
43115 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43116 (struct grub_console_term.setcolor): Remove variable.
43117 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43118 (struct grub_console_term.setcolor): Remove variable.
43119 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43120 (struct grub_console_term.setcolor): Remove variable.
43121
4931827f 431222007-12-25 Robert Millan <rmh@aybabtu.com>
43123
43124 * configure.ac: Search for possible unifont.hex locations, and
43125 define UNIFONT_HEX if found.
43126
43127 * Makefile.in (UNIFONT_HEX): Define variable.
43128 (DATA): Rename to ...
43129 (PKGLIB): ... this. Update all users.
43130 (PKGDATA): New variable.
43131 (pkgdata_IMAGES): Rename to ...
43132 (pkglib_IMAGES): ... this. Update all users.
43133 (pkgdata_MODULES): Rename to ...
43134 (pkglib_MODULES): ... this. Update all users.
43135 (pkgdata_PROGRAMS): Rename to ...
43136 (pkglib_PROGRAMS): ... this. Update all users.
43137 (pkgdata_DATA): Rename to ...
43138 (pkglib_DATA): ... this. Update all users.
43139 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43140 (unicode.pff, ascii.pff): New rules.
43141 (all-local): Add `$(PKGDATA)' dependency.
43142 (install-local): Process `$(PKGDATA)'.
43143
43144 * util/update-grub_lib.in (font_path): Search for *.pff files in
43145 a few more locations, including `${pkgdata}'.
43146
57e57e31 431472007-12-23 Robert Millan <rmh@aybabtu.com>
43148
43149 Patch from Bean <bean123ch@gmail.com>:
43150 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43151 `size'.
43152
4bc72aa9 431532007-12-21 Bean <bean123ch@gmail.com>
43154
43155 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43156 (ntfscomp_mod_SOURCES): New variable.
43157 (ntfscomp_mod_CFLAGS): Likewise.
43158 (ntfscomp_mod_LDFLAGS): Likewise.
43159
43160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43161 (grub_probe_SOURCES): Likewise.
43162 (grub_emu_SOURCES): Likewise.
43163
43164 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43165 (grub_emu_SOURCES): Likewise.
43166
43167 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43168 (grub_emu_SOURCES): Likewise.
43169
43170 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43171 (grub_emu_SOURCES): Likewise.
43172
43173 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43174 (read_run_list): Renamed to grub_ntfs_read_run_list.
43175 (decomp_nextvcn): Moved to ntfscomp.c.
43176 (decomp_getch): Likewise.
43177 (decomp_get16): Likewise.
43178 (decomp_block): Likewise.
43179 (read_block): Likewise.
43180 (read_data): Partially moved to ntfscomp.c.
43181 (fixup): Change unsigned to grub_uint16_t.
43182 (read_mft): Change unsigned long to grub_uint32_t.
43183 (read_attr): Likewise.
43184 (read_data): Likewise.
43185 (read_run_data): Likewise.
43186 (read_run_list): Likewise.
43187 (read_mft): Likewise.
43188
43189 * fs/ntfscomp.c: New file.
43190
43191 * include/grub/ntfs.h: New file.
43192
af680a87 431932007-12-16 Robert Millan <rmh@aybabtu.com>
43194
43195 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43196 IDE disk check, since Linux is known to support 20 IDE disks.
43197 Reported by Colin Watson.
43198
84be7599 431992007-12-15 Bean <bean123ch@gmail.com>
43200
43201 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43202 (lnxboot_img_SOURCES): New variable.
43203 (lnxboot_img_ASFLAGS): Likewise.
43204 (lnxboot_img_LDFLAGS): Likewise.
43205
43206 * boot/i386/pc/lnxboot.S: New file.
43207
6af9db01 432082007-11-24 Pavel Roskin <proski@gnu.org>
43209
43210 * configure.ac: Test if '--build-id=none' is supported by the
43211 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43212 objcopy to generate incorrect binary files (binutils
43213 2.17.50.0.18-1 as shipped by Fedora 8).
43214 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43215 linking, so that build ID doesn't break the test.
43216
7361cfe6 432172007-11-24 Pavel Roskin <proski@gnu.org>
43218
43219 * include/grub/i386/time.h: use "void" in the argument list
43220 of grub_cpu_idle().
43221 * include/grub/powerpc/time.h: Likewise.
43222 * include/grub/sparc64/time.h: Likewise.
43223
1593e10c 432242007-11-18 Christian Franke <franke@computer.org>
43225
43226 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43227 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43228 This fixes the problem that function keys did not work in grub-emu.
43229
3b8db1a8 432302007-11-18 Christian Franke <franke@computer.org>
43231
43232 * disk/host.c (grub_host_open): Remove attribute unused from
43233 name parameter. Add check for "host". This fixes the problem
43234 that grub-emu does not find partitions.
43235
2e29408d 432362007-11-18 Christian Franke <franke@computer.org>
43237
43238 * util/hostfs.c (is_dir): New function.
43239 (grub_hostfs_dir): Handle missing dirent.d_type case.
43240 (grub_hostfs_read): Add missing fseek().
43241 (grub_hostfs_label): Clear label pointer. This fixes a crash
43242 of grub-emu on "ls (host)".
43243
398cd047 432442007-11-18 Christian Franke <franke@computer.org>
43245
43246 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43247 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43248 to 64 bit boundary by default.
43249
c405c391 432502007-11-18 Bean <bean123ch@gmail.com>
43251
43252 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43253 (hexdump_mod_SOURCES): New variable.
43254 (hexdump_mod_CFLAGS): Likewise.
43255 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43256
c405c391 43257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43258
43259 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43260
43261 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43262
43263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43264
43265 * include/grub/hexdump.h: New file.
43266
43267 * commands/hexdump.c: New file.
43268
5cced7fd 432692007-11-10 Robert Millan <rmh@aybabtu.com>
43270
43271 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43272 in grub_outb() calls.
43273 (beep_on): Likewise.
43274
8b714eb0 432752007-11-10 Christian Franke <franke@computer.org>
43276
43277 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43278 (grub_menu_run): Likewise.
43279
ce0f1839 432802007-11-10 Robert Millan <rmh@aybabtu.com>
43281
43282 * include/grub/i386/efi/machine.h: New file.
43283 * include/grub/i386/linuxbios/machine.h: Likewise.
43284 * include/grub/i386/pc/machine.h: Likewise.
43285 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43286 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43287
43288 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43289 (serial_hw_io_addr): New variable.
43290 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43291 instead of `(unsigned short *) 0x400'.
43292
270c237d 432932007-11-10 Bean <bean123ch@gmail.com>
43294
43295 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43296
a87783bf 432972007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43298
43299 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43300 (vga_mod_SOURCES): Added.
43301 (vga_mod_CFLAGS): Likewise.
43302 (vga_mod_LDFLAGS): Likewise.
43303
43304 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43305 grub_outb() calls.
43306 (set_map_mask): Likewise.
43307 (set_read_map): Likewise.
43308 (set_read_address): Likewise.
43309 (vga_font): Removed variable.
43310 (get_vga_glyph): Removed function.
43311 (invalidate_char): Likewise.
43312 (write_char): Changed to use grub_font_get_glyph() for font
43313 information.
43314 (grub_vga_putchar): Likewise.
43315 (grub_vga_getcharwidth): Likewise.
43316
6433b448 433172007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43318
43319 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43320 flags.
43321 (pxeboot_img_LDFLAGS): Likewise.
43322 (diskboot_img_LDFLAGS): Likewise.
43323 (kernel_img_LDFLAGS): Likewise.
43324
49178511 433252007-11-06 Robert Millan <rmh@aybabtu.com>
43326
43327 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43328 in grub_outb() calls.
43329 (serial_hw_init): Likewise.
43330
53b052de 433312007-11-05 Robert Millan <rmh@aybabtu.com>
43332
43333 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43334 spaces. Skip non-regular files.
43335
5ab33bba 433362007-11-05 Robert Millan <rmh@aybabtu.com>
43337
43338 * kern/disk.c (grub_disk_firmware_fini)
43339 (grub_disk_firmware_is_tainted): New variables.
43340
43341 * include/grub/disk.h (grub_disk_firmware_fini)
43342 (grub_disk_firmware_is_tainted): Likewise.
43343
43344 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43345 (grub_disk_biosdisk_fini): ... to here.
43346 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43347 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43348 is set. Register grub_disk_biosdisk_fini() in
43349 `grub_disk_firmware_fini'.
43350
43351 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43352 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43353 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43354 to finish existing firmware disk interface.
43355
43356 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43357 (ata_mod_SOURCES): New variable.
43358 (ata_mod_CFLAGS): Likewise.
43359 (ata_mod_LDFLAGS): Likewise.
43360
0149ab7c 433612007-11-05 Robert Millan <rmh@aybabtu.com>
43362
43363 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43364 (grub_ata_wait): Reimplement using grub_millisleep().
43365
43366 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43367 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43368
be7ac41e 433692007-11-03 Marco Gerards <marco@gnu.org>
43370
43371 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43372 (CRTC_ADDR_PORT): New macro.
43373 (CRTC_DATA_PORT): Likewise.
43374 (CRTC_CURSOR): Likewise.
43375 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43376 (CRTC_CURSOR_ADDR_LOW): Likewise.
43377 (update_cursor): New function.
43378 (grub_console_real_putchar): Call `update_cursor'.
43379 (grub_console_gotoxy): Likewise.
43380 (grub_console_cls): Set the default color when clearing the
43381 screen.
43382 (grub_console_setcursor): Implemented.
43383
bb06ab2e 433842007-11-03 Marco Gerards <marco@gnu.org>
43385
43386 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43387 become activate.
43388 (grub_ata_pio_write): Likewise.
43389
43390 (grub_atapi_identify): Wait after issuing an ATA command.
43391 (grub_atapi_packet): Likewise.
43392 (grub_ata_identify): Likewise.
43393 (grub_ata_readwrite): Likewise.
43394
cf8f780b 433952007-11-03 Marco Gerards <marco@gnu.org>
43396
43397 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43398 (grub_ata_pio_write): Likewise.
43399 (grub_ata_readwrite): Use `grub_error', instead of
43400 returning `grub_errno'.
43401
ed649e54 434022007-11-03 Marco Gerards <marco@gnu.org>
43403
43404 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43405 grub_ata_pio_write once for every single sector, instead of for
43406 multiple sectors.
43407
ca25d8f0 434082007-10-31 Robert Millan <rmh@aybabtu.com>
43409
43410 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43411
43412 * conf/i386-linuxbios.rmk: New file.
43413
43414 * kern/i386/pc/hardware.c: Likewise.
43415 * term/i386/pc/at_keyboard.c: Likewise.
43416 * term/i386/pc/vga_text.c: Likewise.
43417
43418 * include/grub/i386/linuxbios/boot.h: Likewise.
43419 * include/grub/i386/linuxbios/console.h: Likewise.
43420 * include/grub/i386/linuxbios/init.h: Likewise.
43421 * include/grub/i386/linuxbios/kernel.h: Likewise.
43422 * include/grub/i386/linuxbios/loader.h: Likewise.
43423 * include/grub/i386/linuxbios/memory.h: Likewise.
43424 * include/grub/i386/linuxbios/serial.h: Likewise.
43425 * include/grub/i386/linuxbios/time.h: Likewise.
43426
43427 * kern/i386/linuxbios/init.c: Likewise.
43428 * kern/i386/linuxbios/startup.S: Likewise.
43429 * kern/i386/linuxbios/table.c: Likewise.
43430
e911ecc1 434312007-10-31 Marco Gerards <marco@gnu.org>
43432
43433 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43434 (ata_mod_SOURCES): New variable.
43435 (ata_mod_CFLAGS): Likewise.
43436 (ata_mod_LDFLAGS): Likewise.
43437
43438 * disk/ata.c: New file.
43439
43440 * include/grub/disk.h (grub_disk_dev_id): Add
43441 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43442
7f66d0e0 434432007-10-31 Robert Millan <rmh@aybabtu.com>
43444
43445 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43446 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43447
43448 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43449 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43450
43451 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43452 `<grub/types.h>'.
43453
43454 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43455
5cd7dd46 434562007-10-27 Robert Millan <rmh@aybabtu.com>
43457
3236ca65 43458 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43459
2ebfc90f 434602007-10-22 Robert Millan <rmh@aybabtu.com>
43461
43462 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43463 `"../realmode.S"'.
43464 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43465
73fcb0f3 434662007-10-22 Robert Millan <rmh@aybabtu.com>
43467
43468 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43469 (pkgdata_MODULES): Add `biosdisk.mod'.
43470 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43471 variables.
43472
43473 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43474 (grub_biosdisk_init): Replace with ...
43475 (GRUB_MOD_INIT(biosdisk)): ... this.
43476 (grub_biosdisk_fini): Replace with ...
43477 (GRUB_MOD_FINI(biosdisk)): ... this.
43478
43479 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43480 (grub_machine_init): Remove call to grub_biosdisk_init().
43481 (grub_machine_fini): Remove call to grub_machine_fini().
43482
43483 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43484
3381d274 434852007-10-22 Robert Millan <rmh@aybabtu.com>
43486
43487 * include/grub/time.h: New file.
43488 * include/grub/i386/time.h: Likewise.
43489 * include/grub/powerpc/time.h: Likewise.
43490 * include/grub/sparc64/time.h: Likewise.
43491
43492 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43493 instances to ...
43494 (KERNEL_MACHINE_TIME_HEADER): ... this.
43495 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43496 instances to ...
43497 (KERNEL_MACHINE_TIME_HEADER): ... this.
43498 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43499 instances to ...
43500 (KERNEL_MACHINE_TIME_HEADER): ... this.
43501
43502 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43503 (grub_millisleep): New function.
43504 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43505 (grub_millisleep): New function.
43506 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43507 Remove `grub/machine/time.h' include.
43508 (grub_millisleep): New function.
43509 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43510 Remove `grub/machine/time.h' include.
43511 (grub_millisleep): New function.
43512
43513 * include/grub/misc.h (grub_div_roundup): New function.
43514
43515 * kern/misc.c: Include `<grub/time.h>'.
43516 (grub_millisleep_generic): New function.
43517
43518 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43519 Add `time.h'.
43520 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43521 Add `time.h'.
43522 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43523 `machine/time.h'. Add `time.h'.
43524 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43525
a39a0312 435262007-10-21 Robert Millan <rmh@aybabtu.com>
43527
43528 * include/grub/misc.h (grub_max): New function.
43529
2aad70e2 435302007-10-21 Robert Millan <rmh@aybabtu.com>
43531
43532 * util/misc.c (grub_util_info): Call fflush() before returning.
43533
54b71c4b 435342007-10-20 Robert Millan <rmh@aybabtu.com>
43535
43536 * genmk.rb (Image): Copy `extra_flags' from here ...
43537 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43538
43539 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43540 to `argc' and `args' arguments.
43541
a979f513 435422007-10-17 Robert Millan <rmh@aybabtu.com>
43543
43544 * kern/i386/loader.S: New file.
43545
43546 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43547 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43548 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43549 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43550 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43551 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43552 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43553 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43554 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43555 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43556 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43557 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43558 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43559 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43560
43561 * kern/i386/realmode.S: New file.
43562
43563 * kern/i386/pc/startup.S (protstack): Moved from here ...
43564 * kern/i386/realmode.S (protstack)... to here.
43565 * kern/i386/pc/startup.S (gdt): Moved from here ...
43566 * kern/i386/realmode.S (gdt)... to here.
43567 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43568 * kern/i386/realmode.S (prot_to_real)... to here.
43569
43570 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43571 `kern/i386/realmode.S'.
43572
825fc8fd 435732007-10-17 Robert Millan <rmh@aybabtu.com>
43574
43575 * include/grub/i386/loader.h: New file.
43576
43577 * include/grub/i386/pc/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): Moved from here ...
43582 * include/grub/i386/loader.h (grub_linux_prot_size)
43583 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43584 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43585 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43586 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43587
43588 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43589
e179b2f4 435902007-10-15 Robert Millan <rmh@aybabtu.com>
43591
43592 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43593 filesystem when dev->disk is unset.
43594 Do probe for filesystem even when dev->disk->has_partitions is set.
43595 In case a filesystem is found, always report it.
43596 In case it isn't, if dev->disk->has_partitions is set, report that
43597 a partition table was found instead of reporting that no filesystem
43598 could be identified.
43599
5db82af6 436002007-10-12 Robert Millan <rmh@aybabtu.com>
43601
43602 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43603 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43604
68f6ac74 43605 * include/grub/types.h (grub_host_to_target16): New macro.
43606 (grub_host_to_target32): Likewise.
43607 (grub_host_to_target64): Likewise.
43608 (grub_target_to_host16): Likewise.
43609 (grub_target_to_host32): Likewise.
43610 (grub_target_to_host64): Likewise.
5db82af6 43611
43612 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43613 Renamed from to ...
43614 (GRUB_MOD_ALIGN): ...this. Update all users.
43615
68f6ac74 43616 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43617 grub_host_to_target32.
43618 Replace grub_be_to_cpu32 with grub_target_to_host32.
43619 (load_modules): Likewise.
43620 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43621 Replace grub_be_to_cpu32 with grub_target_to_host32.
43622 Replace grub_cpu_to_be16 with grub_host_to_target16.
43623 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43624
3cf497cc 436252007-10-12 Robert Millan <rmh@aybabtu.com>
43626
43627 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43628 * util/elf/grub-mkimage.c: ... here.
43629
43630 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43631 `util/powerpc/ieee1275/grub-mkimage.c'.
43632
c8cc3692 436332007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43634
c8cc3692 43635 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43636 and make it easier to figure out.
43637 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43638 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43639 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43640 leave us with less than HEAP_MIN_SIZE total heap.
43641 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43642
5c58b791 436432007-10-03 Robert Millan <rmh@aybabtu.com>
43644
43645 * include/grub/i386/io.h: New file.
43646 * commands/i386/pc/play.c (inb): Removed.
43647 (outb): Removed.
43648 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43649 with grub_outb().
afcd2ef8 43650 * term/i386/pc/serial.c (inb): Removed.
43651 (outb): Removed.
43652 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43653 with grub_outb().
43654 * term/i386/pc/vga.c (inb): Removed.
43655 (outb): Removed.
43656 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43657 with grub_outb().
5c58b791 43658
1a477ed6 436592007-10-02 Robert Millan <rmh@aybabtu.com>
43660
43661 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43663 Reported by Marcin Kurek.
43664
6b5d80fa 436652007-09-07 Robert Millan <rmh@aybabtu.com>
43666
43667 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43668 SmartFirmware version updates (as released by Sven Luther), and avoid
43669 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43670 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43671 known broken.
43672
5618afbf 436732007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43674
43675 From Hitoshi Ozeki:
43676 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43677 when merging two regions.
43678
6139dcd9 436792007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43680
508e39ee 43681 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43682 * normal/completion.c (grub_normal_do_completion): Likewise.
43683 Reported by Hitoshi Ozeki.
43684
436852007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43686
6139dcd9 43687 Do not use devices at boot in chainloading.
f19dbdb7 43688
6139dcd9 43689 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43690 (boot_part_addr): Likewise.
43691 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43692 with BOOT_DRIVE and BOOT_PART_ADDR.
43693 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43694 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43695
38da6516 436962007-08-29 Robert Millan <rmh@aybabtu.com>
43697
43698 Patch from Simon Peter <dn.tlp@gmx.net>:
43699 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43700 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43701 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43702 util/i386/pc/grub-setup.c_DEPENDENCIES.
43703 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43704 util/grub-probe.c_DEPENDENCIES.
43705 * conf/powerpc-ieee1275.rmk: Likewise.
43706
29d0928c 437072007-08-28 Robert Millan <rmh@aybabtu.com>
43708
43709 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43710 to tell grub-mkdevicemap how to name devices.
43711 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43712 feature).
43713
43714 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43715 util/i386/get_disk_name.c.
43716 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43717 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43718 util/ieee1275/get_disk_name.c.
43719
43720 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43721
43722 * DISTLIST: Add util/i386/get_disk_name.c and
43723 util/ieee1275/get_disk_name.c.
43724
43725 * util/grub-mkdevicemap.c: Replace device naming logic with
43726 grub_util_get_disk_name() calls.
43727
5a0d3cca 437282007-08-20 Robert Millan <rmh@aybabtu.com>
43729
43730 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43731 (so that it works for both plural and singular quantities).
43732
8b72db2f 437332007-08-05 Robert Millan <rmh@aybabtu.com>
43734
43735 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43736 so that [xz] isn't taken into account when determining order.
43737
352466bf 437382007-08-02 Marco Gerards <marco@gnu.org>
43739
43740 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43741 `include/multiboot2.h', `include/grub/elfload.h',
43742 `include/multiboot.h', `include/grub/multiboot.h',
43743 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43744 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43745 `kern/elf.c', `loader/multiboot_loader.c',
43746 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43747 `loader/i386/pc/multiboot2.c',
43748 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43749 `util/i386/pc/grub-mkrescue.in'. Remove
43750 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43751 `include/grub/i386/pc/util/biosdisk.h' and
43752 `include/grub/powerpc/ieee1275/multiboot.h'.
43753
8f096014 437542007-08-02 Bean <bean123ch@gmail.com>
43755
43756 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43757 (ntfs_mod_SOURCES): New variable.
43758 (ntfs_mod_CFLAGS): Likewise.
43759 (ntfs_mod_LDFLAGS): Likewise.
43760
43761 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43762 (grub_probe_SOURCES): Likewise.
43763 (grub_emu_SOURCES): Likewise.
43764
43765 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43766 (grub_emu_SOURCES): Likewise.
43767
43768 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43769 (grub_emu_SOURCES): Likewise.
f19dbdb7 43770
8f096014 43771 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43772
43773 * fs/ntfs.c: New file.
43774
9959f7db 437752007-08-02 Bean <bean123ch@gmail.com>
43776
43777 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43778
43779 * file.h (grub_file): Likewise.
43780
43781 * fshelp.h (grub_fshelp_read_file): Likewise.
43782
43783 * util/i386/pc/grub-setup.c (setup): Likewise.
43784 (save_first_sector): Likewise.
43785 (save_blocklists): Likewise.
f19dbdb7 43786
9959f7db 43787 * fs/affs.c (grub_affs_read_file): Likewise.
43788
43789 * fs/ext2.c (grub_ext2_read_file): Likewise.
43790
43791 * fs/fat.c (grub_fat_read_data): Likewise.
43792
43793 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43794
43795 * fs/hfs.c (grub_hfs_read_file): Likewise.
43796
43797 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43798
43799 * fs/jfs.c (grub_jfs_read_file): Likewise.
43800
43801 * fs/minix.c (grub_minix_read_file): Likewise.
43802
43803 * fs/sfs.c (grub_sfs_read_file): Likewise.
43804
43805 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43806
9959f7db 43807 * fs/xfs.c (grub_xfs_read_file): Likewise.
43808
43809 * command/blocklist.c (read_blocklist): Likewise.
43810 (print_blocklist): Likewise.
43811
0a203f83 438122007-08-02 Marco Gerards <marco@gnu.org>
43813
43814 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43815 `util/hostfs.c'.
43816
43817 * disk/host.c: New file.
43818
43819 * util/hostfs.c: Likewise.
43820
43821 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43822 return `GRUB_ERR_BAD_FS'.
43823 * fs/sfs.c (grub_sfs_mount): Likewise.
43824 * fs/xfs.c (grub_xfs_mount): Likewise.
43825
43826 * include/grub/disk.h (enum grub_disk_dev_id): Add
43827 `GRUB_DISK_DEVICE_HOST_ID'.
43828
43829 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43830
e5dfe777 438312007-07-24 Jerone Young <jerone@gmail.com>
43832
f19dbdb7 43833 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43834 modules for compilation.
43835 * conf/powerpc-ieee1275.rmk: Likewise.
43836
43837 * include/multiboot.h: Move multiboot definitions to one file. Rename
43838 many definitions to not get grub specific.
43839 * include/multiboot2.h: Create header with multiboot 2 definitions.
43840 * include/grub/multiboot.h: Header for grub specific function
43841 prototypes and definitions.
43842 * include/grub/multiboot2.h: Likewise.
43843 * include/grub/multiboot_loader.h: Likewise.
43844 * include/grub/i386/pc/multiboot.h: Removed.
43845 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43846
43847 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43848 and 2 to allow for one multiboot and module commands.
43849 * loader/multiboot2.c: Add multiboot2 functionality.
43850 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43851 and definition names.
43852 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43853 2 functions.
43854 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43855 ieee1275 specific multiboot2 code.
43856
43857 * kern/i386/pc/startup.S: Change headers and definition names for
43858 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43859
daf0f0ba 438602007-07-22 Robert Millan <rmh@aybabtu.com>
43861
43862 * geninitheader.sh: Process file specified in first parameter rather
43863 than hardcoding grub_modules_init.lst.
fe6b695a 43864 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43865 than hardcoding grub_modules_init.h.
43866
43867 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43868 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43869 grub_probe_init.[ch] and grub_setup_init.[ch].
43870
43871 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43872 grub_modules_init.h with grub_emu_init.h.
43873 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43874 grub_probe_init.[ch] files.
43875 * conf/i386-efi.rmk: Likewise.
43876 * conf/i386-pc.rmk: Likewise.
43877 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43878 grub_setup_init.[ch] files.
43879
43880 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43881 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43882 to initialize modules rather than a list of hardcoded functions.
43883 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43884 grub_init_all() to initialize modules rather than a list of hardcoded
43885 functions.
43886
54cdc1cc 438872007-07-22 Robert Millan <rmh@aybabtu.com>
43888
43889 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43890 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43891
ad0686cc 438922007-07-22 Robert Millan <rmh@aybabtu.com>
43893
43894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43895 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43897 flag when running on SmartFirmware.
43898 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43899 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43900 was set.
43901
43902 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43903 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43904 rather than decreasing it.
43905
43906 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43907 there's not enough space to do it, fail in the same way as when it
43908 can't be done because there are no partitions.
43909
43910 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43911 when nvsetenv failed.
43912
969c02ec 439132007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43914
43915 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43916 because this rule is automatically generated.
43917 (grub-mkrescue): Removed for the same reason as above.
43918
5a79f472 439192007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43920
43921 Migrate to GNU General Public License Version 3.
f19dbdb7 43922
5a79f472 43923 * COPYING: Replaced with the plain text version of GPLv3.
43924
43925 * config.guess: Updated from gnulib.
43926 * config.sub: Likewise.
43927
43928 * geninit.sh: Output a GPLv3 copyright notice.
43929 * geninitheader.sh: Likewise.
43930 * genmodsrc.sh: Likewise.
43931 * gensymlist.sh.in: Likewise.
43932
43933 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43934 * boot/i386/pc/diskboot.S: Likewise.
43935 * boot/i386/pc/pxeboot.S: Likewise.
43936 * commands/blocklist.c: Likewise.
43937 * commands/boot.c: Likewise.
43938 * commands/cat.c: Likewise.
43939 * commands/cmp.c: Likewise.
43940 * commands/configfile.c: Likewise.
43941 * commands/echo.c: Likewise.
43942 * commands/help.c: Likewise.
43943 * commands/ls.c: Likewise.
43944 * commands/search.c: Likewise.
43945 * commands/terminal.c: Likewise.
43946 * commands/test.c: Likewise.
43947 * commands/videotest.c: Likewise.
43948 * commands/i386/cpuid.c: Likewise.
43949 * commands/i386/pc/halt.c: Likewise.
43950 * commands/i386/pc/play.c: Likewise.
43951 * commands/i386/pc/reboot.c: Likewise.
43952 * commands/i386/pc/vbeinfo.c: Likewise.
43953 * commands/i386/pc/vbetest.c: Likewise.
43954 * commands/ieee1275/halt.c: Likewise.
43955 * commands/ieee1275/reboot.c: Likewise.
43956 * commands/ieee1275/suspend.c: Likewise.
43957 * disk/loopback.c: Likewise.
43958 * disk/lvm.c: Likewise.
43959 * disk/raid.c: Likewise.
43960 * disk/efi/efidisk.c: Likewise.
43961 * disk/i386/pc/biosdisk.c: Likewise.
43962 * disk/ieee1275/ofdisk.c: Likewise.
43963 * font/manager.c: Likewise.
43964 * fs/affs.c: Likewise.
43965 * fs/ext2.c: Likewise.
43966 * fs/fat.c: Likewise.
43967 * fs/fshelp.c: Likewise.
43968 * fs/hfs.c: Likewise.
43969 * fs/hfsplus.c: Likewise.
43970 * fs/iso9660.c: Likewise.
43971 * fs/jfs.c: Likewise.
43972 * fs/minix.c: Likewise.
43973 * fs/sfs.c: Likewise.
43974 * fs/ufs.c: Likewise.
43975 * fs/xfs.c: Likewise.
43976 * hello/hello.c: Likewise.
43977 * include/grub/acorn_filecore.h: Likewise.
43978 * include/grub/arg.h: Likewise.
43979 * include/grub/bitmap.h: Likewise.
43980 * include/grub/boot.h: Likewise.
43981 * include/grub/cache.h: Likewise.
43982 * include/grub/device.h: Likewise.
43983 * include/grub/disk.h: Likewise.
43984 * include/grub/dl.h: Likewise.
43985 * include/grub/elfload.h: Likewise.
43986 * include/grub/env.h: Likewise.
43987 * include/grub/err.h: Likewise.
43988 * include/grub/file.h: Likewise.
43989 * include/grub/font.h: Likewise.
43990 * include/grub/fs.h: Likewise.
43991 * include/grub/fshelp.h: Likewise.
43992 * include/grub/gzio.h: Likewise.
43993 * include/grub/hfs.h: Likewise.
43994 * include/grub/kernel.h: Likewise.
43995 * include/grub/loader.h: Likewise.
43996 * include/grub/lvm.h: Likewise.
43997 * include/grub/misc.h: Likewise.
43998 * include/grub/mm.h: Likewise.
43999 * include/grub/net.h: Likewise.
44000 * include/grub/normal.h: Likewise.
44001 * include/grub/parser.h: Likewise.
44002 * include/grub/partition.h: Likewise.
44003 * include/grub/pc_partition.h: Likewise.
44004 * include/grub/raid.h: Likewise.
44005 * include/grub/rescue.h: Likewise.
44006 * include/grub/script.h: Likewise.
44007 * include/grub/setjmp.h: Likewise.
44008 * include/grub/symbol.h: Likewise.
44009 * include/grub/term.h: Likewise.
44010 * include/grub/terminfo.h: Likewise.
44011 * include/grub/tparm.h: Likewise.
44012 * include/grub/types.h: Likewise.
44013 * include/grub/video.h: Likewise.
44014 * include/grub/efi/api.h: Likewise.
44015 * include/grub/efi/chainloader.h: Likewise.
44016 * include/grub/efi/console.h: Likewise.
44017 * include/grub/efi/console_control.h: Likewise.
44018 * include/grub/efi/disk.h: Likewise.
44019 * include/grub/efi/efi.h: Likewise.
44020 * include/grub/efi/pe32.h: Likewise.
44021 * include/grub/efi/time.h: Likewise.
44022 * include/grub/i386/linux.h: Likewise.
44023 * include/grub/i386/setjmp.h: Likewise.
44024 * include/grub/i386/types.h: Likewise.
44025 * include/grub/i386/efi/kernel.h: Likewise.
44026 * include/grub/i386/efi/loader.h: Likewise.
44027 * include/grub/i386/efi/time.h: Likewise.
44028 * include/grub/i386/pc/biosdisk.h: Likewise.
44029 * include/grub/i386/pc/boot.h: Likewise.
44030 * include/grub/i386/pc/chainloader.h: Likewise.
44031 * include/grub/i386/pc/console.h: Likewise.
44032 * include/grub/i386/pc/init.h: Likewise.
44033 * include/grub/i386/pc/kernel.h: Likewise.
44034 * include/grub/i386/pc/loader.h: Likewise.
44035 * include/grub/i386/pc/memory.h: Likewise.
44036 * include/grub/i386/pc/multiboot.h: Likewise.
44037 * include/grub/i386/pc/serial.h: Likewise.
44038 * include/grub/i386/pc/time.h: Likewise.
44039 * include/grub/i386/pc/vbe.h: Likewise.
44040 * include/grub/i386/pc/vbeblit.h: Likewise.
44041 * include/grub/i386/pc/vbefill.h: Likewise.
44042 * include/grub/i386/pc/vbeutil.h: Likewise.
44043 * include/grub/i386/pc/vga.h: Likewise.
44044 * include/grub/ieee1275/ieee1275.h: Likewise.
44045 * include/grub/ieee1275/ofdisk.h: Likewise.
44046 * include/grub/powerpc/libgcc.h: Likewise.
44047 * include/grub/powerpc/setjmp.h: Likewise.
44048 * include/grub/powerpc/types.h: Likewise.
44049 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44050 * include/grub/powerpc/ieee1275/console.h: Likewise.
44051 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44052 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44053 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44054 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44055 * include/grub/powerpc/ieee1275/time.h: Likewise.
44056 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44057 * include/grub/sparc64/libgcc.h: Likewise.
44058 * include/grub/sparc64/setjmp.h: Likewise.
44059 * include/grub/sparc64/types.h: Likewise.
44060 * include/grub/sparc64/ieee1275/console.h: Likewise.
44061 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44062 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44063 * include/grub/sparc64/ieee1275/time.h: Likewise.
44064 * include/grub/util/biosdisk.h: Likewise.
44065 * include/grub/util/getroot.h: Likewise.
44066 * include/grub/util/lvm.h: Likewise.
44067 * include/grub/util/misc.h: Likewise.
44068 * include/grub/util/raid.h: Likewise.
44069 * include/grub/util/resolve.h: Likewise.
44070 * io/gzio.c: Likewise.
44071 * kern/device.c: Likewise.
44072 * kern/disk.c: Likewise.
44073 * kern/dl.c: Likewise.
44074 * kern/elf.c: Likewise.
44075 * kern/env.c: Likewise.
44076 * kern/err.c: Likewise.
44077 * kern/file.c: Likewise.
44078 * kern/fs.c: Likewise.
44079 * kern/loader.c: Likewise.
44080 * kern/main.c: Likewise.
44081 * kern/misc.c: Likewise.
44082 * kern/mm.c: Likewise.
44083 * kern/parser.c: Likewise.
44084 * kern/partition.c: Likewise.
44085 * kern/rescue.c: Likewise.
44086 * kern/term.c: Likewise.
44087 * kern/efi/efi.c: Likewise.
44088 * kern/efi/init.c: Likewise.
44089 * kern/efi/mm.c: Likewise.
44090 * kern/i386/dl.c: Likewise.
44091 * kern/i386/efi/init.c: Likewise.
44092 * kern/i386/efi/startup.S: Likewise.
44093 * kern/i386/pc/init.c: Likewise.
44094 * kern/i386/pc/lzo1x.S: Likewise.
44095 * kern/i386/pc/startup.S: Likewise.
44096 * kern/ieee1275/ieee1275.c: Likewise.
44097 * kern/powerpc/cache.S: Likewise.
44098 * kern/powerpc/dl.c: Likewise.
44099 * kern/powerpc/ieee1275/cmain.c: Likewise.
44100 * kern/powerpc/ieee1275/crt0.S: Likewise.
44101 * kern/powerpc/ieee1275/init.c: Likewise.
44102 * kern/powerpc/ieee1275/openfw.c: Likewise.
44103 * kern/sparc64/cache.S: Likewise.
44104 * kern/sparc64/dl.c: Likewise.
44105 * kern/sparc64/ieee1275/init.c: Likewise.
44106 * kern/sparc64/ieee1275/openfw.c: Likewise.
44107 * loader/efi/chainloader.c: Likewise.
44108 * loader/efi/chainloader_normal.c: Likewise.
44109 * loader/i386/efi/linux.c: Likewise.
44110 * loader/i386/efi/linux_normal.c: Likewise.
44111 * loader/i386/pc/chainloader.c: Likewise.
44112 * loader/i386/pc/chainloader_normal.c: Likewise.
44113 * loader/i386/pc/linux.c: Likewise.
44114 * loader/i386/pc/linux_normal.c: Likewise.
44115 * loader/i386/pc/multiboot.c: Likewise.
44116 * loader/i386/pc/multiboot_normal.c: Likewise.
44117 * loader/powerpc/ieee1275/linux.c: Likewise.
44118 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44119 * normal/arg.c: Likewise.
44120 * normal/cmdline.c: Likewise.
44121 * normal/command.c: Likewise.
44122 * normal/completion.c: Likewise.
44123 * normal/execute.c: Likewise.
44124 * normal/function.c: Likewise.
44125 * normal/lexer.c: Likewise.
44126 * normal/main.c: Likewise.
44127 * normal/menu.c: Likewise.
44128 * normal/menu_entry.c: Likewise.
44129 * normal/misc.c: Likewise.
44130 * normal/parser.y: Likewise.
44131 * normal/script.c: Likewise.
44132 * normal/i386/setjmp.S: Likewise.
44133 * normal/powerpc/setjmp.S: Likewise.
44134 * normal/sparc64/setjmp.S: Likewise.
44135 * partmap/acorn.c: Likewise.
44136 * partmap/amiga.c: Likewise.
44137 * partmap/apple.c: Likewise.
44138 * partmap/gpt.c: Likewise.
44139 * partmap/pc.c: Likewise.
44140 * partmap/sun.c: Likewise.
44141 * term/gfxterm.c: Likewise.
44142 * term/terminfo.c: Likewise.
44143 * term/efi/console.c: Likewise.
44144 * term/i386/pc/console.c: Likewise.
44145 * term/i386/pc/serial.c: Likewise.
44146 * term/i386/pc/vesafb.c: Likewise.
44147 * term/i386/pc/vga.c: Likewise.
44148 * term/ieee1275/ofconsole.c: Likewise.
44149 * util/biosdisk.c: Likewise.
44150 * util/console.c: Likewise.
44151 * util/genmoddep.c: Likewise.
44152 * util/getroot.c: Likewise.
44153 * util/grub-emu.c: Likewise.
44154 * util/grub-mkdevicemap.c: Likewise.
44155 * util/grub-probe.c: Likewise.
44156 * util/lvm.c: Likewise.
44157 * util/misc.c: Likewise.
44158 * util/raid.c: Likewise.
44159 * util/resolve.c: Likewise.
44160 * util/update-grub.in: Likewise.
44161 * util/update-grub_lib.in: Likewise.
44162 * util/grub.d/00_header.in: Likewise.
44163 * util/grub.d/10_hurd.in: Likewise.
44164 * util/grub.d/10_linux.in: Likewise.
44165 * util/i386/efi/grub-install.in: Likewise.
44166 * util/i386/efi/grub-mkimage.c: Likewise.
44167 * util/i386/pc/grub-install.in: Likewise.
44168 * util/i386/pc/grub-mkimage.c: Likewise.
44169 * util/i386/pc/grub-mkrescue.in: Likewise.
44170 * util/i386/pc/grub-setup.c: Likewise.
44171 * util/i386/pc/misc.c: Likewise.
44172 * util/powerpc/ieee1275/grub-install.in: Likewise.
44173 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44174 * util/powerpc/ieee1275/misc.c: Likewise.
44175 * video/bitmap.c: Likewise.
44176 * video/video.c: Likewise.
44177 * video/i386/pc/vbe.c: Likewise.
44178 * video/i386/pc/vbeblit.c: Likewise.
44179 * video/i386/pc/vbefill.c: Likewise.
44180 * video/i386/pc/vbeutil.c: Likewise.
44181 * video/readers/tga.c: Likewise.
44182
3572d015 441832007-07-02 Robert Millan <rmh@aybabtu.com>
44184
44185 * conf/i386-efi.rmk: Replace obsolete reference to
44186 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44187 with util/getroot.c.
44188 * conf/powerpc-ieee1275.rmk: Likewise.
44189 * conf/sparc64-ieee1275.rmk: Likewise.
44190
44191 * util/grub-emu.c (main): Fix unchecked pointer handling.
44192
2c2a681b 441932007-07-02 Robert Millan <rmh@aybabtu.com>
44194
44195 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44196 invocation to fail, in order to support partition-less media.
44197
44198 * util/i386/pc/grub-install.in: Likewise.
44199
44200 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44201 which fs or partmap modules are needed (akin to its sister scripts).
44202
44203 Also use grub-probe to get rid of unportable /proc/mounts check.
44204
44205 Print the same informational message that the other scripts do, before
fe6b695a 44206 exiting.
2c2a681b 44207
6193defe 442082007-06-23 Robert Millan <rmh@aybabtu.com>
44209
fe6b695a 44210 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44211 a font file can be found and, if so, echo the GRUB path to it.
44212
44213 * util/update-grub.in: Handle multiple terminals depending on user
44214 input, platform availability and font file presence. Propagate
44215 variables of our findings to /etc/grub.d/ children.
44216
44217 * util/grub.d/00_header.in: Handle multiple terminals, based on
44218 environment setup by update-grub.
44219
eface1dc 442202007-06-23 Robert Millan <rmh@aybabtu.com>
44221
ba50d28f 44222 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44223
bf697e28 442242007-06-21 Robert Millan <rmh@aybabtu.com>
44225
44226 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44227 indicate end of data section in kernel image.
44228 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44229 GRUB_KERNEL_MACHINE_DATA_END.
44230
44231 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44232 space for it.
44233 * kern/i386/efi/startup.S: Likewise.
44234
44235 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44236 during image generation. Implement --prefix option to override this
44237 patch.
44238 * util/i386/efi/grub-mkimage.c: Likewise.
44239
44240 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44241 code to make path relative to its root into a separate function.
44242
44243 * util/i386/pc/grub-install.in: Use newly provided
44244 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44245 pass the result to grub-install --prefix.
44246
baa574b4 442472007-06-13 Robert Millan <rmh@aybabtu.com>
44248
44249 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44250 DEFAULT_DEVICE_MAP.
44251 * util/grub-emu.c: Use above definitions from misc.h instead of
44252 defining them.
44253 * util/grub-mkdevicemap.c: Likewise.
44254 * util/i386/pc/grub-setup.c: Likewise.
44255 * util/grub-probe.c: Likewise.
44256 (probe): Abort with grub_util_error() when either
44257 grub_guess_root_device or grub_util_get_grub_dev fails.
44258
0215dcbf 442592007-06-12 Robert Millan <rmh@aybabtu.com>
44260
44261 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44262 "pager" assignment.
44263 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44264 "pcdata".
44265 * util/grub-probe.c (probe): Likewise for "drive_name".
44266
8af2ab7b 442672007-06-11 Robert Millan <rmh@aybabtu.com>
44268
44269 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44270 not just the cdrom one.
44271
59d31694 442722007-06-11 Robert Millan <rmh@aybabtu.com>
44273
44274 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44275 Add --pkglibdir=DIR option to override pkglibdir.
44276 Mention --image-type=TYPE in help output.
44277 Fix --grub-mkimage (it was a no-op).
fe6b695a 44278 Abort gracefully when no parameter is given.
59d31694 44279
7ee367e4 442802007-06-11 Robert Millan <rmh@aybabtu.com>
44281
44282 * util/i386/pc/grub-mkrescue.in: New file.
44283 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44284 * Makefile.in: Handle bin_SCRIPTS.
44285
29b0ed46 442862007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44287
44288 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44289 list of video modes.
44290
c0f90770 442912007-06-06 Robert Millan <rmh@aybabtu.com>
44292
44293 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44294 file doesn't exist, or if it is in a filesystem grub can't read.
44295
44296 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44297 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44298 header comment to fit in 80 columns when the variables are resolved.
44299
44300 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44301 could be identified by update-grub. Remove redundant check for
fe6b695a 44302 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44303 handles that).
44304
fb36dc26 443052007-06-04 Robert Millan <rmh@aybabtu.com>
44306
44307 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44308
44309 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44310
44311 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44312
0c68c93e 443132007-06-04 Robert Millan <rmh@aybabtu.com>
44314
44315 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44316
44317 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44318 grub_apple_partition_map_fini.
44319
44320 * util/biosdisk.c
44321 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44322 to access >2 TiB disks).
44323
44324 Print disk->total_sectors with %llu instead of %lu, since this
44325 variable is always 64-bit (prevents wrong disk size from being displayed
44326 on either >2 TiB disk or big-endian CPU).
44327
44328 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44329 into a generic case that supports all (sane) partition maps.
44330
44331 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44332 breaks big-endian.
44333
44334 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44335 and grub_apple_partition_map_fini() after that.
44336
0f23eb74 443372007-06-01 Robert Millan <rmh@aybabtu.com>
44338
44339 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44340
44341 * util/grub.d/00_header.in: Only enable gfxterm when
44342 convert_system_path_to_grub_path() succeeds.
44343
42c71976 443442007-05-20 Robert Millan <rmh@aybabtu.com>
44345
44346 * util/update-grub_lib.in: New file.
44347 * DISTLIST: Add update-grub_lib.in.
44348 * conf/common.rmk: Generate update-grub_lib and install it in
44349 $(lib_DATA).
44350 * Makefile.in: Add install routine for $(lib_DATA).
44351
44352 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44353 function provided by update-grub_lib to support arbitrary paths of
44354 unifont.pff.
44355 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44356 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44357
5beb2291 443582007-05-19 Robert Millan <rmh@aybabtu.com>
44359
44360 * commands/i386/cpuid.c: New module.
44361 * DISTLIST: Add it.
44362 * conf/i386-efi.rmk: Enable cpuid.mod.
44363 * conf/i386-pc.rmk: Likewise.
44364
7262eca1 443652007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44366
44367 * kern/disk.c (grub_disk_read): Check return value of
44368 grub_realloc().
44369
260ba823 443702007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44371
44372 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44373 arrays.
44374 * disk/raid.c (grub_raid_open): Likewise.
44375
1ecb6cf2 443762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44377
44378 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44379 stack instead of on the heap.
44380
44381 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44382 before doing a read on it.
44383
44384 * configure.ac: Only use -fno-stack-protector for the target
44385 environment.
f19dbdb7 44386
21c8cbb1 443872007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44388
44389 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44390 __attribute_ ((unused)) to mode_type argument.
44391
44392 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44393
21c8cbb1 44394 * kern/misc.c (memcmp): Fix prototype.
44395
44396 * include/grub/partition.h [GRUB_UTIL]
44397 (grub_gpt_partition_map_init): Add prototype.
44398 (grub_gpt_partition_map_fini): Likewise.
44399
44400 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44401 at the right place.
44402
44403 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44404 (grub_fat_read_data): Likewise.
44405 (grub_fat_find_dir): Likewise.
44406
44407 * font/manager.c (find_glyph): Make table a const.
44408 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44409
849d55d3 444102007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44411
44412 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44413 code, first search for device in /dev/mapper, then in /dev.
44414 (grub_util_get_grub_dev): New function.
44415 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44416 prototype.
44417 * util/grub-probe.c (probe): Remove check for RAID, call
44418 grub_util_get_grub_dev() instead of
44419 grub_util_biosdisk_get_grub_dev().
44420 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44421 grub_util_biosdisk_get_grub_dev().
44422 * util/i386/pc/grub-setup.c (main): Likewise.
44423
8fff7c2f 444242007-05-16 Robert Millan <rmh@aybabtu.com>
44425
44426 * DISTLIST: Update for the latest changes.
44427 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44428 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44429 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44430 grub/util/biosdisk.h.
44431 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44432 grub/util/biosdisk.h.
44433
48e12b52 444342007-05-16 Robert Millan <rmh@aybabtu.com>
44435
44436 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44437
46b9d128 444382007-05-16 Robert Millan <rmh@aybabtu.com>
44439
44440 * util/i386/efi/grub-install.in: New.
44441 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44442 newly added grub-install.
44443 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44444 include.
44445 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44446 grub/util/biosdisk.h.
44447 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44448 grub/util/biosdisk.h.
44449
2d1a40a9 444502007-05-16 Robert Millan <rmh@aybabtu.com>
44451
44452 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44453 * include/grub/util/biosdisk.h: ... here.
44454 * util/i386/pc/biosdisk.c: Moved to ...
44455 * util/biosdisk.c: ... here.
44456 * util/i386/pc/getroot.c: Moved to ...
44457 * util/getroot.c: ... here.
44458 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44459 * util/grub-mkdevicemap.c: ... here.
44460 * util/i386/pc/grub-probe.c: Moved to ...
44461 * util/grub-probe.c: ... here.
44462
9e26e3bc 444632007-05-15 Robert Millan <rmh@aybabtu.com>
44464
44465 * util/update-grub.in: Remove duplicated line in grub.cfg header
44466 message.
44467
57f96397 444682007-05-13 Robert Millan <rmh@aybabtu.com>
44469
44470 * util/update-grub.in: Fix a few assumptions about the devices holding
44471 /, /boot and /boot/grub being the same.
44472 * util/grub.d/00_header.in: Likewise.
44473 * util/grub.d/10_hurd.in: Likewise.
44474 * util/grub.d/10_linux.in: Likewise.
44475
44476 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44477 patterns. Use that to define the `.old' suffix as older than `'.
44478
44479 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44480
44481 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44482 the grub.cfg header message.
44483
2e610d62 444842007-05-11 Robert Millan <rmh@aybabtu.com>
44485
44486 * util/update-grub.in: Create device.map if it doesn't already exist,
44487 before attempting to run grub-probe.
44488 Check for grub-probe and grub-mkdevicemap with the same code
44489 grub-install is using.
44490 Remove test mode.
44491
3f6a10ef 444922007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44493
44494 * Makefile.in: Add the datarootdir autoconf variable.
44495
02e7b75e 444962007-05-09 Robert Millan <rmh@aybabtu.com>
44497
44498 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44499 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44500
75f396cc 445012007-05-07 Robert Millan <rmh@aybabtu.com>
44502
44503 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44504 determine partition map module.
44505 * util/i386/pc/grub-install.in: Use this feature to decide which
44506 partition module to load, instead of hardcoding pc and gpt.
44507
da65cb36 445082007-05-07 Robert Millan <rmh@aybabtu.com>
44509
44510 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44511 source directory differs from build directory.
44512
b57d6a91 445132007-05-05 Robert Millan <rmh@aybabtu.com>
44514
44515 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44516 initialisation.
44517
509d00f1 445182007-05-05 Robert Millan <rmh@aybabtu.com>
44519
44520 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44521
c48f23ef 445222007-05-05 Robert Millan <rmh@aybabtu.com>
44523
44524 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44525 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44526
20b97658 445272007-05-05 Robert Millan <rmh@aybabtu.com>
44528
44529 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44530 (grub_probe_SOURCES): Likewise.
44531 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44532 GPT and initialize dos_part and bsd_part accordingly.
44533 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44534 install_bsd_part.
44535 (main): Activate gpt module for use during partition identification,
44536 and deactivate it afterwards.
44537 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44538 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44539 partition identification, and deactivate it afterwards.
44540
99123174 445412007-05-05 Robert Millan <rmh@aybabtu.com>
44542
44543 * term/i386/pc/console.c (grub_console_fini): Call
44544 grub_term_set_current() before grub_term_unregister().
44545
ebd97f6e 445462007-05-04 Robert Millan <rmh@aybabtu.com>
44547
44548 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44549 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44550 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44551 and update-grub_DATA.
44552 * conf/common.rmk: Build and install update-grub components.
44553 * conf/common.mk: Regenerate.
44554 * util/update-grub.in: New. Core of update-grub.
44555 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44556 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44557 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44558 * util/grub.d/README: New. Document grub.d directory layout.
44559
b06a264d 445602007-05-01 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/grub-emu.c: Move initialization functions
44563 grub_util_biosdisk_init() and grub_init_all() before
44564 grub_util_biosdisk_get_grub_dev(), which relies on them.
44565
41f0050e 445662007-04-19 Robert Millan <rmh@aybabtu.com>
44567
44568 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44569 it is used later.
44570
04582bb3 445712007-04-18 Jerone Young <jerone@gmail.com>
44572
f19dbdb7 44573 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44574 stanza.
44575
08db4632 445762007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44577
08db4632 44578 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44579 continue on and look for device node with real device name.
44580
801b76be 445812007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44582
fe6b695a 44583 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44584 ability.
44585 * Makefile.in: Add autoconf package transformation code.
44586 * util/i386/pc/grub-install.in: Likewise.
44587 * util/powerpc/ieee1275/grub-install.in: Likewise.
44588
6795c4e1 445892007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44590
44591 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44592 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44593 (EXT2_REVISION): Likewise.
44594 (EXT2_INODE_SIZE): Likewise.
44595 (struct grub_ext2_block_group): Added a missing member
44596 "used_dirs".
44597 (grub_ext2_read_inode): Divide by the inode size in a superblock
44598 instead of 128 to obtain INODES_PER_BLOCK.
44599 Use the macro EXT2_INODE_SIZE instead of directly using
44600 SBLOCK->INODE_SIZE.
44601
d70af616 446022007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44603
44604 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44605 superblock instead of the structure size to compute an
44606 offset. This fixes the problem that GRUB could not read a
44607 filesystem when inode size is different from 128-byte.
44608
3b801603 446092007-03-05 Marco Gerards <marco@gnu.org>
44610
44611 * normal/main.c (read_config_file): When "menu" is not set, create
44612 an initial context.
44613
4785bfe4 446142007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44615
44616 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44617 (HEAP_LIMIT): New macro.
44618 (grub_claim_heap): Claim memory up to `heaplimit'.
44619
a0cbb023 446202007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44621
44622 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44623 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44624 (_start): Likewise.
44625 (grub_arch_modules_addr): Return address after `_end'.
44626 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44627 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44628 (add_segments): Calculate `_end' from phdr size and location.
44629 (ALIGN_UP): Moved to ...
44630 * include/grub/misc.h: here.
44631 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44632 New macro.
44633 (GRUB_IEEE1275_MODULE_BASE): Removed.
44634
fd7d8eba 446352007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44636
44637 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44638 loop boundary.
44639
9b09e6fc 446402007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44641
44642 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44643 All users updated.
44644 (grub_elf64_load_hook_t): Likewise.
44645 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44646 debug output.
44647
3ce27299 446482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44649
44650 * kern/mm.c: Update copyright.
44651 (grub_mm_debug): Correct syntax error.
44652 (grub_mm_dump_free): New function.
44653 (grub_debug_free): Call `grub_free'.
44654 * include/grub/mm.h: Update copyright.
44655 (grub_mm_dump_free): Add declaration.
44656
077d5fee 446572007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44658
44659 * include/grub/ieee1275/ieee1275.h: Update copyright.
44660 * kern/powerpc/ieee1275/init.c: Likewise.
44661 * kern/powerpc/ieee1275/openfw.c: Likewise.
44662
44663 * loader/powerpc/ieee1275/linux.c: Likewise.
44664 * include/grub/elfload.h: Likewise.
44665 * kern/elf.c: Likewise.
44666 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44667 callers.
44668 (grub_elf64_load): Likewise.
44669 (grub_elf32_load_segment): Move to a nested function.
44670 (grub_elf64_load_segment): Likewise.
44671
dc946850 446722007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44673
44674 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44675 prototype.
44676 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44677 (grub_heap_len): Likewise.
44678 (HEAP_SIZE): New macro.
44679 (grub_claim_heap): New function.
44680 (grub_machine_init): Don't claim heap directly. Call
44681 `grub_claim_heap'.
44682 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44683 (grub_available_iterate): New function.
44684
baa2a121 446852007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44686
44687 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44688 * configure.ac: Use it for testing the HOST and TARGET compilers.
44689
4fe9862e 446902006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44691
44692 * Makefile.in (enable_grub_emu): New variable.
44693 * configure.ac (--enable-grub-emu): New option.
44694 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44695 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44696 * conf/i386-pc.rmk: Likewise.
44697 * conf/powerpc-ieee1275.rmk: Likewise.
44698 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44699
a8aa5762 447002006-12-12 Marco Gerards <marco@gnu.org>
44701
44702 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44703
44704 * kern/env.c (grub_env_unset): Don't free the member `value' when
44705 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44706 pointer.
44707
44708 * normal/main.c (current_menu): Removed.
44709 (free_menu): Unset the `menu' environment variable.
44710 (grub_normal_menu_addentry): Make use of the environment variable
44711 `menu', instead of using the global `current_menu'. Allocate
44712 memory for the sourcecode of this entry.
44713 (read_config_file): New argument `nested', changed all callers.
44714 Only in the case of a new context, initialize a new menu. Set the
44715 `menu' environment variable.
44716 (grub_normal_execute): Don't set and unset the environment
44717 variable `menu' here anymore. Only free the menu when leaving the
44718 context.
44719
44720 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44721 leak.
44722
957b3a3e 447232006-12-11 Marco Gerards <marco@gnu.org>
44724
44725 * normal/menu_entry.c (run): Fix off by one bug so the last line
44726 is executed. Move the loader check to outside the loop.
44727
ef875714 447282006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44729
44730 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44731
4e739985 447322006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44733
44734 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44735 the number of sectors. Reported by Andrey Shuvikov
44736 <mr_hyro@yahoo.com>.
f19dbdb7 44737
790707f2 447382006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44739
44740 * kern/disk.c (grub_disk_read): When there is a read error, always
44741 try to read only the necessary data.
f19dbdb7 44742
790707f2 44743 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44744 disk/raid.c.
44745 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44746 prototype.
44747 [GRUB_UTIL] (grub_raid_fini): Likewise.
44748 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44749 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44750 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44751 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44752 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44753 and grub_raid_fini().
f19dbdb7 44754
03e58196 447552006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44756
44757 * include/grub/types.h (__unused): Rename to UNUSED.
44758 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44759 (grub_elf64_size): Likewise.
f19dbdb7 44760
ae4f23bf 447612006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44762
44763 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44764 grub_error_push and grub_error_pop in the error-handling path.
44765 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44766 length.
44767
2166cc83 447682006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44769
44770 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44771 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44773 (kernel_elf_SOURCES): Likewise.
44774 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44775 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44776 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44777 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44778 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44779 (elf_mod_SOURCES): New variable.
44780 (elf_mod_CFLAGS): Likewise.
44781 (elf_mod_LDFLAGS): Likewise.
44782 * include/grub/types.h (__unused): New macro.
44783 * include/grub/elfload.h: New file.
44784 * kern/elf.c: Likewise.
44785 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44786 (ELF32_LOADMASK): New macro.
44787 (ELF64_LOADMASK): Likewise.
44788 (vmlinux): Removed.
44789 (grub_linux_load32): New function.
44790 (grub_linux_load64): Likewise.
44791 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44792 Use grub_elf_t instead of grub_file_t.
44793
a09d5aa5 447942006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44795
44796 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44797 `catch_result' to struct set_color_args.
44798
d976fc51 447992006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44800
44801 * normal/menu.c: Include grub/script.h.
44802 * normal/menu_entry.c: Likewise.
44803 * include/grub/normal.h: Do not include grub/script.h.
44804
67507549 448052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44806
44807 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44808
69203a99 448092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44810
44811 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44812 disk.
44813 (grub_disk_close): Print debug messages when closing a disk.
44814 (grub_disk_read): Print debug messages when disk read fails.
44815 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44816 filesystem type.
44817 * kern/partition.c: Include misc.h.
44818 (grub_partition_iterate): Print debug messages when detecting
44819 partition type.
44820
e2b8278c 448212006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44822
44823 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44824 is negative.
44825 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44826
97b2f2ff 448272006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44828
44829 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44830 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44831
6555d655 448322006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44833
44834 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44835 instead of sizeof(lv). Patch by Michael Guntsche.
44836
4d42b77f 448372006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44838
44839 * disk/lvm.c: Rename VGS to VG_LIST.
44840 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44841 (grub_lvm_open): Likewise.
44842 Thanks to Michael Guntsche for finding this bug.
44843
5d74d927 448442006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44845
44846 * configure.ac (AC_INIT): Bumped to 1.95.
44847
a1bb27e4 448482006-10-14 Robert Millan <rmh@aybabtu.com>
44849
44850 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44851 with "/dev/.static/dev/md".
44852
e0994b8b 448532006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44854
44855 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44856 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44857 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44858 DRIVE_NAME are always freed.
44859
44860 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44861 DOS_PART, as a DOS partition is counted from one instead of zero
44862 now. Reported by Robert Millan.
44863
ddd5cee9 448642006-10-14 Robert Millan <rmh@aybabtu.com>
44865
44866 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44867 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44868 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44869 string returned by grub_guess_root_device.
44870 * util/i386/pc/grub-setup.c: Likewise.
44871 * util/i386/pc/grub-probefs.c: Likewise.
44872
44873 * util/i386/pc/grub-probefs.c: Rename to ...
44874 * util/i386/pc/grub-probe.c: ... this.
44875 * DISTLIST: Remove grub-probefs, add grub-probe.
44876 * conf/i386-efi.rmk: Likewise.
44877 * conf/i386-pc.rmk: Likewise.
44878 * util/i386/pc/grub-install.in: Likewise.
44879
44880 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44881 choose which information we want to print.
44882
2b002173 448832006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44884
44885 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44886 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44887 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44888 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44889 video/readers/tga.c and video/i386/pc/vbeutil.c.
44890
448912006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44892
44893 Added support for RAID and LVM.
f19dbdb7 44894
2b002173 44895 * disk/lvm.c: New file.
44896 * disk/raid.c: Likewise.
44897 * include/grub/lvm.h: Likewise.
f19dbdb7 44898 * include/grub/raid.h: Likewise.
2b002173 44899 * include/grub/util/lvm.h: Likewise.
44900 * include/grub/util/raid.h: Likewise.
44901 * util/lvm.c: Likewise.
44902 * util/raid.c: Likewise.
44903
44904 * include/grub/disk.h (grub_disk_dev_id): Add
44905 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44906 (grub_disk_get_size): New prototype.
44907 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44908 returns a partition.
44909 (grub_disk_get_size): New function.
f19dbdb7 44910
2b002173 44911 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44912 verbatim if grub_install_dos_part is -2.
44913
44914 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44915 and LVM devices.
44916
44917 * util/i386/pc/grub-setup.c (setup): New argument
44918 MUST_EMBED. Force embedding of GRUB when the argument is
44919 true. Close FILE before returning.
44920 (main): Add support for RAID and LVM.
f19dbdb7 44921
2b002173 44922 * conf/common.rmk: Add RAID and LVM modules.
44923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44924 util/lvm.c.
44925 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44926
44927 * kern/misc.c (grub_strstr): New function.
44928 * include/grub/misc.h (grub_strstr): New prototype.
44929
050548d0 449302006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44931
44932 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44933
da849d2d 449342006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44935
44936 * kern/misc.c (grub_strtoull): Guess the base only if not
44937 specified.
44938
97b2f2ff 449392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44940
44941 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44942 PowerMac support.
44943
97b2f2ff 449442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44945
44946 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44947
44948 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44949 Remove `flags' argument. All callers changed.
44950 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44951 (IEEE1275_IHANDLE_INVALID): New variable.
44952 (IEEE1275_CELL_INVALID): New variable.
44953 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44954 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44955 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44956 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44957 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44958 codes from Open Firmware. All callers updated.
44959 (grub_ieee1275_next_property): Directly return Open Firmware return
44960 code.
44961 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44962 Standardize error checking from `grub_ieee1275_get_property'.
44963 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44964 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44965
97b2f2ff 449662006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44967
44968 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44969 `instance_to_package_args' to `instance_to_path_args'.
44970
44971 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44972 `grub_ieee1275_chosen'.
44973
44974 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44975 `grub_ieee1275_interpret'.
44976
97b2f2ff 449772006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44978
44979 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44980
97b2f2ff 449812006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44982
44983 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44984 (__cmpdi): Likewise.
44985
44986 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44987 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44988 `grub_ssize_t'.
44989
02bb8acc 44990 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44991
44992 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44993 to type `grub_ssize_t'.
44994 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44995
7f9a8531 449962006-09-22 Marco Gerards <marco@gnu.org>
44997
44998 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44999 newlines.
45000
b5ef1102 450012006-09-22 Marco Gerards <marco@gnu.org>
45002
45003 * commands/echo.c: New file.
45004
45005 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45006
45007 * conf/common.rmk (echo_mod_SOURCES): New variable.
45008 (echo_mod_CFLAGS): Likewise.
45009 (echo_mod_LDFLAGS): Likewise.
45010
2cff3677 450112006-09-22 Marco Gerards <marco@gnu.org>
45012
45013 * normal/main.c (get_line): Malloc memory instead of using
45014 preallocated memory. Removed the arguments `cmdline' and
45015 `max_len'. Updated all callers.
45016
6ba4688b 450172006-09-22 Marco Gerards <marco@gnu.org>
45018
45019 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45020 (normal_mod_DEPENDENCIES): Likewise.
45021
45022 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45023 (normal_mod_DEPENDENCIES): Likewise.
45024
45025 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45026
e02ac02c 450272006-09-22 Johan Rydberg <jrydberg@gnu.org>
45028
45029 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45030 programs.
45031 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45032 (normal_mod_DEPENDENCIES): Likewise.
45033 * conf/i386-pc.mk: Regenerate.
45034 * conf/i386-efi.mk: Likewise
45035 * conf/common.mk: Likewise.
45036 * conf/powerpc-ieee1275.mk: Likewise.
45037 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45038
8d252e44 450392006-09-22 Robert Millan <rmh@aybabtu.com>
45040
45041 Sync with i386 version.
45042 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45043 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45044
209bf7ac 450452006-09-21 Robert Millan <rmh@aybabtu.com>
45046
45047 Import from GRUB Legacy (lib/device.c):
45048 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45049 (init_device_map) [__linux__]: Add support for I2O devices.
45050
6b146090 450512006-09-14 Marco Gerards <marco@gnu.org>
45052
45053 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45054 `-melf_i386'.
45055
e38600a8 450562006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45057
45058 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45059 /boot/grub/*.lst.
78fa1790 45060
2952da5d 45061 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45062
2952da5d 45063 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45064 before adding it to device.map.
45065
01b82a64 450662006-08-15 Johan Rydberg <jrydberg@gnu.org>
45067
fe6b695a 45068 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45069 compiles a file; using the -MD option.
45070 * conf/common.mk: Regenerate.
45071 * conf/i386-pc.mk: Likewise.
45072 * conf/i386-efi.mk: Likewise.
45073 * conf/powerpc-ieee1275.mk: Likewise.
45074 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45075
1064790d 450762006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45077
45078 Move the prototypes of grub_setjmp and grub_longjmp to
45079 cpu/setjmp.h, so that each architecture may specify different
45080 attributes.
f19dbdb7 45081
1064790d 45082 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45083 (grub_longjmp): Likewise.
45084 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45085 (grub_longjmp): Likewise.
45086 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45087 (grub_longjmp): Likewise.
45088
45089 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45090 [!GRUB_UTIL] (grub_longjmp): Removed.
45091
29dda3ed 450922006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45093
45094 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45095 "color!" method does not return any value.
45096
ad2a06ed 450972006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45098
45099 * include/grub/bitmap.h: New file.
45100
45101 * include/grub/i386/pc/vbeutil.h: Likewise.
45102
45103 * video/bitmap.c: Likewise.
45104
45105 * video/readers/tga.c: Likewise.
45106
45107 * video/i386/pc/vbeutil.c: Likewise.
45108
45109 * commands/videotest.c: Code cleanup and updated to reflect to new
45110 video API.
45111
45112 * term/gfxterm.c: Likewise.
45113
45114 * video/video.c: Likewise.
45115
45116 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45117 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45118 (bitmap_mod_SOURCES): New entry.
45119 (bitmap_mod_CFLAGS): Likewise.
45120 (bitmap_mod_LDFLAGS): Likewise.
45121 (tga_mod_SOURCES): Likewise.
45122 (tga_mod_CFLAGS): Likewise.
45123 (tga_mod_LDFLAGS): Likewise.
45124
45125 * include/grub/video.h (grub_video_blit_operators): New enum type.
45126 (grub_video_render_target): Changed as forward declaration and moved
45127 actual definition to be video driver specific.
45128 (grub_video_adapter.blit_bitmap): Added blitting operator.
45129 (grub_video_adapter.blit_render_target): Likewise.
45130 (grub_video_blit_bitmap): Likewise.
45131 (grub_video_blit_render_target): Likewise.
45132
45133 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45134 driver specific render target definition.
45135 (grub_video_vbe_map_rgba): Added driver internal helper.
45136 (grub_video_vbe_unmap_color): Updated to use
45137 grub_video_i386_vbeblit_info.
45138 (grub_video_vbe_get_video_ptr): Likewise.
45139
45140 * include/grub/i386/pc/vbeblit.h
45141 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45142 grub_video_i386_vbeblit_info.
45143 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45144 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45145 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45147 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45148 (grub_video_i386_vbeblit_index_index): Likewise.
45149 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45150 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45151 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45152 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45153 operator.
45154 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45155 operator.
45156
45157 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45158 include/grub/i386/pc/vbeblit.h.
45159
45160 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45161 Updated to use grub_video_i386_vbeblit_info.
45162 (grub_video_i386_vbefill_R8G8B8): Likewise.
45163 (grub_video_i386_vbefill_index): Likewise.
45164 (grub_video_i386_vbefill): Added generic filler.
45165
45166 * video/i386/pc/vbefill.c: Updated to reflect changes on
45167 include/grub/i386/pc/vbefill.h.
45168
45169 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45170 grub_video_i386_vbeblit_info.
45171 (grub_video_vbe_unmap_color): Likewise.
45172 (grub_video_vbe_blit_glyph): Likewise.
45173 (grub_video_vbe_scroll): Likewise.
45174 (grub_video_vbe_draw_pixel): Removed function.
45175 (grub_video_vbe_get_pixel): Likewise.
45176 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45177 updated code to use it.
45178 (common_blitter): Added common blitter for render target and bitmap.
45179 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45180 (grub_video_vbe_blit_render_target): Likewise.
45181
bc8c036d 451822006-07-30 Johan Rydberg <jrydberg@gnu.org>
45183
45184 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45185 is in text mode if there is no console control protocol instance
45186 available.
45187
684a8eff 451882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45189
45190 * include/grub/video.h: Code cleanup.
45191
45192 * include/grub/i386/pc/vbe.h: Likewise.
45193
45194 * video/i386/pc/vbe.c: Likewise.
45195
45196 * video/i386/pc/vbeblit.c: Likewise.
45197
45198 * video/i386/pc/vbefill.c: Likewise.
45199
45200 * video/video.c: Likewise. Also added more comments.
45201
5915059b 452022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45203
45204 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45205 (struct grub_biosdisk_dap): Likewise.
45206
45207 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45208 linkage settings for all functions.
45209
90ce5d56 452102006-07-12 Marco Gerards <marco@gnu.org>
45211
45212 * configure.ac (--enable-mm-debug): Fix typo.
45213
45214 * genkernsyms.sh.in: Use proper quoting for `CC'.
45215
43e7f879 452162006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45217
45218 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45219 (normal_mod_ASFLAGS): Remove "-m32".
45220
4889bdec 452212006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45222
45223 * util/misc.c: Include config.h.
45224 [!HAVE_MEMALIGN]: Do not include malloc.h.
45225 (grub_memalign): Use posix_memalign, if present. Then, use
45226 memalign, if present. Otherwise, emit an error.
45227
45228 * util/grub-emu.c: Do not include malloc.h.
45229
45230 * include/grub/util/misc.h: Include unistd.h. This is required for
45231 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45232 D. Eades III <hde@foobar-qux.org>.
45233
45234 * configure.ac (AC_GNU_SOURCE): Added.
45235 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45236 type.
45237
fd39d4da 452382006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45239
45240 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45241 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45242
b786f3b5 452432006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45244
45245 * include/grub/types.h (grub_host_addr_t): Rename to
45246 grub_target_addr_t.
45247 (grub_host_off_t): Rename to grub_target_off_t.
45248 (grub_host_size_t): Rename to grub_target_size_t.
45249 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45250 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45251
45252 * include/grub/kernel.h (struct grub_module_header): Change type
45253 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45254 (grub_module_info): Likewise.
f19dbdb7 45255
051988bb 452562006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45257
45258 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45259 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45260 Velazquez <jesus.velazquez@gmail.com>.
45261
deae281b 452622006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45263
45264 Count partitions from 1 instead of 0 in the string representation
45265 of partitions. Still use 0-based internally.
f19dbdb7 45266
deae281b 45267 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45268 (sun_partition_map_iterate): Use grub_partition_t instead of
45269 struct grub_partition *. Cast DESC->START_CYLINDER to
45270 grub_uint64_t after converting the endian.
45271 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45272 (sun_partition_map_get_name): Add 1 to P->INDEX.
45273
45274 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45275 PCDATA->DOS_PART.
45276 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45277
45278 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45279 zero instead of one.
45280 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45281 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45282
45283 * partmap/apple.c (apple_partition_map_iterate): Change the type
45284 of POS to unsigned.
45285 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45286 (apple_partition_map_get_name): Add 1 into P->INDEX.
45287
45288 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45289 of POS to unsigned.
45290 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45291 calculate the offset of a partition.
45292 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45293 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45294
45295 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45296 SECTOR to grub_disk_addr_t.
45297 (acorn_partition_map_iterate): Likewise.
45298 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45299 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45300 top.
45301 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45302
45303 * kern/i386/pc/init.c (make_install_device): Add 1 into
45304 GRUB_INSTALL_DOS_PART.
45305
45306 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45307 conditional.
45308
524a1e6a 453092006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45310
45311 Clean up the code to support 64-bit addressing in disks and
45312 files. This change is not enough for filesystems yet.
f19dbdb7 45313
524a1e6a 45314 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45315 type of "start" to grub_uint64_t.
45316 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45317 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45318 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45319 convert addresses.
45320
45321 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45322 to grub_disk_addr_t.
45323
45324 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45325 string.
45326
45327 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45328
45329 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45330 to char *.
45331
45332 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45333
45334 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45335
45336 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45337
45338 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45339 to grub_off_t, to detect an error from grub_file_seek.
45340 (grub_multiboot_load_elf32): Likewise.
45341
45342 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45343 maximum unsigned long value when an overflow is detected.
45344 (grub_strtoull): New function.
45345 (grub_divmod64): Likewise.
45346 (grub_lltoa): use grub_divmod64.
45347
45348 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45349 grub_disk_addr_t.
45350 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45351 the pointer to next character. Use grub_strtoull instead of
45352 grub_strtoul.
45353 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45354 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45355 respectively.
45356
fe6b695a 45357 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45358 return value is signed.
45359 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45360 test if OFFSET is less than zero, as OFFSET is unsigned now.
45361
45362 * kern/disk.c (struct grub_disk_cache): Change the type of
45363 "sector" to grub_disk_addr_t.
45364 (grub_disk_cache_get_index): Change the type of SECTOR to
45365 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45366 unsigned after shifting.
45367 (grub_disk_cache_invalidate): Change the type of SECTOR to
45368 grub_disk_addr_t.
45369 (grub_disk_cache_unlock): Likewise.
45370 (grub_disk_cache_store): Likewise.
45371 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45372 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45373 grub_disk_addr_t and grub_uint64_t, respectively.
45374 (grub_disk_read): 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 START_SECTOR, LEN and
45377 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45378 respectively.
45379 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45380 body, as the value of OFFSET is tweaked by
45381 grub_disk_check_range. Change the types of LEN and N to
45382 grub_size_t.
45383
45384 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45385 and "saved_offset" to grub_off_t.
45386 (test_header): Cast BUF to char *.
45387 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45388 to char *.
45389 (grub_gzio_read): Change the types of OFFSET and SIZE to
45390 grub_off_t and grub_size_t, respectively.
45391
45392 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45393 Removed.
45394 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45395 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45396 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45397 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45398 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45399
45400 * include/grub/types.h (grub_off_t): Unconditionally set to
45401 grub_uint64_t.
45402 (grub_disk_addr_t): Changed to grub_uint64_t.
45403
45404 * include/grub/partition.h (struct grub_partition): Change the
45405 types of "start", "len" and "offset" to grub_disk_addr_t,
45406 grub_uint64_t and grub_disk_addr_t, respectively.
45407 (grub_partition_get_start): Return grub_disk_addr_t.
45408 (grub_partition_get_len): Return grub_uint64_t.
45409
45410 * include/grub/misc.h (grub_strtoull): New prototype.
45411 (grub_divmod64): Likewise.
45412
45413 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45414 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45415 grub_off_t, respectively.
45416 All callers and references changed.
45417
45418 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45419 grub_size_t in "read".
45420 All callers and references changed.
45421
45422 * include/grub/file.h (struct grub_file): Change the types of
45423 "offset" and "size" to grub_off_t and grub_off_t,
45424 respectively. Change the type of SECTOR to grub_disk_addr_t in
45425 "read_hook".
45426 (grub_file_read): Change the type of LEN to grub_size_t.
45427 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45428 grub_off_t.
45429 (grub_file_size): Return grub_off_t.
45430 (grub_file_tell): Likewise.
45431 All callers and references changed.
45432
45433 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45434 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45435 "write".
45436 (struct grub_disk): Change the type of "total_sectors" to
45437 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45438 "read_hook".
524a1e6a 45439 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45440 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45441 (grub_disk_write): Likewise.
45442 All callers and references changed.
45443
45444 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45445 char * for grub_strncmp to silence gcc.
45446 (grub_iso9660_mount): Likewise.
45447 (grub_iso9660_mount): Likewise.
45448 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45449 return statement.
45450 (grub_iso9660_iterate_dir): Likewise.
45451 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45452
45453 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45454 LEN to grub_disk_addr_t and grub_size_t, respectively.
45455
45456 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45457
45458 * fs/jfs.c (grub_jfs_read_file): Likewise.
45459
45460 * fs/minix.c (grub_jfs_read_file): Likewise.
45461
45462 * fs/sfs.c (grub_jfs_read_file): Likewise.
45463
45464 * fs/ufs.c (grub_jfs_read_file): Likewise.
45465
45466 * fs/xfs.c (grub_jfs_read_file): Likewise.
45467
45468 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45469 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45470 respectively.
45471
45472 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45473 BLKNR to -1 instead of returning GRUB_ERRNO.
45474 (grub_ext2_read_file): Change the types of SECTOR and
45475 LEN to grub_disk_addr_t and grub_size_t, respectively.
45476
45477 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45478 LEN to grub_disk_addr_t and grub_size_t, respectively.
45479
45480 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45481 grub_file_read.
45482
45483 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45484 string. Do not cast SECTOR explicitly.
45485
45486 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45487 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45488 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45489 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45490 over 2TB and LBA mode is not supported, raise an error.
45491 (get_safe_sectors): New function.
45492 (grub_biosdisk_read): Use get_safe_sectors.
45493 (grub_biosdisk_write): Likewise.
45494
45495 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45496 (grub_efidisk_write): Likewise.
45497
45498 * disk/loopback.c (delete_loopback): Cosmetic changes.
45499 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45500 correctly.
45501 (grub_loopback_open): Likewise.
45502 (grub_loopback_read): Likewise. Also, change the type of POS to
45503 grub_off_t, and fix the usage of grub_memset.
45504
45505 * commands/i386/pc/play.c: Include grub/machine/time.h.
45506
45507 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45508 print FILE->SIZE.
45509
45510 * commands/configfile.c: Include grub/env.h.
45511
45512 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45513 GRUB_ERRNO directly instead. Change the type of POS to
45514 grub_off_t. Follow the coding standard.
45515
45516 * commands/blocklist.c: Include grub/partition.h.
45517 (grub_cmd_blocklist): Return an error if the underlying device is
45518 not a disk. Take the starting sector of a partition into account,
45519 if a partition is used.
45520
45521 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45522 a length field.
45523 (lba_mode): Support 64-bit addresses.
45524 (chs_mode): Likewise.
45525 (copy_buffer): Adapted to the new offsets of a length field and a
45526 segment field.
45527 (blocklist_default_start): Allocate 64-bit space.
45528
45529 * boot/i386/pc/boot.S (force_lba): Removed.
45530 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45531 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45532 space.
45533 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45534 is useless.
45535 (lba_mode): Refactored to support a 64-bit address. More size
45536 optimization.
45537 (setup_sectors): Likewise.
45538
53af98ad 455392006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45540
45541 * DISTLIST: Added include/grub/i386/linux.h. Removed
45542 include/grub/i386/pc/linux.h
45543
45544 * configure.ac (AC_INIT): Bumped to 1.94.
45545
45546 * config.guess: Updated from gnulib.
45547 * config.sub: Likewise.
45548 * install-sh: Likewise.
45549 * mkinstalldirs: Likewise.
45550
b4c1940a 455512006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45552
45553 * conf/common.rmk (grub_modules_init.lst): Depended on
45554 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45555 MODSRCFILES.
45556
45557 * genmk.rb (PModule::rule): Reverted the previous change.
45558
cfca1cfd 455592006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45560
45561 * conf/common.rmk (grub_modules_init.lst): Depends on
45562 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45563 that the target does not exist before producing.
45564 (grub_modules_init.h): Remove the target before generating.
45565 (grub_emu_init.c): Likewise.
45566
45567 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45568
aa6d7826 455692006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45570
45571 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45572 for the target-specific tests. Make sure that we also have the
45573 up-to-date target variables for those tests.
45574
26c607b9 455752006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45576
45577 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45578 (PModule::rule): Likewise.
45579
0162321a 455802006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45581
45582 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45583 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45584 target-specific flags should be prefixed.
45585 (PModule::rule): Likewise.
45586
6c826348 455872006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45588
45589 * configure.ac (CMP): Check if cmp is available explicitly.
45590
b977bf01 455912006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45592
45593 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45594 (target_cpu): New variable.
45595 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45596
b977bf01 45597 * util/i386/pc/grub-install.in (host_cpu): Removed.
45598 (target_cpu): New variable.
45599 (pkglibdir): Use target_cpu instead of host_cpu.
45600
45601 * util/genmoddep.c: Removed.
f19dbdb7 45602
b977bf01 45603 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45604 instead of GRUB_HOST_SIZEOF_VOID_P.
45605 * kern/dl.c: Likewise.
45606
45607 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45608 ...
45609 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45610 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45611 (GRUB_TARGET_SIZEOF_LONG): ... this.
45612 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45613 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45614 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45615 to ...
45616 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45617 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45618 (GRUB_TARGET_SIZEOF_LONG): ... this.
45619 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45620 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45621 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45622 to ...
45623 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45624 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45625 (GRUB_TARGET_SIZEOF_LONG): ... this.
45626 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45627 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45628
45629 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45630 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45631 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45632 instead of GRUB_HOST_SIZEOF_LONG.
45633 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45634 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45635 GRUB_CPU_WORDS_BIGENDIAN.
45636 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45637 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45638 grub_host_ssize_t.
45639
45640 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45641 (genmoddep_SOURCES): Likewise.
45642 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45643 (genmoddep_SOURCES): Likewise.
45644 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45645 (genmoddep_SOURCES): Likewise.
45646 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45647 Likewise.
45648 (genmoddep_SOURCES): Likewise.
45649
45650 * genmoddep.awk: New file.
45651
45652 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45653 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45654 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45655 (PModule::rule): Likewise.
45656 (Program::rule): Likewise.
45657 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45658 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45659 respectively.
45660
45661 * configure.ac: Rewritten intensively to use host and target
45662 instead of build and host, respectively.
45663
45664 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45665 (host_cpu): Removed.
45666 (target_cpu): New variable.
45667 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45668 (BUILD_CC): Removed.
45669 (BUILD_CFLAGS): Likewise.
45670 (BUILD_CPPFLAGS): Likewise.
45671 (TARGET_CC): New variable.
45672 (TARGET_CFLAGS): Likewise.
45673 (TARGET_CPPFLAGS): Likewise.
45674 (TARGET_LDFLAGS): Likewise.
45675 (AWK): Likewise.
45676 (include): Use target_cpu instead of host_cpu.
45677 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45678
b977bf01 45679 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45680
f09771a1 456812006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45682
45683 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45684 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45685 field 'false' to 'exec_on_false'.
45686 (grub_script_create_cmdif): Renamed argument names to reflect above
45687 changes.
45688
45689 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45690
45691 * normal/script.c (grub_script_create_cmdif): Likewise.
45692
118f4fb3 456932006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45694
45695 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45696 top.
45697 (grub_hfsplus_btree_recptr): Likewise.
45698 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45699 FILEBLOCK both to pass a block number and store next block
45700 number.
45701 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45702 overflow file correctly. Specify errors appropriately, because
45703 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45704 grub_hfsplus_btree_recptr to get the pointer to a found key.
45705 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45706 is found.
45707
45708 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45709 linux.mod.
45710 (_linux_mod_SOURCES): New variable.
45711 (_linux_mod_CFLAGS): Likewise.
45712 (_linux_mod_LDFLAGS): Likewise.
45713 (linux_mod_SOURCES): Likewise.
45714 (linux_mod_CFLAGS): Likewise.
45715 (linux_mod_LDFLAGS): Likewise.
45716
45717 * DISTLIST: Added loader/i386/efi/linux.c,
45718 loader/i386/efi/linux_normal.c and
45719 include/grub/i386/efi/loader.h.
45720
45721 * loader/i386/efi/linux.c: New file.
45722 * loader/i386/efi/linux_normal.c: Likewise.
45723 * include/grub/i386/efi/loader.h: Likewise.
45724
89a7d726 457252006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45726
45727 * commands/blocklist.c: New file.
45728
45729 * DISTLIST: Added commands/blocklist.c.
45730
45731 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45732 color for the background, and a darker color for the foreground.
89a7d726 45733 (grub_console_checkkey): Return READ_KEY.
45734 (grub_console_cls): Set the background to
45735 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45736
45737 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45738
45739 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45740 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45741
45742 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45743 prototype.
45744
45745 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45746 BG. The spec is wrong again.
45747
45748 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45749 prototype.
45750 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45751
45752 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45753 commands/blocklist.c.
45754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45755
89a7d726 45756 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45757 (blocklist_mod_SOURCES): New variable.
45758 (blocklist_mod_CFLAGS): Likewise.
45759 (blocklist_mod_LDFLAGS): Likewise.
45760
75c8f258 457612006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45762
45763 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45764 duplication.
45765 (lba_mode): Use %eax more intensively to reduce the code size.
45766
da2eb181 457672006-05-20 Marco Gerards <marco@gnu.org>
45768
45769 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45770
45771 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45772 for `menuentry'.
45773 (script): Accept leading newlines.
45774 (newlines): New rule to describe 0 or more newlines.
45775 (commands): Accept `command' with trailing newline. Fixed the
45776 order in which arguments were passed to `grub_script_add_cmd'.
45777 Accept commands separated by newlines.
45778 (function): Changed to accept newlines.
45779 (menuentry) Rewritten.
45780
45781 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45782 front of the list, instead of to the end.
45783
577b4050 457842006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45785
45786 * util/i386/pc/grub-install.in (bindir): New variable.
45787 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45788 Shaver <lbgwjl@gmail.com>.
45789
0d6e1189 457902006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45791
45792 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45793 grub/machine/linux.h
45794 * loader/i386/pc/linux.c: Likewise.
45795
45796 * include/grub/i386/pc/linux.h: Moved to ...
45797 * include/grub/i386/linux.h: ... here.
45798
45799 * include/grub/i386/linux.h (struct linux_kernel_params): New
45800 struct.
f19dbdb7 45801
31b86e9f 458022006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45803
45804 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45805 checking.
45806 (grub_video_vbe_blit_glyph): Likewise.
45807 (grub_video_vbe_blit_bitmap): Likewise.
45808 (grub_video_vbe_blit_render_target): Likewise.
45809
83b984de 458102006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45811
45812 * configure.ac (--with-platform): Properly quote the square
45813 brackets.
45814
5f0413bd 458152006-05-08 Marco Gerards <marco@gnu.org>
45816
45817 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45818 this...
45819 (kernel_elf_HEADERS): ...to this. Updated all users.
45820 (grubof_symlist.c): Renamed from this...
45821 (kernel_elf_symlist.c): ...to this. Updated all users.
45822 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45823 (grubof_SOURCES): Renamed from this...
45824 (kernel_elf_SOURCES): ...to this.
45825 (grubof_HEADERS): Renamed from this...
45826 (kernel_elf_HEADERS): ...to this.
45827 (grubof_CFLAGS): Renamed from this...
45828 (kernel_elf_CFLAGS): ...to this.
45829 (grubof_ASFLAGS): Renamed from this...
45830 (kernel_elf_ASFLAGS): ...to this.
45831 (grubof_LDFLAGS): Renamed from this...
45832 (kernel_elf_LDFLAGS): ...to this.
45833
45834 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45835 this...
45836 (kernel_elf_HEADERS): ...to this. Updated all users.
45837 (grubof_symlist.c): Renamed from this...
45838 (kernel_elf_symlist.c): ...to this. Updated all users.
45839 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45840 (grubof_SOURCES): Renamed from this...
45841 (kernel_elf_SOURCES): ...to this.
45842 (grubof_HEADERS): Renamed from this...
45843 (kernel_elf_HEADERS): ...to this.
45844 (grubof_CFLAGS): Renamed from this...
45845 (kernel_elf_CFLAGS): ...to this.
45846 (grubof_ASFLAGS): Renamed from this...
45847 (kernel_elf_ASFLAGS): ...to this.
45848 (grubof_LDFLAGS): Renamed from this...
45849 (kernel_elf_LDFLAGS): ...to this.
45850
45851 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45852 `kernel.elf' instead of `grubof'.
45853
05568c2e 458542006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45855
45856 Add --with-platform to configure. Use pkglibdir instead of
45857 pkgdatadir. This is reported by Roger Leigh.
45858
45859 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45860 (host_vendor): Likewise.
45861 (host_os): Likewise.
45862 (pkgdatadir): Likewise.
45863 (platform): New variable.
45864 (pkglibdir): Likewise.
45865 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45866
05568c2e 45867 * util/i386/pc/grub-install.in (datadir): Removed.
45868 (host_vendor): Likewise.
45869 (host_os): Likewise.
45870 (pkgdatadir): Likewise.
45871 (platform): New variable.
45872 (pkglibdir): Likewise.
45873 Use PKGLIBDIR instead of PKGDATADIR.
45874
45875 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45876 instead of GRUB_DATADIR.
45877 (main): Likewise.
45878 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45879 (main): Likewise.
45880 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45881 (main): Likewise.
45882
45883 * configure.ac (--with-platform): New option.
45884 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45885
45886 * Makefile.in: Include a makefile based on PLATFORM instead of
45887 HOST_VENDOR.
45888 (pkgdatadir): Not appended by the machine type.
45889 (pkglibdir): Appended by the machine type.
45890 (host_vendor): Removed.
45891 (platform): New variable.
45892 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45893 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45894 (uninstall): Likewise.
45895
4e93851c 458962006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45897
45898 Use the environment context in the menu. Remove the commands
45899 "default" and "timeout", and use variables instead.
f19dbdb7 45900
4e93851c 45901 * normal/menu.c: Include grub/env.h.
45902 (print_entry): Cast TITLE to silence gcc.
45903 (get_timeout): New function.
45904 (set_timeout): Likewise.
45905 (get_entry_number): Likewise.
45906 (run_menu): Use a default entry, a fallback entry and a timeout
45907 in the environment variables "default", "fallback" and
45908 "timeout". Also, tweak the default entry if it is not within the
45909 current menu entries.
45910 (grub_menu_run): Use a fallback entry in the environment variable
45911 "fallback".
45912
45913 * normal/main.c (read_config_file): Do not initialize
45914 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45915 NEWMENU->TIMEOUT.
45916 (grub_normal_execute): Use a data slot to store the menu.
45917
45918 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45919 fallback_entry and timeout.
45920 (struct grub_menu_list): Removed.
45921 (grub_menu_list_t): Likewise.
45922 (struct grub_context): Likewise.
45923 (grub_context_t): Likewise.
45924 (grub_context_get): Likewise.
45925 (grub_context_get_current_menu): Likewise.
45926 (grub_context_push_menu): Likewise.
45927 (grub_context_pop_menu): Likewise.
45928 (grub_default_init): Likewise.
45929 (grub_default_fini): Likewise.
45930 (grub_timeout_init): Likewise.
45931 (grub_timeout_fini): Likewise.
45932
45933 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45934 and timeout.mod.
45935 (normal_mod_SOURCES): Removed normal/context.c.
45936
45937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45938 commands/default.c, commands/timeout.c and normal/context.c.
45939 (normal_mod_SOURCES): Removed normal/context.c.
45940
45941 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45942 commands/timeout.c and normal/context.c.
45943 (normal_mod_SOURCES): Removed normal/context.c.
45944
45945 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45946 commands/default.c, commands/timeout.c and normal/context.c.
45947 (normal_mod_SOURCES): Removed normal/context.c.
45948
45949 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45950 timeout.mod.
45951 (default_mod_SOURCES): Removed.
45952 (default_mod_CFLAGS): Likewise.
45953 (default_mod_LDFLAGS): Likewise.
45954 (timeout_mod_SOURCES): Removed.
45955 (timeout_mod_CFLAGS): Likewise.
45956 (timeout_mod_LDFLAGS): Likewise.
45957
45958 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45959 normal/context.c.
45960
45961 * commands/default.c: Removed.
45962 * commands/timeout.c: Likewise.
45963 * normal/context.c: Likewise.
45964
1eb9cc1d 459652006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45966
45967 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45968
385bd9c1 459692006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45970
45971 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45972 "next" to "prev" for readability.
45973 (struct grub_env_sorted_var): New struct.
45974 (grub_env_context): Renamed to ...
45975 (initial_context): ... this.
45976 (grub_env_var_context): Renamed to ...
45977 (current_context): ... this.
45978 (grub_env_find): Look only at CURRENT_CONTEXT.
45979 (grub_env_context_open): Rewritten to copy exported variables from
45980 previous context.
45981 (grub_env_context_close): Rewritten according to the new
45982 scheme. Also, add an assertion to prevent the initial context from
45983 removed.
45984 (grub_env_insert): Removed the code for the sorted list.
45985 (grub_env_remove): Likewise.
45986 (grub_env_export): Simply mark the variable with
45987 GRUB_ENV_VAR_GLOBAL.
45988 (grub_env_set): A cosmetic change for naming consistency.
45989 (grub_env_get): Likewise.
45990 (grub_env_unset): Likewise.
45991 (grub_env_iterate): Rewritten to sort variables within this
45992 function.
45993 (grub_register_variable_hook): Fixed for naming consistency. Call
45994 grub_env_find again, only if NAME is not found at the first time.
45995 (mangle_data_slot_name): New function.
45996 (grub_env_set_data_slot): Likewise.
45997 (grub_env_get_data_slot): Likewise.
45998 (grub_env_unset_data_slot): Likewise.
45999
46000 * include/grub/env.h (grub_env_var_type): New enum.
46001 (GRUB_ENV_VAR_LOCAL): New constant.
46002 (GRUB_ENV_VAR_GLOBAL): Likewise.
46003 (GRUB_ENV_VAR_DATA): Likewise.
46004 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46005 "type".
46006 (grub_env_set): Replace VAR with NAME for consistency.
46007 (grub_register_variable_hook): Likewise.
46008 (grub_env_export): Specify the name of the argument.
46009 (grub_env_set_data_slot): New prototype.
46010 (grub_env_get_data_slot): Likewise.
46011 (grub_env_unset_data_slot): Likewise.
46012
7f362539 460132006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46014
46015 Extend the loader so that GRUB can accept a loader which comes
46016 back to GRUB when a loaded image exits. Also, this change adds
46017 support for a chainloader on EFI.
f19dbdb7 46018
7f362539 46019 * term/efi/console.c: Include grub/misc.h.
46020 (grub_console_checkkey): Display a scan code on the top for
46021 debugging. This will be removed once the EFI port gets stable.
46022 Correct the scan code mapping.
46023
46024 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46025 allocate memory from larger regions, in order to reduce the number
46026 of allocated regions. Otherwise, the MacOSX loader panics.
46027 (filter_memory_map): Avoid less than 1MB for compatibility with
46028 other loaders.
46029 (add_memory_regions): Allocate from the tail of a region, if
46030 possible, to avoid allocating a region near to 1MB, for the MacOSX
46031 loader.
46032
46033 * kern/efi/init.c (grub_efi_set_prefix): Specify
46034 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46035
46036 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46037 argument IMAGE_HANDLE and specify it to get a loaded image.
46038 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46039 grub_efi_get_loaded_image.
fe6b695a 46040 (grub_efi_get_filename): Divide the length by the size of
7f362539 46041 grub_efi_char16_t.
46042 (grub_efi_get_device_path): New function.
46043 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46044 the length by the size of grub_efi_char16_t for a file path device
46045 path node.
46046
46047 * kern/loader.c (grub_loader_noreturn): New variable.
46048 (grub_loader_set): Accept a new argument NORETURN. Set
46049 GRUB_LOADER_NORETURN to NORETURN.
46050 All callers changed.
46051 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46052 grub_machine_fini.
46053
46054 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46055 prototype.
46056 (grub_efi_get_loaded_image): Take an argument to specify an image
46057 handle.
46058
46059 * include/grub/loader.h (grub_loader_set): Added one more argument
46060 NORETURN.
46061
46062 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46063 instead of grub_efi_open_protocol.
46064 (grub_efidisk_get_device_name): Likewise.
46065 (grub_efidisk_close): Print a newline.
46066 (grub_efidisk_get_device_handle): Fixed to use
46067 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46068 GRUB_EFI_DEVICE_PATH_TYPE.
46069
46070 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46071 * kern/efi/efi.c (device_path_guid): ... here.
46072
46073 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46074 chain.mod.
46075 (kernel_mod_HEADERS): Added efi/disk.h.
46076 (_chain_mod_SOURCES): New variable.
46077 (_chain_mod_CFLAGS): Likewise.
46078 (_chain_mod_LDFLAGS): Likewise.
46079 (chain_mod_SOURCES): Likewise.
46080 (chain_mod_CFLAGS): Likewise.
46081 (chain_mod_LDFLAGS): Likewise.
46082
46083 * DISTLIST: Added include/grub/efi/chainloader.h,
46084 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46085
46086 * include/grub/efi/chainloader.h: New file.
46087 * loader/efi/chainloader.c: Likewise.
46088 * loader/efi/chainloader_normal.c: Likewise.
46089
c0111d6e 460902006-04-30 Marco Gerards <marco@gnu.org>
46091
46092 * commands/configfile.c (grub_cmd_source): New function.
46093 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46094 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46095
df5341da 460962006-04-30 Marco Gerards <marco@gnu.org>
46097
46098 * normal/execute.c (grub_script_execute_cmd): Change the return
46099 type to `grub_err_t'. Correctly return the error.
46100 (grub_script_execute_cmdline): In case a command line is not a
46101 command or a function, try to interpret it as an assignment.
46102
f85934bd 461032006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46104
46105 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46106 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46107 skip a node whose name is obviously invalid as UTF-16,
46108 i.e. contains a NUL character. Stop the iteration when the last
46109 directory entry is found. Instead of using the return value of
46110 grub_hfsplus_btree_iterate_node, store the value in RET and use
46111 it, because the iterator can be stopped by the last directory
46112 entry.
46113
8f8a2cf8 461142006-04-30 Marco Gerards <marco@gnu.org>
46115
46116 * include/grub/env.h (grub_env_export): New prototype. Reported
46117 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46118
a27e84ce 461192006-04-30 Marco Gerards <marco@gnu.org>
46120
46121 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46122 size of the extents in a catalog file record.
46123
eaef0553 461242006-04-29 Marco Gerards <marco@gnu.org>
46125
46126 * commands/configfile.c (grub_cmd_configfile): Execute the
46127 configfile within its own context.
46128
46129 * include/grub/env.h (grub_env_context_open): New prototype.
46130 (grub_env_context_close): Likewise.
46131
46132 * kern/env.c (grub_env): Removed.
46133 (grub_env_sorted): Likewise.
46134 (grub_env_context): New variable.
46135 (grub_env_var_context): Likewise.
46136 (grub_env_find): Search both the active context and the global
46137 context.
46138 (grub_env_context_open): New function.
46139 (grub_env_context_close): Likewise.
46140 (grub_env_insert): Likewise.
46141 (grub_env_remove): Likewise.
46142 (grub_env_export): Likewise.
46143 (grub_env_set): Changed to use helper functions to avoid code
46144 duplication.
46145 (grub_env_iterate): Rewritten so both the current context and the
46146 global context are being used.
46147
46148 * normal/command.c (export_command): New function.
46149 (grub_command_init): Register the `export' function.
46150
7b455f4d 461512006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46152
46153 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46154 explicitly to suppress gcc's warnings.
46155 * fs/fat.c (grub_fat_find_dir): Likewise.
46156 (grub_fat_label): Likewise.
46157 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46158 (grub_xfs_mount): Likewise.
46159 (grub_xfs_label): Likewise.
46160 * fs/affs.c (grub_affs_mount): Likewise.
46161 (grub_affs_label): Likewise.
46162 (grub_affs_iterate_dir): Likewise.
46163 * fs/sfs.c (grub_sfs_mount): Likewise.
46164 (grub_sfs_iterate_dir): Likewise.
46165 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46166 * fs/hfs.c (grub_hfs_mount): Likewise.
46167 (grub_hfs_cmp_catkeys): Likewise.
46168 (grub_hfs_find_dir): Likewise.
46169 (grub_hfs_dir): Likewise.
46170 (grub_hfs_label): Likewise.
46171 * fs/jfs.c (grub_jfs_mount): Likewise.
46172 (grub_jfs_opendir): Likewise.
46173 (grub_jfs_getent): Likewise.
46174 (grub_jfs_lookup_symlink): Likewise.
46175 (grub_jfs_label): Likewise.
46176 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46177 (grub_hfsplus_iterate_dir): Likewise.
46178 (grub_hfsplus_btree_iterate_node): Made static.
46179
46180 * util/grub-emu.c (prefix): New variable.
46181 (grub_machine_set_prefix): New function.
46182 (main): Do not set the environment variable "prefix" here. Only
46183 set PREFIX, which is used later by grub_machine_set_prefix.
46184
46185 * include/grub/video.h: Do not include grub/symbol.h.
46186 (grub_video_register): Not exported. This symbol is not defined in
46187 the kernel.
46188 (grub_video_unregister): Likewise.
46189 (grub_video_iterate): Likewise.
46190 (grub_video_setup): Likewise.
46191 (grub_video_restore): Likewise.
46192 (grub_video_get_info): Likewise.
46193 (grub_video_get_blit_format): Likewise.
46194 (grub_video_set_palette): Likewise.
46195 (grub_video_get_palette): Likewise.
46196 (grub_video_set_viewport): Likewise.
46197 (grub_video_get_viewport): Likewise.
46198 (grub_video_map_color): Likewise.
46199 (grub_video_map_rgb): Likewise.
46200 (grub_video_map_rgba): Likewise.
46201 (grub_video_fill_rect): Likewise.
46202 (grub_video_blit_glyph): Likewise.
46203 (grub_video_blit_bitmap): Likewise.
46204 (grub_video_blit_render_target): Likewise.
46205 (grub_video_scroll): Likewise.
46206 (grub_video_swap_buffers): Likewise.
46207 (grub_video_create_render_target): Likewise.
46208 (grub_video_delete_render_target): Likewise.
46209 (grub_video_set_active_render_target): Likewise.
46210
46211 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46212 Undefined.
46213 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46214
46215 * conf/sparc64-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/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46221 config.h. Use 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-pc.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 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46231 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46232 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46233 instead of $(srcdir)/genkernsyms.sh.
46234
46235 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46236 genkernsyms.sh.
46237
46238 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46239 genkernsyms.sh.
46240 (gensymlist.sh): New target.
46241 (genkernsyms.sh): Likewise.
46242
46243 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46244 genkernsyms.sh.in and gensymlist.sh.in.
46245
46246 * genkernsyms.sh: Removed.
46247 * gensymlist.sh: Likewise.
f19dbdb7 46248
7b455f4d 46249 * genkernsyms.sh.in: New file.
46250 * gensymlist.sh.in: Likewise.
46251
1885bb27 462522006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46253
46254 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46255 clobber "prefix", since we may have already set it manually.
46256
71538dff 462572006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46258
46259 * kern/misc.c (abort): New alias for grub_abort.
46260
2965c7cc 462612006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46262
46263 A new machine-specific function "grub_machine_set_prefix" is
46264 defined. This is called after loading modules, so that a prefix
46265 initialization can use modules. Also, this change adds an
46266 intensive debugging feature for the memory manager via the
46267 configure option "--enable-mm-debug".
f19dbdb7 46268
2965c7cc 46269 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46270 PART.LEN.
46271
46272 * kern/sparc64/ieee1275/init.c (abort): Removed.
46273 (grub_stop): Likewise.
46274 (grub_exit): New function.
46275 (grub_set_prefix): Renamed to ...
46276 (grub_machine_set_prefix): ... this.
46277 (grub_machine_init): Do not call grub_set_prefix.
46278
46279 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46280 (grub_machine_set_prefix): ... this.
46281 (grub_machine_init): Do not call grub_set_prefix.
46282
46283 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46284 (grub_machine_init): Do not set the prefix here.
46285
46286 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46287
46288 * kern/efi/init.c: Include grub/mm.h.
46289 (grub_efi_set_prefix): New function.
46290
46291 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46292 (grub_efi_get_filename): New function.
46293 (grub_print_device_path): Renamed to ...
46294 (grub_efi_print_device_path): ... this.
46295
46296 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46297 [MM_DEBUG] (grub_realloc): Likewise.
46298 [MM_DEBUG] (grub_free): Likewise.
46299 [MM_DEBUG] (grub_memalign): Likewise.
46300 [MM_DEBUG] (grub_mm_debug): New variable.
46301 [MM_DEBUG] (grub_debug_malloc): New function.
46302 [MM_DEBUG] (grub_debug_free): New function.
46303 [MM_DEBUG] (grub_debug_realloc): New function.
46304 [MM_DEBUG] (grub_debug_memalign): New function.
46305
46306 * kern/misc.c (grub_abort): Print a newline to distinguish
46307 the message.
46308
46309 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46310 grub_set_root_dev after loading modules. This is necessary when
46311 setting a prefix depends on modules.
46312
46313 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46314 (grub_efi_print_device_path): ... this.
46315 (grub_efi_get_filename): New prototype.
46316 (grub_efi_set_prefix): Likewise.
46317
46318 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46319 and grub/disk.h.
46320 (grub_efidisk_get_device_handle): New prototype.
46321 (grub_efidisk_get_device_name): Likewise.
46322
46323 * include/grub/mm.h: Include config.h.
46324 (MM_DEBUG): Removed.
46325 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46326 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46327 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46328 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46329 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46330 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46332 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46333 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46334
46335 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46336
46337 * disk/efi/efidisk.c: Include grub/partition.h.
46338 (iterate_child_devices): New function.
46339 (add_device): First, compare only last device path nodes, so that
46340 devices are sorted by the types.
46341 (grub_efidisk_get_device_handle): New function.
46342 (grub_efidisk_get_device_name): Likewise.
46343
46344 * configure.ac (--enable-mm-debug): New option to enable the
46345 memory manager debugging feature. This makes the binary much
46346 bigger, so is disabled by default.
46347
9cacaa17 463482006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46349
46350 Use grub_abort instead of grub_stop, and grub_exit must be
46351 define in each architecture now. Also, this change adds support
46352 for EFI disks.
f19dbdb7 46353
9cacaa17 46354 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46355 (grub_getkey): New function.
46356 (grub_term_get_current): Likewise.
46357
46358 * util/i386/pc/grub-setup.c: Include grub/term.h.
46359 (grub_getkey): New function.
46360 (grub_term_get_current): Likewise.
46361
46362 * util/misc.c (grub_stop): Renamed to ...
46363 (grub_exit): ... this.
46364
46365 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46366 (grub_exit): ... this.
46367 (grub_machine_init): Use grub_abort instead of abort.
46368 (grub_stop): Removed.
46369
46370 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46371 abort.
46372
46373 * kern/i386/pc/startup.S (grub_exit): New function.
46374 (cold_reboot): New label.
46375
46376 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46377 (grub_efi_init): Call grub_efidisk_init.
46378 (grub_efi_fini): Call grub_efidisk_fini.
46379
46380 * kern/efi/efi.c: Include grub/mm.h.
46381 (grub_efi_console_control_guid): Renamed to ...
46382 (console_control_guid): ... this.
46383 (grub_efi_loaded_image_guid): Renamed to ...
46384 (loaded_image_guid): ... this.
46385 (grub_efi_locate_handle): New function.
46386 (grub_efi_open_protocol): Likewise.
46387 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46388 GRUB_EFI_CONSOLE_CONTROL_GUID.
46389 (grub_efi_exit): Removed.
46390 (grub_stop): Likewise.
46391 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46392 (grub_exit): New function.
46393 (grub_print_device_path): Likewise.
46394
46395 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46396 (grub_enter_rescue_mode): Register "exit".
46397
46398 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46399 (grub_abort): New function.
46400
46401 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46402
46403 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46404
46405 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46406
46407 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46408 (grub_print_device_path): New prototype.
46409 (grub_efi_locate_handle): Likewise.
46410 (grub_efi_open_protocol): Likewise.
46411
46412 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46413 * disk/efi/efidisk.c: Likewise.
46414
46415 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46416
46417 * include/grub/efi/console_control.h
46418 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46419
46420 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46421 last 8 bytes as an array.
46422 (GRUB_EFI_DISK_IO_GUID): New macro.
46423 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46424 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46425 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46426 grub_uint8_t.
46427 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46428 (struct grub_efi_device_path): Rename the member "sub_type" to
46429 "subtype".
46430 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46431 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46432 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46433 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46434 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46435 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46436 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46437 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46438 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46439 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46440 (struct grub_efi_pci_device_path): New structure.
46441 (grub_efi_pci_device_path_t): New type.
46442 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46443 (struct grub_efi_pccard_device_path): New structure.
46444 (grub_efi_pccard_device_path_t): New type.
46445 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46446 (struct grub_efi_memory_mapped_device_path): New structure.
46447 (grub_efi_memory_mapped_device_path_t): New type.
46448 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46449 (struct grub_efi_vendor_device_path): New structure.
46450 (grub_efi_vendor_device_path_t): New type.
46451 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46452 (struct grub_efi_controller_device_path): New structure.
46453 (grub_efi_controller_device_path_t): New type.
46454 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46455 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46456 (struct grub_efi_acpi_device_path): New structure.
46457 (grub_efi_acpi_device_path_t): New type.
46458 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46459 (struct grub_efi_expanded_acpi_device_path): New structure.
46460 (grub_efi_expanded_acpi_device_path_t): New type.
46461 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46462 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46463 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46464 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46465 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46466 (struct grub_efi_atapi_device_path): New structure.
46467 (grub_efi_atapi_device_path_t): New type.
46468 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46469 (struct grub_efi_fibre_channel_device_path): New structure.
46470 (grub_efi_fibre_channel_device_path_t): New type.
46471 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46472 (struct grub_efi_1394_device_path): New structure.
46473 (grub_efi_1394_device_path_t): New type.
46474 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46475 (struct grub_efi_usb_device_path): New structure.
46476 (grub_efi_usb_device_path_t): New type.
46477 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46478 (struct grub_efi_usb_class_device_path): New structure.
46479 (grub_efi_usb_class_device_path_t): New type.
46480 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46481 (struct grub_efi_i2o_device_path): New structure.
46482 (grub_efi_i2o_device_path_t): New type.
46483 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46484 (struct grub_efi_mac_address_device_path): New structure.
46485 (grub_efi_mac_address_device_path_t): New type.
46486 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46487 (struct grub_efi_ipv4_device_path): New structure.
46488 (grub_efi_ipv4_device_path_t): New type.
46489 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46490 (struct grub_efi_ipv6_device_path): New structure.
46491 (grub_efi_ipv6_device_path_t): New type.
46492 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46493 (struct grub_efi_infiniband_device_path): New structure.
46494 (grub_efi_infiniband_device_path_t): New type.
46495 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46496 (struct grub_efi_uart_device_path): New structure.
46497 (grub_efi_uart_device_path_t): New type.
46498 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46499 (struct grub_efi_vendor_messaging_device_path): New structure.
46500 (grub_efi_vendor_messaging_device_path_t): New type.
46501 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46502 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46503 (struct grub_efi_hard_drive_device_path): New structure.
46504 (grub_efi_hard_drive_device_path_t): New type.
46505 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46506 (struct grub_efi_cdrom_device_path): New structure.
46507 (grub_efi_cdrom_device_path_t): New type.
46508 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46509 (struct grub_efi_vendor_media_device_path): New structure.
46510 (grub_efi_vendor_media_device_path_t): New type.
46511 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46512 (struct grub_efi_file_path_device_path): New structure.
46513 (grub_efi_file_path_device_path_t): New type.
46514 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46515 (struct grub_efi_protocol_device_path): New structure.
46516 (grub_efi_protocol_device_path_t): New type.
46517 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46518 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46519 (struct grub_efi_bios_device_path): New structure.
46520 (grub_efi_bios_device_path_t): New type.
46521 (struct grub_efi_disk_io): New structure.
46522 (grub_efi_disk_io_t): New type.
46523 (struct grub_efi_block_io_media): New structure.
46524 (grub_efi_block_io_media_t): New type.
46525 (struct grub_efi_block_io): New structure.
46526 (grub_efi_block_io_t): New type.
46527
46528 * include/grub/misc.h (grub_stop): Removed.
46529 (grub_exit): New prototype.
46530 (grub_abort): Likewise.
46531
46532 * include/grub/disk.h (enum grub_disk_dev_id): Added
46533 GRUB_DISK_DEVICE_EFIDISK_ID.
46534
46535 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46536 disk/efi/efidisk.c.
46537 (kernel_syms.lst): Remove the target if an error occurs.
46538
49986a9f 465392006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46540
46541 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46542 as it was simply too buggy.
46543
970d3b8a 465442006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46545
46546 * kern/misc.c (grub_lltoa): New function.
46547 (grub_vsprintf): Added support for the long long suffix,
46548 i.e. "ll".
46549
ff04ec24 465502006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46551
46552 * Makefile.in (LDFLAGS): Add variable.
46553 (LD): Remove variable.
46554 * configure.ac: Add -m32 to LDFLAGS.
46555 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46556 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46557 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46558 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46559 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46560 variables.
46561 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46562 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46563 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46564
37e5e1a4 465652006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46566
46567 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46568 length for unknown glyph.
46569
c352d8dd 465702006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46571
2eab1c0d 46572 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46573
2eab1c0d 46574 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46575 completely. Accept one more argument DIR. The caller has changed.
46576
46577 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46578
46579 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46580 (grub_efi_loaded_image_guid): New variable.
46581 (grub_efi_get_loaded_image): New function.
46582 (grub_arch_modules_addr): Likewise.
46583
46584 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46585 prototype.
46586
46587 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46588 (struct grub_efi_loaded_image): New structure.
46589 (grub_efi_loaded_image_t): New type.
46590
465912006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46592
c352d8dd 46593 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46594 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46595 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46596
6d01d6b4 465972006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46598
46599 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46600
976a4ea0 466012006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46602
46603 * DISTLIST: Added include/grub/efi/console.h,
46604 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46605 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46606
46607 * include/grub/efi/console.h: New file.
46608 * include/grub/efi/time.h: Likewise.
46609 * include/grub/i386/efi/kernel.h: Likewise.
46610 * kern/efi/init.c: Likewise.
46611 * kern/efi/mm.c: Likewise.
46612 * term/efi/console.c: Likewise.
f19dbdb7 46613
976a4ea0 46614 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46615 (grub_stop): Removed.
46616 (grub_get_rtc): Likewise.
46617 (grub_machine_init): Simply call grub_efi_init.
46618 (grub_machine_fini): Call grub_efi_fini.
46619
46620 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46621 (grub_efi_output_string): Removed.
46622 (grub_efi_stall): New function.
46623 (grub_stop): Likewise.
46624 (grub_get_rtc): Likewise.
46625
46626 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46627 (grub_efi_stall): New prototype.
46628 (grub_efi_allocate_pages): Likewise.
46629 (grub_efi_free_pages): Likewise.
46630 (grub_efi_get_memory_map): Likewise.
46631 (grub_efi_mm_init): Likewise.
46632 (grub_efi_mm_fini): Likewise.
46633 (grub_efi_init): Likewise.
46634 (grub_efi_fini): Likewise.
46635
46636 * include/grub/i386/efi/time.h: Do not include
46637 grub/symbol.h. Include grub/efi/time.h.
46638 (GRUB_TICKS_PER_SECOND): Removed.
46639 (grub_get_rtc): Likewise.
46640
46641 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46642 Added padding. The EFI spec is buggy.
46643 (GRUB_EFI_BLACK): New macro.
46644 (GRUB_EFI_BLUE): Likewise.
46645 (GRUB_EFI_GREEN): Likewise.
46646 (GRUB_EFI_CYAN): Likewise.
46647 (GRUB_EFI_RED): Likewise.
46648 (GRUB_EFI_MAGENTA): Likewise.
46649 (GRUB_EFI_BROWN): Likewise.
46650 (GRUB_EFI_LIGHTGRAY): Likewise.
46651 (GRUB_EFI_BRIGHT): Likewise.
46652 (GRUB_EFI_DARKGRAY): Likewise.
46653 (GRUB_EFI_LIGHTBLUE): Likewise.
46654 (GRUB_EFI_LIGHTGREEN): Likewise.
46655 (GRUB_EFI_LIGHTCYAN): Likewise.
46656 (GRUB_EFI_LIGHTRED): Likewise.
46657 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46658 (GRUB_EFI_YELLOW): Likewise.
46659 (GRUB_EFI_WHITE): Likewise.
46660 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46661 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46662 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46663 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46664 (GRUB_EFI_BACKGROUND_RED): Likewise.
46665 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46666 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46667 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46668 (GRUB_EFI_TEXT_ATTR): Likewise.
46669
46670 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46671 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46672 (kernel_mod_HEADERS): Added efi/time.h.
46673
83709125 466742006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46675
46676 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46677 include/grub/efi/api.h, include/grub/efi/console_control.h,
46678 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46679 include/grub/i386/efi/time.h, kern/efi/efi.c,
46680 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46681 and util/i386/efi/grub-mkimage.c.
46682
46683 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46684
46685 * genmk.rb (PModule#rule): Do not export symbols if
46686 #{prefix}_EXPORTS is set to "no".
46687
46688 * conf/i386-efi.mk: New file.
46689 * conf/i386-efi.rmk: Likewise.
46690 * include/grub/efi/api.h: Likewise.
46691 * include/grub/efi/console_control.h: Likewise.
46692 * include/grub/efi/efi.h: Likewise.
46693 * include/grub/efi/pe32.h: Likewise.
46694 * include/grub/i386/efi/time.h: Likewise.
46695 * kern/efi/efi.c: Likewise.
46696 * kern/i386/efi/init.c: Likewise.
46697 * kern/i386/efi/startup.S: Likewise.
46698 * util/i386/efi/grub-mkimage.c: Likewise.
46699
467002006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46701
46702 * include/grub/script.h: Include <grub/parser.h> and
46703 "grub_script.tab.h".
46704 (struct grub_lexer_param): New struct.
46705 (struct grub_parser_param): Likewise.
46706 (grub_script_create_arglist): Pass the state in an argument.
46707 (grub_script_add_arglist): Likewise.
46708 (grub_script_create_cmdline): Likewise.
46709 (grub_script_create_cmdblock): Likewise.
46710 (grub_script_create_cmdif): Likewise.
46711 (grub_script_create_cmdmenu): Likewise.
46712 (grub_script_add_cmd): Likewise.
46713 (grub_script_arg_add): Likewise.
46714 (grub_script_lexer_ref): Likewise.
46715 (grub_script_lexer_deref): Likewise.
46716 (grub_script_lexer_record_start): Likewise.
46717 (grub_script_lexer_record_stop): Likewise.
46718 (grub_script_mem_record): Likewise.
46719 (grub_script_mem_record_stop): Likewise.
46720 (grub_script_malloc): Likewise.
46721 (grub_script_yylex): Likewise.
46722 (grub_script_yyparse): Likewise.
46723 (grub_script_yyerror): Likewise.
46724 (grub_script_yylex): Likewise.
46725 (grub_script_lexer_init): Return the state.
46726
46727 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46728 (grub_script_lexer_done): Likewise.
46729 (grub_script_lexer_getline): Likewise.
46730 (grub_script_lexer_refs): Likewise.
46731 (script): Likewise.
46732 (newscript): Likewise.
46733 (record): Likewise.
46734 (recording): Likewise.
46735 (recordpos): Likewise.
46736 (recordlen): Likewise.
46737 (grub_script_lexer_init): Return the state instead of setting
46738 global variables.
46739 (grub_script_lexer_ref): Use the newly added argument for state
46740 instead of globals.
46741 (grub_script_lexer_deref): Likewise.
46742 (grub_script_lexer_record_start): Likewise.
46743 (grub_script_lexer_record_stop): Likewise.
46744 (recordchar): Likewise.
46745 (nextchar): Likewise.
46746 (grub_script_yylex2): Likewise.
46747 (grub_script_yylex): Likewise.
46748 (grub_script_yyerror): Likewise.
46749
46750 * normal/parser.y (func_mem): Removed variable.
46751 (menu_entry): Likewise.
46752 (err): Likewise.
46753 (%lex-param): New parser option.
46754 (%parse-param): Likewise.
46755 (script): Always return the AST.
46756 (argument): Pass the state around.
46757 (arguments): Likewise.
46758 (grubcmd): Likewise.
46759 (commands): Likewise.
46760 (function): Likewise.
46761 (menuentry): Likewise.
46762 (if_statement): Likewise.
46763 (if): Likewise.
46764
46765 * normal/script.c (grub_script_memused): Removed variable.
46766 (grub_script_parsed): Likewise.
46767 (grub_script_malloc): Added a state argument. Use that instead of
46768 global variables.
46769 (grub_script_mem_record): Likewise.
46770 (grub_script_mem_record_stop): Likewise.
46771 (grub_script_arg_add): Likewise.
46772 (grub_script_add_arglist): Likewise.
46773 (grub_script_create_cmdline): Likewise.
46774 (grub_script_create_cmdif): Likewise.
46775 (grub_script_create_cmdmenu): Likewise.
46776 (grub_script_add_cmd): Likewise.
46777 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46778
e2a8c904 467792006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46780
46781 * normal/command.c (grub_command_init): Remove the title command.
46782
46783 * normal/lexer.c (grub_script_yylex): Renamed from this...
46784 (grub_script_yylex2): ... to this.
46785 (grub_script_yylex): New function. Temporary
46786 introduced to filter some tokens.
46787 (grub_script_yyerror): Print a newline.
46788
46789 * normal/main.c (read_config_file): Output information about the
46790 lines that contain errors. Wait for a key after all lines have
46791 been processed. Don't return an empty menu.
46792
46793 * normal/parser.y (func_mem): Don't initialize.
46794 (menu_entry): Likewise.
46795 (err): New variable.
46796 (script): Don't return anything when an error was encountered.
46797 (ws, returns): Removed rules.
46798 (argument): Disabled concatenated variable support.
46799 (arguments): Remove explicit separators.
46800 (grubcmd): Likewise.
46801 (function): Likewise.
46802 (menuentry): Likewise.
46803 (if): Likewise.
46804 (commands): Likewise. Add error handling.
46805
46806 * normal/script.c (grub_script_create_cmdline): If
46807 `grub_script_parsed' is 0, assume the parser encountered an error.
46808
c9a86192 468092006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46810
46811 * configure.ac: Add support for EFI. Fix the typo
46812 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46813
70f3b243 468142006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46815
46816 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46817 foreign multibyte characters should be shown correctly.
46818
65f201ad 468192006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46820
46821 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46822 calculation.
46823 (read_config_file): Made it to close file before returning.
46824
b4b93674 468252006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46826
46827 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46828 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46829 video/i386/pc/vbefill.c.
46830
46831 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46832 video/i386/pc/vbefill.c.
46833
46834 * include/grub/video.h (grub_video_blit_format): New enum.
46835 (grub_video_mode_info): Added new member blit_format.
46836 (grub_video_get_blit_format): New function prototype.
46837
46838 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46839 function prototype.
46840 (grub_video_vbe_map_rgb): Likewise.
46841 (grub_video_vbe_unmap_color): Likewise.
46842
46843 * include/grub/i386/pc/vbeblit.h: New file.
46844
46845 * include/grub/i386/pc/vbefill.h: New file.
46846
46847 * video/video.c (grub_video_get_blit_format): New function.
46848 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46849 (grub_video_vbe_map_rgb): Likewise.
46850 (grub_video_vbe_unmap_color): Likewise.
46851
46852 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46853 optimized fills.
46854 (grub_video_vbe_blit_render_target): Changed to use more optimized
46855 blits.
46856 (grub_video_vbe_setup): Added detection for optimized settings.
46857 (grub_video_vbe_create_render_target): Likewise.
46858
46859 * video/i386/pc/vbeblit.c: New file.
46860
46861 * video/i386/pc/vbefill.c: New file.
46862
c2379b9c 468632006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46864
46865 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46866 here...
46867
46868 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46869 parsing to support both hex and dec ranges. If filename was missing
46870 show usage information.
46871
bd0d7896 468722006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46873
46874 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46875 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46876
46877 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46878 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46879 (video_mod_SOURCES): Added.
46880 (video_mod_CFLAGS): Likewise.
46881 (video_mod_LDFLAGS): Likewise.
46882 (gfxterm_mod_SOURCES): Likewise.
46883 (gfxterm_mod_CFLAGS): Likewise.
46884 (gfxterm_mod_LDFLAGS): Likewise.
46885 (videotest_mod_SOURCES): Likewise.
46886 (videotest_mod_CFLAGS): Likewise.
46887 (videotest_mod_LDFLAGS): Likewise.
46888 (vesafb_mod_SOURCES): Removed.
46889 (vesafb_mod_CFLAGS): Likewise.
46890 (vesafb_mod_LDFLAGS): Likewise.
46891 (vga_mod_SOURCES): Likewise.
46892 (vga_mod_CFLAGS): Likewise.
46893 (vga_mod_LDFLAGS): Likewise.
46894
46895 * commands/videotest.c: New file.
46896
46897 * font/manager.c (fill_with_default_glyph): Modified to use
46898 grub_font_glyph.
46899 (grub_font_get_glyph): Likewise.
46900 (fontmanager): Renamed from this...
46901 (font_manager): ... to this.
46902
46903 * include/grub/font.h (grub_font_glyph): Added new structure.
46904 (grub_font_get_glyph): Modified to use grub_font_glyph.
46905
46906 * include/grub/misc.h (grub_abs): Added as inline function.
46907
46908 * include/grub/video.h: New file.
46909
46910 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46911 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46912 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46913 (grub_vbe_get_controller_info): Renamed from this...
46914 (grub_vbe_bios_get_controller_info): ... to this.
46915 (grub_vbe_get_mode_info): Renamed from this...
46916 (grub_vbe_bios_get_mode_info): ... to this.
46917 (grub_vbe_set_mode): Renamed from this...
46918 (grub_vbe_bios_set_mode): ... to this.
46919 (grub_vbe_get_mode): Renamed from this...
46920 (grub_vbe_bios_get_mode): ... to this.
46921 (grub_vbe_set_memory_window): Renamed from this...
46922 (grub_vbe_bios_set_memory_window): ... to this.
46923 (grub_vbe_get_memory_window): Renamed from this...
46924 (grub_vbe_bios_get_memory_window): ... to this.
46925 (grub_vbe_set_scanline_length): Renamed from this...
46926 (grub_vbe_set_scanline_length): ... to this.
46927 (grub_vbe_get_scanline_length): Renamed from this...
46928 (grub_vbe_bios_get_scanline_length): ... to this.
46929 (grub_vbe_set_display_start): Renamed from this...
46930 (grub_vbe_bios_set_display_start): ... to this.
46931 (grub_vbe_get_display_start): Renamed from this...
46932 (grub_vbe_bios_get_display_start): ... to this.
46933 (grub_vbe_set_palette_data): Renamed from this...
46934 (grub_vbe_bios_set_palette_data): ... to this.
46935 (grub_vbe_set_pixel_rgb): Removed.
46936 (grub_vbe_set_pixel_index): Likewise.
46937
46938 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46939 from this...
46940 (grub_vbe_bios_get_controller_info): ... to this.
46941 (grub_vbe_get_mode_info): Renamed from this...
46942 (grub_vbe_bios_get_mode_info): ... to this.
46943 (grub_vbe_set_mode): Renamed from this...
46944 (grub_vbe_bios_set_mode): ... to this.
46945 (grub_vbe_get_mode): Renamed from this...
46946 (grub_vbe_bios_get_mode): ... to this.
46947 (grub_vbe_set_memory_window): Renamed from this...
46948 (grub_vbe_bios_set_memory_window): ... to this.
46949 (grub_vbe_get_memory_window): Renamed from this...
46950 (grub_vbe_bios_get_memory_window): ... to this.
46951 (grub_vbe_set_scanline_length): Renamed from this...
46952 (grub_vbe_set_scanline_length): ... to this.
46953 (grub_vbe_get_scanline_length): Renamed from this...
46954 (grub_vbe_bios_get_scanline_length): ... to this.
46955 (grub_vbe_set_display_start): Renamed from this...
46956 (grub_vbe_bios_set_display_start): ... to this.
46957 (grub_vbe_get_display_start): Renamed from this...
46958 (grub_vbe_bios_get_display_start): ... to this.
46959 (grub_vbe_set_palette_data): Renamed from this...
46960 (grub_vbe_bios_set_palette_data): ... to this.
46961 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46962 getting corrupted after calling it. Added more pushes and pops.
46963 (grub_vbe_bios_set_mode): Likewise.
46964 (grub_vbe_bios_get_mode): Likewise.
46965 (grub_vbe_bios_get_memory_window): Likewise.
46966 (grub_vbe_bios_set_scanline_length): Likewise.
46967 (grub_vbe_bios_get_scanline_length): Likewise.
46968 (grub_vbe_bios_get_display_start): Likewise.
46969 (grub_vbe_bios_set_palette_data): Likewise.
46970
46971 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46972 (cl_insert): Likewise.
46973 (cl_delete): Likewise.
46974
46975 * term/gfxterm.c: New file.
46976
46977 * term/i386/pc/vesafb.c: Removed file.
46978
46979 * video/video.c: New file.
46980
46981 * video/i386/pc/vbe.c (real2pm): Added new function.
46982 (grub_video_vbe_draw_pixel): Likewise.
46983 (grub_video_vbe_get_video_ptr): Likewise.
46984 (grub_video_vbe_get_pixel): Likewise
46985 (grub_video_vbe_init): Likewise.
46986 (grub_video_vbe_fini): Likewise.
46987 (grub_video_vbe_setup): Likewise.
46988 (grub_video_vbe_get_info): Likewise.
46989 (grub_video_vbe_set_palette): Likewise.
46990 (grub_video_vbe_get_palette): Likewise.
46991 (grub_video_vbe_set_viewport): Likewise.
46992 (grub_video_vbe_get_viewport): Likewise.
46993 (grub_video_vbe_map_color): Likewise.
46994 (grub_video_vbe_map_rgb): Likewise.
46995 (grub_video_vbe_map_rgba): Likewise.
46996 (grub_video_vbe_unmap_color): Likewise.
46997 (grub_video_vbe_fill_rect): Likewise.
46998 (grub_video_vbe_blit_glyph): Likewise.
46999 (grub_video_vbe_blit_bitmap): Likewise.
47000 (grub_video_vbe_blit_render_target): Likewise.
47001 (grub_video_vbe_scroll): Likewise.
47002 (grub_video_vbe_swap_buffers): Likewise.
47003 (grub_video_vbe_create_render_target): Likewise.
47004 (grub_video_vbe_delete_render_target): Likewise.
47005 (grub_video_vbe_set_active_render_target): Likewise.
47006 (grub_vbe_set_pixel_rgb): Remove function.
47007 (grub_vbe_set_pixel_index): Likewise.
47008 (index_color_mode): Remove static variable.
47009 (active_mode): Likewise.
47010 (framebuffer): Likewise.
47011 (bytes_per_scan_line): Likewise.
47012 (grub_video_vbe_adapter): Added new static variable.
47013 (framebuffer): Likewise.
47014 (render_target): Likewise.
47015 (initial_mode): Likewise.
47016 (mode_in_use): Likewise.
47017 (mode_list): Likewise.
47018
5f97350b 470192006-03-10 Marco Gerards <marco@gnu.org>
47020
47021 * configure.ac (AC_INIT): Bumped to 1.93.
47022
47023 * DISTLIST: Added `include/grub/hfs.h'.
47024
a3c5c6f8 470252006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47026
47027 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47028 18H, which might help the BIOS falling back to next boot media.
47029
6de53d26 470302006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47031
47032 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47033 Poe Chen <poe.poechen@gmail.com>.
47034
77c4a393 470352006-01-17 Marco Gerards <marco@gnu.org>
47036
47037 * include/grub/normal.h: Include <grub/script.h>.
47038 (grub_command_list): Removed struct.
47039 (grub_command_list_t): Removed type.
47040 (grub_menu_entry): Remove members `num' and `command_list'. Add
47041 members `commands' and `sourcecode'.
47042 * include/grub/script.h: Add inclusion guards.
47043 (grub_script_cmd_menuentry): New struct.
47044 (grub_script_execute_menuentry): New prototype.
47045 (grub_script_lexer_record_start): Likewise.
47046 (grub_script_lexer_record_stop): Likewise.
47047 * normal/execute.c (grub_script_execute_menuentry): New function.
47048 * normal/lexer.c (record, recording, recordpos, recordlen): New
47049 variables.
47050 (grub_script_lexer_record_start): New function.
47051 (grub_script_lexer_record_stop): Likewise.
47052 (recordchar): Likewise.
47053 (nextchar): Likewise.
47054 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47055 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47056 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47057 (current_menu): New variable.
47058 (free_menu): Mainly rewritten.
47059 (grub_normal_menu_addentry): New function.
47060 (read_config_file): Rewritten.
47061 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47062 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47063 the menu entry.
47064 (run): Mainly rewritten.
47065 * normal/parser.y (menu_entry): New variable.
47066 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47067 (menuentry): New rule.
47068 (command): Add `menuentry'.
47069 (if_statement): Allow additional returns before `fi'.
47070 * normal/script.c (grub_script_create_cmdmenu): New function.
47071
144f1f98 470722006-01-03 Marco Gerards <marco@gnu.org>
47073
47074 * INSTALL: GNU Bison is required.
47075 * configure.ac: Rewritten the test to detect Bison.
47076 * Makefile.in (YACC): New variable. Reported by Xun Sun
47077 <xun.sun.cn@gmail.com>.
47078
af4b2d89 470792006-01-03 Marco Gerards <marco@gnu.org>
47080
47081 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47082 the HFS+ filesystem to filesystem blocks.
47083 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47084 GCC warning is silenced.
47085
15643b71 470862006-01-03 Marco Gerards <marco@gnu.org>
47087
47088 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47089 read from disk from big endian to host byte order.
47090
00905879 470912006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47092
47093 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47094 documentation.
47095 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47096 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47097 embedded HFS+ filesystem.
47098 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47099 (grub_hfs_sblock): Move from here...
47100 * include/grub/hfs.h: To here... New file.
47101 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47102 documentation.
47103 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47104 New macros.
47105 (grub_hfsplus_volheader): Change type of member `magic' to
47106 `grub_uint16_t'.
47107 (grub_hfsplus_data): Add new member `embedded_offset'.
47108 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47109 returned block.
47110 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47111 Calculate the offset.
47112
8899bc3e 471132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47114
47115 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47116 Removed.
47117 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47118
ae8c0277 471192005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47120
47121 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47122 ENV->NAME is NULL after allocating ENV->VALUE.
47123
07084456 471242005-12-25 Marco Gerards <marco@gnu.org>
47125
47126 * kern/env.c (grub_env_set): Rewritten the error handling code.
47127
4750f5f1 471282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47129
47130 * geninit.sh: Made more robust, and more portable.
47131
50214199 471322005-12-25 Marco Gerards <marco@gnu.org>
47133
47134 Add support for Apple HFS+ filesystems.
f19dbdb7 47135
50214199 47136 * fs/hfsplus.c: New file.
47137
47138 * DISTLIST: Added `fs/hfsplus.c'.
47139
47140 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47141 (hfsplus_mod_SOURCES): New variable.
47142 (hfsplus_mod_CFLAGS): Likewise.
47143 (hfsplus_mod_LDFLAGS): Likewise.
47144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47145 (grub_setup_SOURCES): Likewise.
47146 (grub_mkdevicemap_SOURCES): Likewise.
47147 (grub_emu_SOURCES): Likewise.
47148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47149
47150 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47151
47152 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47153
befaed6c 471542005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47155
47156 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47157 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47158 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47159 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47160 normal/lexer.c, normal/parser.y, normal/script.c, and
47161 partmap/gpt.c.
47162 Removed kern/sparc64/cache.c.
47163
47164 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47165 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47166 grub_emu_init.c.
47167
47168 * configure.ac (AC_INIT): Bumped to 1.92.
47169
6a124103 471702005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47171
47172 * kern/err.c (grub_error_push): Added new function to support error
47173 stacks.
47174 (grub_error_pop): Likewise.
47175 (grub_error_stack_items): New local variable to support error stacks.
47176 (grub_error_stack_pos): Likewise.
47177 (grub_error_stack_assert): Likewise.
47178 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47179 stack depth.
47180 (grub_print_error): Added support to print errors from error stack.
47181
47182 * include/grub/err.h (grub_error_push): Added function prototype.
47183 (grub_error_pop): Likewise.
47184
be973c1b 471852005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47186
47187 * configure.ac: Accept `powerpc64' as host_cpu.
47188 (amd64): Rename to `biarch32'.
47189
47190 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47191 non-cacheline-aligned addresses.
47192
47193 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47194 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47195 if `size' is non-zero.
47196
b04216ab 471972005-12-03 Marco Gerards <mgerards@xs4all.nl>
47198
47199 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47200 and `cd' to make sure the filename is not prefixed with a
47201 directory name.
47202 (pkgdata_MODULES): Add `gpt.mod'.
47203 (gpt_mod_SOURCES): New variable.
47204 (gpt_mod_CFLAGS): Likewise.
47205 (gpt_mod_LDFLAGS): Likewise.
47206
47207 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47208
47209 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47210 New macro.
47211
47212 * partmap/gpt.c: New file.
47213
47214 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47215 GPT partition map is detected.
47216
41730ed9 472172005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47218
47219 * commands/i386/pc/play.c: New file.
47220 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47221 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47222 macros.
f19dbdb7 47223
95dc3643 472242005-11-27 Marco Gerards <mgerards@xs4all.nl>
47225
47226 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47227 ((unused))' to silence gcc warning.
47228
1569ec51 472292005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47230
47231 * configure.ac: Correct `AC_PROG_YACC' test.
47232
9abde152 472332005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47234
47235 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47236 check before installing files.
47237
44b83271 472382005-11-22 Mike Small <smallm@panix.com>
47239
47240 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47241 number regex so multidigit numbers are recognized correctly.
47242
472432005-11-22 Mike Small <smallm@panix.com>
47244
47245 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47246 debugging message before attempting to claim memory.
47247 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47248 multiple addresses in case of failure.
47249
9c12956b 472502005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47251
47252 * term/tparm.c (get_space): Remove empty `if' statement.
47253
47254 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47255
47256 * kern/parser.c (check_varstate): Rename `state' to 's'.
47257
aeaf81d9 472582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47259
47260 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47261 variable definitions to the beginning of each function. Sort stack
47262 variables by size.
47263 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47264 `buf' argument to `char *'.
47265
79bbb63f 472662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47267
47268 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47269 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47270 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47271 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47272 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47273 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47274 configfile.mod, search.mod, gzio.mod and test.mod.
47275 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47276 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47277 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47278 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47279 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47280 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47281 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47282 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47283 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47284 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47285 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47286 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47287 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47288 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47289 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47290 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47291 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47292 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47293 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47294 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47295 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47296 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47297 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47298
47299 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47300 `grep --include'.
47301 (pkgdata_MODULES): Add test.mod.
47302
233b1628 473032005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47304
47305 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47306 appending to variables with "+=".
47307 (PModule): Use full pathname to generate *.lst filenames.
47308
47309 * Makefile.in: Fixed list rules moved from genmk.rb.
47310 (.DELETE_ON_ERROR): New special target.
47311 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47312
47313 * conf/i386-pc.rmk: Include conf/common.mk.
47314 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47315 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47316 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47317 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47318 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47319 configfile.mod, search.mod, gzio.mod and test.mod.
47320 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47321 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47322 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47323 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47324 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47325 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47326 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47327 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47328 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47329 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47330 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47331 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47332 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47333 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47334 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47335 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47336 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47337 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47338 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47339 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47340 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47341 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47342 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47343 here...
47344 * conf/common.rmk: ... to here. New file.
47345
47346 * conf/common.mk: New file.
47347
16f820c8 473482005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47349
47350 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47351 (grub_script.tab.c): ... here.
47352
47353 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47354 (grub_script.tab.c): ... here.
47355
47356 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47357 (grub_script.tab.c): ... here.
47358
47359 * normal/command.c (grub_command_find): Fixed a memory leak of
47360 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47361
63ba1554 473622005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47363
47364 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47365 "@" which marks the start of a comment on ARM.
47366 (VARIABLE): Likewise.
47367
7f67dc13 473682005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47369
79bbb63f 47370 Add support for Linux/ADFS partition tables.
7f67dc13 47371
47372 * partmap/acorn.c: New file.
47373
47374 * include/grub/acorn_filecore.h: Likewise.
47375
47376 * DISTLIST: Added `partmap/acorn.c' and
47377 `include/grub/acorn_filecore.h'.
f19dbdb7 47378
7f67dc13 47379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47380 `partmap/acorn.c'.
47381 (pkgdata_MODULES): Add `acorn.mod'.
47382 (acorn_mod_SOURCES): New variable.
47383 (acorn_mod_CFLAGS): Likewise.
47384
47385 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47386 `partmap/acorn.c'.
47387 (pkgdata_MODULES): Add `acorn.mod'.
47388 (acorn_mod_SOURCES): New variable.
47389 (acorn_mod_CFLAGS): Likewise.
47390
47391 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47392 (pkgdata_MODULES): Add `acorn.mod'.
47393 (acorn_mod_SOURCES): New variable.
47394 (acorn_mod_CFLAGS): Likewise.
47395 (acorn_mod_LDFLAGS): Likewise.
47396
47397 * include/types.h (grub_disk_addr_t): New typedef.
47398
6d099807 473992005-11-13 Marco Gerards <mgerards@xs4all.nl>
47400
47401 * geninit.sh: New file.
47402
47403 * geninitheader.sh: Likewise.
47404
47405 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47406 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47407 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47408 * commands/configfile.c (grub_configfile_init)
47409 (grub_configfile_fini): Likewise.
47410 * commands/default.c (grub_default_init, grub_default_fini):
47411 Likewise.
47412 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47413 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47414 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47415 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47416 Likewise.
47417 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47418 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47419 Likewise.
47420 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47421 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47422 Likewise.
47423 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47424 Likewise.
fe6b695a 47425 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47426 Likewise.
47427 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47428 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47429 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47430 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47431 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47432 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47433 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47434 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47435 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47436 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47437 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47438 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47439 * partmap/amiga.c (grub_amiga_partition_map_init)
47440 (grub_amiga_partition_map_fini): Likewise.
47441 * partmap/apple.c (grub_apple_partition_map_init)
47442 (grub_apple_partition_map_fini): Likewise.
47443 * partmap/pc.c (grub_pc_partition_map_init)
47444 (grub_pc_partition_map_fini): Likewise.
47445 * partmap/sun.c (grub_sun_partition_map_init,
47446 grub_sun_partition_map_fini): Likewise.
47447 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47448 Likewise.
47449
47450 * util/grub-emu.c: Include <grub_modules_init.h>.
47451 (main): Don't initialize and de-initialize any modules directly,
47452 use `grub_init_all' and `grub_fini_all' instead.
47453
47454 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47455 `grub_vesafb_mod_init'.
47456 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47457 all users.
47458 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47459 `grub_vga_mod_init'. Updated all users.
47460 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47461
6d099807 47462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47463 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47464 rules.
47465
47466 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47467 Generate a function to initialize the module in utilities.
47468 Updated all callers.
47469 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47470 initialize the module in utilities. Updated all callers.
47471
9046bcf0 474722005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47473
47474 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47475 escape sequence and a literal ^L to clear the screen.
47476
47477 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47478 when returning from Open Firmware.
47479
d13ea639 474802005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47481
47482 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47483 (grub_ofconsole_height): Likewise.
47484 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47485 manually insert a '\n'.
47486 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47487 `grub_ofconsole_height'. Return early if these are already set.
47488
a8fcf206 474892005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47490
47491 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47492 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47493 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47494 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47495 and `normal/script.c'.
47496 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47497 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47498 (test_mod_SOURCES): New variable.
47499 (test_mod_CFLAGS): Likewise.
47500 (test_mod_LDFLAGS): Likewise.
47501 (pkgdata_MODULES): Add `test.mod'.
47502 (grub_script.tab.c): New rule.
47503 (grub_script.tab.h): Likewise.
47504
b6b32745 475052005-11-07 Marco Gerards <mgerards@xs4all.nl>
47506
47507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47508 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47509 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47510 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47511 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47512 (test_mod_SOURCES): New variable.
47513 (test_mod_CFLAGS): Likewise.
47514 (pkgdata_MODULES): Add `test.mod'.
47515 (grub_script.tab.c): New rule.
47516 (grub_script.tab.h): Likewise.
47517
daac212a 475182005-11-06 Marco Gerards <mgerards@xs4all.nl>
47519
47520 Add initial scripting support.
47521
47522 * commands/test.c: New file.
47523 * include/grub/script.h: Likewise.
47524 * normal/execute.c: Likewise.
47525 * normal/function.c: Likewise.
47526 * normal/lexer.c: Likewise.
47527 * normal/parser.y: Likewise.
47528 * normal/script.c: Likewise.
47529
47530 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47531
daac212a 47532 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47533 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47534 `normal/function.c' and `normal/script.c'.
47535 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47536 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47537 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47538 variables.
daac212a 47539 (pkgdata_MODULES): Add `test.mod'.
47540 (grub_script.tab.c): New rule.
47541 (grub_script.tab.h): Likewise.
47542
47543 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47544
47545 * include/grub/normal.h (grub_test_init): New prototype.
47546 (grub_test_fini): Likewise.
f19dbdb7 47547
daac212a 47548 * normal/command.c: Include <grub/script.h>.
47549 (grub_command_execute): Rewritten.
f19dbdb7 47550
daac212a 47551 * util/grub-emu.c (main): Call `grub_test_init' and
47552 `grub_test_fini'.
47553
77500b2b 475542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47555
47556 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47557 to 0.
47558 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47559 there are no pending characters.
47560
e45deb9e 475612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47562
47563 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47564 `grub_strndup' to drop device arguments. Replace unnecessary
47565 `grub_strndup' with `grub_strdup'.
47566
4ce32619 475672005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47568
47569 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47570 `debug' environment variable has been set.
47571
475722005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47573
4ce32619 47574 * Makefile.in (install-local): Use $(DATA).
47575 (uninstall): Likewise.
47576 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47577 (sbin_UTILITIES): ... to here.
47578 (sbin_SCRIPTS): New variable.
47579 (grub_install_SOURCES): New variable.
47580 * util/powerpc/ieee1275/grub-install.in: New file.
47581 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47582 variable.
47583 (add_segments): Call `grub_util_get_path'.
47584
25fe6f03 475852005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47586
47587 From Timothy Baldwin:
47588 * commands/ls.c (grub_ls_list_files): Close FILE with
47589 grub_file_close.
47590 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47591
04ccf3ec 475922005-10-24 Marco Gerards <mgerards@xs4all.nl>
47593
47594 * include/grub/parser.h: New file.
47595
47596 * kern/parser.c: Likewise.
47597
47598 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47599 (grub_setup_SOURCES): Likewise.
47600 (grub_probefs_SOURCES): Likewise.
47601 (grub_emu_SOURCES): Likewise.
47602 (kernel_img_HEADERS): Add `parser.h'.
47603
47604 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47605 (grub_emu_SOURCES): Add `kern/parser.c'.
47606 (grubof_SOURCES): Likewise.
47607
47608 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47609 (grubof_SOURCES): Add `kern/parser.c'.
47610
47611 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47612
47613 * kern/misc.c (grub_split_cmdline): Removed function.
47614
47615 * kern/rescue.c: Include <grub/parser.h>.
47616 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47617 of `grub_split_cmdline'.
47618
47619 * normal/command.c: Include <grub/parser.h>.
47620 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47621 of `grub_split_cmdline'.
47622
47623 * normal/completion.c: Include <grub/parser.h>.
47624 (cmdline_state): New variable.
47625 (iterate_dir): End the filename with a quote depending on the
47626 command line state.
47627 (get_state): new function.
47628 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47629 split the arguments and determine the current argument. When the
47630 argument string is not quoted, escape all spaces.
47631
6d8f4b0e 476322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47633
47634 * normal/sparc64/setjmp.S: New file.
47635
15cf03ed 476362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47637
47638 * include/grub/sparc64/libgcc.h: New file.
47639 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47640 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47641 normal/sparc64/setjmp.c.
47642
03e8661a 476432005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47644
47645 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47646 * kern/sparc64/cache.S: New file.
47647 * kern/sparc64/cache.c: Removed.
47648 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47649 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47650 -mtune=ultrasparc.
47651 (COMMON_LDFLAGS): Add -melf64_sparc.
47652 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47653 (grubof_SOURCES): Use cache.S instead of cache.c.
47654 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47655 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47656 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47657 commented though.
47658 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47659 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47660 (linux_mod_CFLAGS): Commented out.
47661 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47662 out because module isn't built.
47663 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47664 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47665 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47666 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47667 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47668 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47669 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47670 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47671 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47672 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47673 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47674 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47675 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47676 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47677
34eeec8a 476782005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47679
47680 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47681 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47682 longer, because HFS should not be used on PC.
47683
708367a3 476842005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47685
47686 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47687 consistently within the loop.
47688
6fa1251a 476892005-10-15 Marco Gerards <mgerards@xs4all.nl>
47690
47691 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47692 directory can not be read.
47693
4801580b 476942005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47695
47696 * configure.ac (AC_INIT): Increase the version number to 1.91.
47697
47698 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47699 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47700 term/i386/pc/serial.c.
47701
219ad426 477022005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47703
47704 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47705 file size must be permitted.
47706
47707 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47708 between %ah and %al.
47709
688e5699 477102005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47711
47712 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47713 grub_uint64_t.
47714 Call the hook with a NUL-terminated filename.
47715 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47716 grub_cpu_to_be32.
47717
47718 * kern/term.c (cursor_state): New variable.
47719 (grub_term_set_current): Reset the cursor state on a new
47720 terminal.
47721 (grub_setcursor): Rewritten to use CURSOR_STATE.
47722 (grub_getcursor): New function.
47723
47724 * include/grub/term.h (grub_getcursor): New prototype.
47725
47726 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47727 integers on ARM. Reported by Timothy Baldwin
47728 <T.E.Baldwin99@members.leeds.ac.uk>.
47729
bb34586c 477302005-10-11 Marco Gerards <mgerards@xs4all.nl>
47731
47732 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47733 allocated.
47734 (grub_sfs_dir): Likewise.
47735
9a909877 477362005-10-09 Marco Gerards <mgerards@xs4all.nl>
47737
47738 Add support for the SFS filesystem.
47739
47740 * fs/sfs.c: New file.
47741
47742 * DISTLIST: Added `fs/sfs.c'.
47743
47744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47745 (grub_probefs_SOURCES): Likewise.
47746 (grub_emu_SOURCES): Likewise.
47747 (pkgdata_MODULES): Add `sfs.mod'.
47748 (sfs_mod_SOURCES): New variable.
47749 (sfs_mod_CFLAGS): Likewise.
47750 (sfs_mod_LDFLAGS): Likewise.
47751
47752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47753 (pkgdata_MODULES): Add `sfs.mod'.
47754 (sfs_mod_SOURCES): New variable.
47755 (sfs_mod_CFLAGS): Likewise.
47756
47757 * util/grub-emu.c (main): Call `grub_sfs_init' and
47758 `grub_sfs_fini'.
47759
47760 * include/grub/fs.h (grub_sfs_init): New prototype.
47761 (grub_sfs_fini): Likewise.
47762
57bdbde3 477632005-10-07 Marco Gerards <mgerards@xs4all.nl>
47764
47765 Add support for the AFFS filesystem.
47766
47767 * fs/affs.c: New file.
47768
47769 * DISTLIST: Added `fs/affs.c'.
47770
47771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47772 (grub_probefs_SOURCES): Likewise.
47773 (grub_emu_SOURCES): Likewise.
47774 (pkgdata_MODULES): Add `affs.mod'.
47775 (affs_mod_SOURCES): New variable.
47776 (affs_mod_CFLAGS): Likewise.
47777 (affs_mod_LDFLAGS): Likewise.
47778
47779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47780 (pkgdata_MODULES): Add `affs.mod'.
47781 (affs_mod_SOURCES): New variable.
47782 (affs_mod_CFLAGS): Likewise.
47783
47784 * util/grub-emu.c (main): Call `grub_affs_init' and
47785 `grub_affs_fini'.
47786
47787 * include/grub/fs.h (grub_affs_init): New prototype.
47788 (grub_affs_fini): Likewise.
47789
047b67e0 477902005-10-01 Marco Gerards <mgerards@xs4all.nl>
47791
47792 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47793
59b8208a 477942005-10-01 Marco Gerards <mgerards@xs4all.nl>
47795
47796 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47797 `-m32' to CFLAGS.
47798
47799 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47800 linking.
f19dbdb7 47801
59b8208a 47802 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47803 (COMMON_LDFLAGS): New variable.
47804 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47805 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47806 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47807 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47808 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47809 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47810 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47811 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47812 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47813 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47814 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47815 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47816 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47817 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47818 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47819 variables.
47820 (normal_mod_ASFLAGS): Add `-m32'.
47821
47822 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47823 (grub_host_size_t, grub_host_ssize_t): New types.
47824 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47825 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47826 `GRUB_HOST_SIZEOF_VOID_P'.
47827
47828 * include/grub/kernel.h (struct grub_module_header): Type of
47829 member offset changed to `grub_host_off_t'. Type of member size
47830 changed to `grub_host_size_t'.
47831 (struct grub_module_info): Type of member offset changed to
47832 `grub_host_off_t'. Type of member size changed to
47833 `grub_host_size_t'.
47834
b4093103 478352005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47836
47837 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47838
b4093103 47839 * kern/i386/pc/startup.S (multiboot_header): New label.
47840 (multiboot_entry): Likewise.
47841 (multiboot_trampoline): Likewise.
47842
47843 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47844 Increased to 0x4A0.
47845
47846 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47847 put parentheses after a question mark.
47848 [!GRUB_UTIL] (my_mod): New variable.
47849
47850 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47851
b2499b29 478522005-09-28 Marco Gerards <mgerards@xs4all.nl>
47853
47854 Adds support for the XFS filesystem. Btrees are not supported
47855 yet.
47856
47857 * fs/xfs.c: New file.
47858
47859 * DISTLIST: Added `fs/xfs.c'.
47860
47861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47862 (grub_probefs_SOURCES): Likewise.
47863 (grub_emu_SOURCES): Likewise.
47864 (pkgdata_MODULES): Add `xfs.mod'.
47865 (xfs_mod_SOURCES): New variable.
47866 (xfs_mod_CFLAGS): Likewise.
47867
47868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47869 (pkgdata_MODULES): Add `xfs.mod'.
47870 (xfs_mod_SOURCES): New variable.
47871 (xfs_mod_CFLAGS): Likewise.
47872
47873 * util/grub-emu.c (main): Call `grub_xfs_init' and
47874 `grub_xfs_fini'.
47875
47876 * include/grub/fs.h (grub_xfs_init): New prototype.
47877 (grub_xfs_fini): Likewise.
47878
f19dbdb7 47879
83d37a62 478802005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47881
47882 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47883 color modes, allow greater than 16 colors to be configured as
47884 a default palette.
47885
47d2d65e 478862005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47887
47888 * normal/completion.c (complete_arguments): Add the qualifier
47889 const into OPTIONS.
47890
47891 From Omniflux <omniflux+lists@omniflux.com>:
47892 * include/grub/terminfo.h: New file.
47893 * include/grub/tparm.h: Likewise.
47894 * include/grub/i386/pc/serial.h: Likewise.
47895 * term/terminfo.c: Likewise.
47896 * term/tparm.c: Likewise.
47897 * term/i386/pc/serial.c: Likewise.
47898 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47899 serial.mod.
47900 (terminfo_mod_SOURCES): New variable.
47901 (terminfo_mod_CFLAGS): Likewise.
47902 (serial_mod_SOURCES): Likewise.
47903 (serial_mod_CFLAGS): Likewise.
47904
48b671ff 479052005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47906
47907 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47908 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47909 and kern/powerpc/ieee1275/cmain.c, respectively.
47910
47911 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47912 * kern/powerpc/ieee1275/crt0.S: ... here.
47913
47914 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47915 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47916
48b671ff 47917 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47918 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47919 instead of boot/powerpc/ieee1275/crt0.S and
47920 boot/powerpc/ieee1275/cmain.c, respectively.
47921
47922 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47923 sectors. It was not used anyway.
47924
09fc77a7 479252005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47926
47927 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47928 `unused parameter' warning.
47929
003789c7 479302005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47931
47932 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47933 function.
47934 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47935 getcharwidth.
47936
67f44c86 479372005-08-28 Marco Gerards <metgerards@student.han.nl>
47938
47939 * include/grub/normal.h (enum grub_completion_type): Added
47940 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47941
47942 * normal/cmdline.c (print_completion): Handle
47943 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47944 * normal/menu_entry.c (store_completion): Likewise.
47945
47946 * normal/completion.c (complete_arguments): New function.
47947 (grub_normal_do_completion): Call `complete_arguments' when the
47948 current words start with a dash.
47949
0b5abe02 479502005-08-27 Marco Gerards <metgerards@student.han.nl>
47951
47952 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47953 `gzio.mod' instead of `io.mod').
47954
d9864ee1 479552005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47956
47957 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47958 (DISTDIRS): Added io and video.
47959 Rewrite the search routine to make an output consistently.
47960
47961 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47962 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47963 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47964 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47965 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47966 util/powerpc/ieee1275/misc.c.
f19dbdb7 47967
d9864ee1 47968 * include/grub/gzio.h: New file.
47969 * io/gzio.c: Likewise.
f19dbdb7 47970
d9864ee1 47971 * kern/file.c (grub_file_close): Call grub_device_close only if
47972 FILE->DEVICE is not NULL.
47973
47974 * include/grub/mm.h [!NULL] (NULL): New macro.
47975
47976 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47977
47978 * conf/powerpc-ieee1275.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 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47984 (pkgdata_MODULES): Added gzio.mod.
47985 (gzio_mod_SOURCES): New variable.
47986 (gzio_mod_CFLAGS): Likewise.
47987
47988 * commands/cat.c: Include grub/gzio.h.
47989 (grub_cmd_cat): Use grub_gzfile_open instead of
47990 grub_file_open.
f19dbdb7 47991
d9864ee1 47992 * commands/cmp.c: Include grub/gzio.h.
47993 (grub_cmd_cmp): Use grub_gzfile_open instead of
47994 grub_file_open.
47995
47996 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47997 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47998 grub_file_open.
47999 (grub_rescue_cmd_module): Likewise.
48000
fa46f4b5 480012005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48002
48003 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48004 kern/sparc64/ieee1275/init.c because it contains _start.
48005 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48006
e9211b5d 480072005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48008
48009 * configure.ac: Add support for sparc64 host with ieee1275
48010 firmware.
48011 * configure: Generated from configure.ac.
48012 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48013 instead of int.
48014 (grub_ofdisk_read): Likewise.
48015 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48016 pointers as (void *) to remove a warning.
48017 (grub_ofdisk_close): Likewise.
48018 (grub_ofdisk_read): Likewise.
48019 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48020 returns, so make it return void to remove a warning.
48021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48022 Corresponding prototype change.
48023 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48024 values, and cast the pointers as (void *) to remove a warning.
48025 (grub_mm_dump): Likewise.
48026 * conf/sparc64-ieee1275.mk: New file.
48027 * conf/sparc64-ieee1275.rmk: Likewise.
48028 * include/grub/sparc64/setjmp.h: Likewise.
48029 * include/grub/sparc64/types.h: Likewise.
48030 * include/grub/sparc64/ieee1275/console.h: Likewise.
48031 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48032 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48033 * include/grub/sparc64/ieee1275/time.h: Likewise.
48034 * kern/sparc64/cache.c: Likewise.
48035 * kern/sparc64/dl.c: Likewise.
48036 * kern/sparc64/ieee1275/init.c: Likewise.
48037 * kern/sparc64/ieee1275/openfw.c: Likewise.
48038
385c6a92 480392005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48040
48041 * util/console.c (grub_ncurses_putchar): If C is greater than
48042 0x7f, set C to a question mark.
48043 (grub_ncurses_getcharwidth): New function.
48044 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48045 getcharwidth.
48046
48047 * normal/menu.c (print_entry): Made aware of Unicode. First,
48048 convert TITLE to UCS-4, and predict the cursor position by
48049 grub_getcharwidth.
48050
48051 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48052 const to SRC.
48053 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48054
16ccb8b1 480552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48056
48057 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48058 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48059 grub_strcat.
48060
48061 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48062 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48063 grub_strcpy and grub_strlen. Take it into account that a space
48064 character is inserted as a delimiter.
48065
6a85ce79 480662005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48067
48068 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48069 invalid magic in the error.
6a85ce79 48070
48071 * commands/search.c: New file.
f19dbdb7 48072
6a85ce79 48073 * util/grub-emu.c (main): Call grub_search_init and
48074 grub_search_fini.
48075
48076 * kern/rescue.c (grub_rescue_print_disks): Removed.
48077 (grub_rescue_print_devices): New function.
48078 (grub_rescue_cmd_ls): Use grub_device_iterate with
48079 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48080 grub_rescue_print_disks.
48081
48082 * kern/partition.c (grub_partition_iterate): Return the result of
48083 PARTMAP->ITERATE instead of GRUB_ERRNO.
48084
48085 * kern/device.c: Include grub/partition.h.
48086 (grub_device_iterate): New function.
48087
48088 * include/grub/partition.h (grub_partition_iterate): Return int
48089 instead of grub_err_t.
48090
48091 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48092 prototype.
48093 [GRUB_UTIL] (grub_search_fini): Likewise.
48094
48095 * include/grub/device.h (grub_device_iterate): New prototype.
48096
48097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48098 commands/search.c.
48099 (pkgdata_MODULES): Added search.mod.
48100 (search_mod_SOURCES): New variable.
48101 (search_mod_CFLAGS): Likewise.
48102
48103 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48104 (pkgdata_MODULES): Added search.mod.
48105 (search_mod_SOURCES): New variable.
48106 (search_mod_CFLAGS): Likewise.
48107
48108 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48109 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48110 All callers changed.
48111
48112 * DISTLIST: Added commands/search.c.
48113
ef095434 481142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48115
48116 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48117 conversion.
48118 (grub_getcharwidth): New function.
48119
48120 * kern/misc.c (grub_utf8_to_ucs4): New function.
48121
48122 * include/grub/term.h (struct grub_term): Added a new member
48123 "getcharwidth".
48124 (grub_getcharwidth): New prototype.
48125
48126 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48127
48128 * term/i386/pc/console.c (map_char): New function. Segregated from
48129 grub_console_putchar.
48130 (grub_console_putchar): Use map_char.
48131 (grub_console_getcharwidth): New function.
48132 (grub_console_term): Specified grub_console_getcharwidth as
48133 getcharwidth.
48134
48135 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48136 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48137
48138 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48139 GRUB_ERRNO.
48140 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48141 on grub_strtoul completely.
48142 (write_char): Declare local variables in the beginning of the
48143 function.
48144 (grub_vesafb_getcharwidth): New function.
48145 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48146 getcharwidth.
48147
1f0a95e4 481482005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48149
48150 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48151 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48152 commands/i386/pc/vbetest.c.
48153
48154 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48155 call grub_vbe_get_controller_info again, because the returned
48156 information is volatile.
48157 (grub_vbe_set_video_mode): Mostly rewritten.
48158 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48159 grub_vbe_status_t correctly.
48160 (grub_vbe_get_video_mode_info): Likewise.
48161 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48162 several if statements.
48163
48164 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48165 * commands/i386/pc/vbeinfo.c: ... this.
48166
48167 * commands/i386/pc/vbe_test.c: Renamed to ...
48168 * commands/i386/pc/vbetest.c: ... this.
48169
48170 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48171 ...
48172 (grub_cmd_vbeinfo): ... this. Save video modes before
48173 iterating. Skip a video mode, if it is not available, not enough
48174 information is given or it is monochrome. Show the memory
48175 model. Leave the interpretation of MODEVAR to grub_strtoul
48176 completely.
48177 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48178 (GRUB_MOD_FINI): Likewise.
48179
48180 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48181 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48182 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48183 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48184 grub_strtoul completely.
48185 (real2pm): Removed.
48186 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48187 (GRUB_MOD_FINI): Likewise.
48188
48189 * normal/misc.c: Include grub/mm.h.
48190
48191 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48192 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48193 (vbe_list_modes_mod_SOURCES): Removed.
48194 (vbe_list_modes_mod_CFLAGS): Likewise.
48195 (vbe_test_mod_SOURCES): Likewise.
48196 (vbe_test_mod_CFLAGS): Likewise.
48197 (vbeinfo_mod_SOURCES): New variable.
48198 (vbeinfo_mod_CFLAGS): Likewise.
48199 (vbetest_mod_SOURCES): Likewise.
48200 (vbetest_mod_CFLAGS): Likewise.
48201
992ffbbe 482022005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48203
48204 * normal/misc.c: New file.
48205
48206 * DISTLIST: Added normal/misc.c.
f19dbdb7 48207
992ffbbe 48208 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48209 DISK to HOOK. Call HOOK with DISK.
48210 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48211 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48212 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48213
48214 * normal/menu_entry.c (struct screen): Added a new member
48215 "completion_shown".
48216 (completion_buffer): New global variable.
48217 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48218 (store_completion): New function.
48219 (complete): Likewise.
48220 (clear_completions): Likewise.
48221 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48222 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48223 a tab, call complete.
48224
48225 * normal/completion.c (disk_dev): Removed.
48226 (print_simple_completion): Likewise.
48227 (print_partition_completion): Likewise.
48228 (print_func): New global variable.
48229 (add_completion): Do not take the arguments WHAT or PRINT any
48230 longer. Added a new argument TYPE. Instead of printing directly,
48231 call PRINT_FUNC if not NULL.
48232 All callers changed.
48233 (complete_device): Use a local variable DEV instead of
48234 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48235 (grub_normal_do_completion): Take a new argument HOOK. Do not
48236 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48237 empty string, return NULL instead.
48238 All callers changed.
48239
48240 * normal/cmdline.c (print_completion): New function.
48241
48242 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48243 to HOOK.
48244 All callers changed.
48245
48246 * kern/disk.c (grub_print_partinfo): Removed.
48247
48248 * include/grub/partition.h (struct grub_partition_map): Add a new
48249 argument DISK into HOOK of ITERATE.
48250 (grub_partition_iterate): Add a new argument DISK to HOOK.
48251
48252 * include/grub/normal.h (enum grub_completion_type): New enum.
48253 (grub_completion_type_t): New type.
48254 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48255 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48256 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48257 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48258 (grub_normal_do_completion): Added a new argument HOOK.
48259 (grub_normal_print_device_info): New prototype.
48260
48261 * include/grub/disk.h (grub_print_partinfo): Removed.
48262
48263 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48264 (normal_mod_SOURCES): Likewise.
48265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48266 (normal_mod_SOURCES): Likewise.
48267
48268 * commands/ls.c (grub_ls_list_disks): Use
48269 grub_normal_print_device_info instead of grub_print_partinfo. Free
48270 PNAME.
48271 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48272 duplicating the code.
48273
0bd41162 482742005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48275
48276 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48277 follow GCS more precisely.
48278 * commands/i386/pc/vbe_test.c: Likewise.
48279 * include/grub/i386/pc/vbe.h: Likewise.
48280 * term/i386/pc/vesafb.c: Likewise.
48281 * video/i386/pc/vbe.c: Likewise.
0bd41162 48282
6323696a 482832005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48284
48285 * DISTLIST: Added term/i386/pc/vesafb.c
48286 DISTLIST: Added video/i386/pc/vbe.c
48287 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48288 DISTLIST: Added commands/i386/pc/vbe_test.c.
48289 * commands/i386/pc/vbe_list_modes.c: New file.
48290 * commands/i386/pc/vbe_test.c: Likewise.
48291 * term/i386/pc/vesafb.c: Likewise.
48292 * video/i386/pc/vbe.c: Likewise.
48293 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48294 (grub_vbe_probe) Added prototype.
48295 (grub_vbe_set_video_mode) Likewise.
48296 (grub_vbe_get_video_mode) Likewise.
48297 (grub_vbe_get_video_mode_info) Likewise.
48298 (grub_vbe_set_pixel_rgb) Likewise.
48299 (grub_vbe_set_pixel_index) Likewise.
48300 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48301 (pkgdata_MODULES): Added vesafb.mod.
48302 (pkgdata_MODULES): Added vbe_list_modes.mod.
48303 (pkgdata_MODULES): Added vbe_test.mod.
48304 (vbe_mod_SOURCES): Added.
48305 (vbe_mod_CFLAGS): Likewise.
48306 (vesafb_mod_SOURCES): Likewise.
48307 (vesafb_mod_CFLAGS): Likewise.
48308 (vbe_list_modes_mod_SOURCES): Likewise.
48309 (vbe_list_modes_mod_CFLAGS): Likewise.
48310 (vbe_test_mod_SOURCES): Likewise.
48311 (vbe_test_mod_CFLAGS): Likewise.
48312
0a74e62f 483132005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48314
0a74e62f 48315 * normal/command.c (grub_command_execute): If INTERACTIVE is
48316 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48317 CMDLINE. Disable the pager if INTERACTIVE is true.
48318 All callers are changed.
48319
48320 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48321 before reading a config file.
48322 * normal/main.c (read_config_file): Even if a command is not
48323 found, register it if it is within an entry.
48324
48325 * util/grub-emu.c: Include sys/types.h and unistd.h.
48326 (options): Added --hold.
48327 (struct arguments): Added a new member "hold".
48328 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48329 missing.
48330 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48331 cleared by a debugger, if it is not zero.
48332
48333 * include/grub/normal.h (grub_command_execute): Add an argument
48334 INTERACTIVE.
48335
e51f85ae 483362005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48337
48338 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48339
e9c6f39b 483402005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48341
48342 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48343 program with another one, because the old one didn't detect a bug
48344 in gcc-3.4. Always use regparm 2, because the new test is still
48345 not enough for gcc-4.0. Someone must investigate a simple test
48346 case which detects a bug in gcc-4.0.
48347
8de3495c 483482005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48349
48350 * DISTLIST: Added normal/completion.c.
48351
48352 * normal/completion.c: New file.
f19dbdb7 48353
8de3495c 48354 * term/i386/pc/console.c (grub_console_getwh): New function.
48355 (grub_console_term): Assign grub_console_getwh to getwh.
48356
48357 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48358 function is defined in normal/completion.c as
48359 grub_normal_do_completion.
48360 (grub_cmdline_get): Use grub_normal_do_completion instead of
48361 grub_tab_complete.
48362
48363 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48364 returns non-zero, otherwise return 0.
48365 (grub_partition_iterate): First, probe the partition map. Then,
48366 call ITERATE only for this partition map.
48367
48368 * kern/misc.c (grub_strncmp): Rewritten.
48369
48370 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48371 returns non-zero. Otherwise return 0.
48372
48373 * include/grub/partition.h (grub_partition_map_iterate): Return
48374 int instead of void.
48375
48376 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48377
48378 * include/grub/misc.h (grub_strncmp): Change the type of N to
48379 grub_size_t.
48380
48381 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48382 of void.
48383
48384 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48385 unsigned explicitly before comparing it with I.
8de3495c 48386
48387 * kern/main.c (grub_env_write_root): Add the attribute unused into
48388 VAR.
48389
48390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48391 normal/completion.c.
48392 (normal_mod_SOURCES): Likewise.
48393 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48394 (normal_mod_SOURCES): Likewise.
48395
48396 * normal/command.c (grub_iterate_commands): If ITERATE returns
48397 non-zero, return one immediately.
48398
e85e144b 483992005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48400
48401 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48402 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48403 descriptions.
48404 (grub_vbe_get_controller_info): New function.
48405 (grub_vbe_get_mode_info): Likewise.
48406 (grub_vbe_set_mode): Likewise.
48407 (grub_vbe_get_mode): Likewise.
48408 (grub_vbe_set_memory_window): Likewise.
48409 (grub_vbe_get_memory_window): Likewise.
48410 (grub_vbe_set_scanline_length): Likewise.
48411 (grub_vbe_get_scanline_length): Likewise.
48412 (grub_vbe_set_display_start): Likewise.
48413 (grub_vbe_get_display_start): Likewise.
48414 (grub_vbe_set_palette_data): Likewise.
48415 * include/grub/i386/pc/vbe.h: New file.
48416
c46153d2 484172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48418
48419 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48420 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48421 * DISTLIST: Likewise.
48422 * kern/ieee1275/of.c: Moved to ...
48423 * kern/ieee1275/ieee1275.c: ... here.
48424
0cb90c45 484252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48426
48427 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48428 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48429 Pass 0 as `end' parameter to grub_strtoul().
48430
a19fb360 484312005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48432
48433 * include/grub/powerpc/ieee1275/console.h: Do not include
48434 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48435 ifdef.
48436 (grub_console_cur_color): Remove i386-specific prototype.
48437 (grub_console_real_putchar): Likewise.
48438 (grub_console_checkkey): Likewise.
48439 (grub_console_getkey): Likewise.
48440 (grub_console_getxy): Likewise.
48441 (grub_console_gotoxy): Likewise.
48442 (grub_console_cls): Likewise.
48443 (grub_console_setcursor): Likewise.
48444 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48445 Include <grub/machine/console.h>.
48446 * term/ieee1275/ofconsole.c: Likewise.
48447
4ac9bd04 484482005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48449
48450 * Makefile.in (LIBLZO): New variable.
48451
48452 * configure.ac: Check for LZO version 2.
48453
48454 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48455 lzo/lzo1x.h instead of lzo1x.h.
48456
48457 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48458 of -llzo.
48459
48460 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48461 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48462
48463 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48464 copying the data from PARTITION to P.
48465
f4917dfd 484662005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48467
48468 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48469 negative, unload the module.
48470
48471 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48472 map is "pc_partition_map" but not "pc".
48473 (usage): Fix the description. The options are --boot-image and
48474 --core-image but not --boot-file or --core-file.
48475 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48476 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48477 DEFAULT_DIRECTORY.
48478
48479 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48480 --core-file. Specify INSTALL_DEVICE as an argument.
48481
48482 * util/console.c: Include config.h.
48483 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48484 [HAVE_NCURSES_H]: Include ncurses.h.
48485 [HAVE_CURSES_H]: Include curses.h.
48486 [!A_NORMAL] (A_NORMAL): Defined as zero.
48487 [!A_STANDOUT] (A_STANDOUT): Likewise.
48488
48489 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48490 -lncurses.
48491 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48492
48493 * configure.ac: Check for curses libraries and headers.
48494
48495 * Makefile.in (LIBCURSES): New variable.
48496
48497 * genmk.rb (Script::rule): Set the executable bits.
48498
48499 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48500 name of the PC partition map is "pc_partition_map" but not "pc".
48501
0e143073 485022005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48503
48504 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48505 (modules): Likewise.
48506 (usage): Added descriptions for --modules and --grub-probefs.
48507 Handle --modules and --grub-probefs. Save the arguments in MODULES
48508 and GRUB_PROBEFS, respectively.
48509 Auto-detect a filesystem module against GRUBDIR. If the result is
48510 empty and modules are not specified explicitly, abort the
48511 installation. Add the result to MODULES.
48512
48513 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48514 disk/powerpc/ieee1275/ofdisk.c,
48515 include/grub/powerpc/ieee1275/init.h and
48516 term/powerpc/ieee1275/ofconsole.c.
48517 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48518 term/ieee1275/ofconsole.c.
48519
48520 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48521
48522 * COPYING: Upgraded to the latest version. Only the address of the
48523 FSF office has changed.
f19dbdb7 48524
efd6e6d5 485252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48526
48527 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48528 kern/ieee1275.c with kern/ieee1275/of.c.
48529
48530 * kern/ieee1275.c: Moved to ...
48531 * kern/ieee1275/of.c: ... here.
48532
8ceafda2 485332005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48534
48535 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48536 readability.
8ceafda2 48537
48538 * config.guess: Updated to the latest version from gnulib.
48539 * config.sub: Likewise.
48540 * install.sh: Likewise.
48541 * mkinstalldirs: Likewise.
48542
48543 * include/grub/console.h: Removed. This file is arch-specific. Do
48544 not put this in include/grub.
48545
48546 * include/grub/i386/pc/console.h: Resurrected.
48547
48548 * util/console.c: Include grub/machine/console.h instead of
48549 grub/console.h.
48550 * util/grub-emu.c: Likewise.
48551
267f6cd9 485522005-08-04 Marco Gerards <metgerards@student.han.nl>
48553
48554 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48555 hardcoded value.
f19dbdb7 48556
267f6cd9 48557 From Vincent Pelletier <subdino2004@yahoo.fr>
48558 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48559 Redefined to use grub_getwh.
48560 (grub_term): New member named getwh.
48561 (grub_getwh): New prototype.
48562 * kern/term.c (grub_getwh): New function.
48563 * term/i386/pc/console.c (grub_console_getwh): New function.
48564 (grub_console_term): New member `getwh'.
48565 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48566 (grub_vga_term): New member `getwh'.
0b5abe02 48567 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48568 grub_ssize_t.
48569 (grub_ofconsole_getw): New function.
48570 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48571 (grub_ofconsole_term): New field named getwh and new initial
48572 value.
48573
3be7266d 485742005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48575
48576 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48577 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48578 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48579 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48580 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48581 of <grub/machine/ieee1275.h>.
48582 * commands/ieee1275/reboot.c: Likewise.
48583 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48584 * kern/ieee1275.c: ... to here. All users updated. Change all
48585 parameter structs to use new type `grub_ieee1275_cell_t'.
48586 * term/powerpc/ieee1275/ofconsole.c: Move ...
48587 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48588 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48589 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48590 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48591 to return int.
48592 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48593 Remove unused prototypes. All users updated.
48594 * include/grub/powerpc/ieee1275/console.h: Removed.
48595 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48596 `grub_ieee1275_cell_t'.
48597 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48598 Cast comparisons with -1 to the correct type.
48599 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48600 type to match `grub_ieee1275_entry_fn'.
48601
8b5f3938 486022005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48603
48604 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48605
48606 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48607 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48608 partmap/sun.c.
48609 (grub_probefs_SOURCES): New variable.
48610
48611 * util/i386/pc/grub-probefs.c: New file.
48612
48613 * util/i386/pc/grub-setup.c (main): Call
48614 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48615 grub_hfs_init and grub_jfs_init to initialize the system. Call
48616 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48617 grub_pc_partition_map_fini to finish the system.
48618
ea409713 486192005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48620
48621 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48622 function.
48623 (grub_multiboot_load_elf32): Likewise.
48624 (grub_multiboot_is_elf64): Likewise.
48625 (grub_multiboot_load_elf64): Likewise.
48626 (grub_multiboot_load_elf): Likewise.
48627 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48628 an ELF32 or ELF64 file.
48629 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48630
48631 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48632 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48633 NULL before calling FS->LABEL.
48634 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48635 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48636 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48637 before calling FS->LABEL.
48638
141a288b 486392005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48640
48641 * util/i386/pc/grub-install.in (datadir): New variable.
48642 (libdir): Removed.
48643 (pkgdatadir): New variable.
48644 (pkglibdir): Removed.
48645
0d5f8a54 486462005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48647
48648 * DISTLIST: Added util/i386/pc/grub-install.in.
48649
48650 * util/i386/pc/grub-install.in: New file.
48651
48652 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48653 (grub_install_SOURCES): Likewise.
48654
48655 * genmk.rb: Added support for scripts.
48656 (Script): New class.
48657 (scripts): New variable.
48658
48659 * Makefile.in (install-local): Install sbin_SCRIPTS by
48660 INSTALL_SCRIPT.
48661 (uninstall): Remove sbin_SCRIPTS.
48662
48663 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48664 device, try to get a GRUB device by
48665 grub_util_biosdisk_get_grub_dev.
48666 Free DEST_DEV.
48667
48668 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48669 description for --device-map.
48670
5f968e1e 486712005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48672
48673 Change the semantics of variable hooks. They now return strings
48674 instead of error values.
f19dbdb7 48675
5f968e1e 48676 * util/i386/pc/grub-setup.c: Include grub/env.h.
48677 (setup): Use grub_device_set_root instead of grub_env_set.
48678
48679 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48680 grub_env_get instead of grub_device_set_root and
48681 grub_device_get_root, respectively.
48682
48683 * kern/main.c (grub_env_write_root): New function.
48684 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48685 grub_env_set instead of grub_device_set_root.
48686
48687 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48688 many variables.
48689 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48690 rather than calling ENV->WRITE_HOOK afterwards.
48691 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48692 passing a pointer of a pointer.
48693 (grub_register_variable_hook): Change the types of "read_hook" and
48694 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48695 respectively.
48696 Allocate the default empty string on the heap, because this string
48697 may be freed later.
48698
48699 * kern/device.c: Include grub/env.h.
48700 (grub_device_set_root): Removed.
48701 (grub_device_get_root): Likewise.
48702 (grub_device_open): Use grub_env_get instead of
48703 grub_device_get_root.
48704
48705 * include/grub/env.h (grub_env_read_hook_t): New type.
48706 (grub_env_write_hook_t): Likewise.
48707 (grub_env_var): Change the types of "read_hook" and "write_hook"
48708 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48709 (grub_register_variable_hook): Likewise.
48710
48711 * include/grub/device.h (grub_device_set_root): Removed.
48712 (grub_device_set_root): Likewise.
48713
48714 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48715 make sure that DIRNAME terminates with '/', so that
48716 grub_fat_find_dir will fail if PATH is not a directory.
48717
48718 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48719 from DIRNAME.
48720 Use the qualifier auto for print_files and print_files_long.
48721 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48722 as a regular file.
48723 Put a newline only if there is no error.
48724 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48725 used.
48726
896f0afd 487272005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48728
48729 * kern/partition.c (grub_partition_probe): Initialize PART to
48730 NULL. Otherwise, when no partition map is registered, this returns
48731 a garbage.
48732
b28b81b2 487332005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48734
48735 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48736 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48737 valid.
48738
5f3607e0 487392005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48740
48741 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48742 information on each device, if it does not have partitions. Print
48743 "Device" instead of "Disk", because this function is not specific
48744 to disk devices.
48745
48746 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48747 static to ensure that it is put on the memory rather than a
48748 register.
48749
502c87e8 487502005-07-17 Yoshinori Okuji <okuji@enbug.org>
48751
48752 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48753 (grub_cat_init): Likewise.
48754 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48755 (options): Likewise.
48756 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48757 (grub_configfile_init): Likewise.
48758 * font/manager.c (GRUB_MOD_INIT): Likewise.
48759 * commands/help.c (GRUB_MOD_INIT): Likewise.
48760 (grub_help_init): Likewise.
48761 * normal/command.c (grub_command_init): Likewise.
48762 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48763 * disk/loopback.c (grub_loop_init): Likewise.
48764 (GRUB_MOD_INIT): Likewise.
48765 * commands/ls.c (grub_ls_init): Likewise.
48766 (GRUB_MOD_INIT): Likewise.
48767 (options): Likewise.
48768 * commands/boot.c (grub_boot_init): Likewise.
48769 (GRUB_MOD_INIT): Likewise.
48770 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48771 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48772 (GRUB_MOD_INIT): Likewise.
48773 * commands/cmp.c (grub_cmp_init): Likewise.
48774 (GRUB_MOD_INIT): Likewise.
48775
48776 * normal/arg.c: Use <> instead of "" to include header files.
48777 (SHORT_ARG_HELP): New macro.
48778 (SHORT_ARG_USAGE): Likewise.
48779 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48780 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48781 descriptions.
48782 (find_short): Check if C is 'h' or 'u' explicitly.
48783 (grub_arg_show_help): Use space characters instead of tabs. Treat
48784 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48785 are shown with --help and --usage only if they are not used for
48786 the command itself.
48787 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48788 'h' and 'u'.
48789
48790 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48791 const into "longarg". Change the type of "shortarg" to int.
48792
f806d18e 487932005-07-17 Yoshinori Okuji <okuji@enbug.org>
48794
48795 * boot/i386/pc/boot.S (boot_drive_check): New label.
48796
48797 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48798 macro.
48799
48800 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48801 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48802
e293232b 488032005-07-17 Yoshinori Okuji <okuji@enbug.org>
48804
48805 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48806 When turning off Gate A20, skip the check and return immediately,
48807 because this is not fatal usually.
48808
ebedfd00 488092005-07-17 Yoshinori Okuji <okuji@enbug.org>
48810
48811 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48812 be 0x7C00 instead of 0x8000.
48813
48814 * boot/i386/pc/pxeboot.S: Rewritten.
48815
48816 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48817 EXT_C.
48818 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48819 result.
48820
654fc59f 488212005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48822
48823 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48824 robustness. This routine now supports a BIOS call and System
48825 Control Port A to modify the gate A20.
48826
48827 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48828 Increased to 0x440.
48829
09f9923f 488302005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48831
48832 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48833 device path and resulting ihandle.
48834 (grub_ofdisk_close): dprintf the ihandle being closed.
48835 (grub_ofdisk_read): dprintf function parameters.
48836 * kern/mm.c (grub_mm_init_region): Likewise.
48837 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48838 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48839 size, and boot arguments.
48840 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48841 before loading into memory.
48842 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48843 before loading into memory.
48844
7ef504d8 488452005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48846
48847 * kern/mm.c: Added much documentation.
48848 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48849 8, set to 5 instead of 8.
48850
e0f050c2 488512005-07-10 Yoshinori Okuji <okuji@enbug.org>
48852
48853 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48854
48855 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48856 (grub_mkdevicemap_SOURCES): New variable.
48857
48858 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48859 lib/device.c of GRUB Legacy.
48860
7224189a 488612005-07-10 Yoshinori Okuji <okuji@enbug.org>
48862
48863 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48864 instead of PATH is NULL.
48865
68c864eb 488662005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48867
48868 * commands/cmp.c (BUFFER_SIZE): New macro.
48869 (grub_cmd_cmp): Close the right file at the right time. Compare
48870 only data just read. Don't report files of different size as
48871 identical. Dynamically allocate buffers. Move variable
48872 declarations at the beginning of function.
48873
e6f3e614 488742005-07-09 Yoshinori Okuji <okuji@enbug.org>
48875
48876 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48877 reverse.
48878
f8f1559a 488792004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48880
48881 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48882 when backspace is pressed at beginning of line.
48883
39c9d41d 488842005-07-03 Yoshinori Okuji <okuji@enbug.org>
48885
48886 * DISTLIST: Added genfslist.sh.
48887
48888 * normal/main.c (fs_module_list): New variable.
48889 (autoload_fs_module): New function.
48890 (read_fs_list): Likewise.
48891 (grub_normal_execute): Call read_fs_list.
48892
48893 * kern/fs.c (grub_fs_autoload_hook): New variable.
48894 (grub_fs_probe): Added support for auto-loading.
48895
48896 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48897 (grub_fs_module_list_t): New type.
48898
48899 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48900 (grub_fs_autoload_hook): New prototype.
48901
48902 * genfslist.sh: New file.
f19dbdb7 48903
39c9d41d 48904 * genmk.rb: Added a rule to generate a filesystem list.
48905
121c1d83 489062005-06-30 Marco Gerards <metgerards@student.han.nl>
48907
48908 * configure.ac: Fix the test for cross-compiling.
48909
48910 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48911 define GRUB_UTIL anymore.
48912
48913 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48914 so this function works on other systems than just big endian.
48915 (load_modules): Likewise.
48916 (add_segments): Likewise.
48917
e75d76e1 489182005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48919
48920 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48921 contains `l' modifier, get a long from va_arg().
48922
50b5a0a7 489232005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48924
48925 * kern/mm.c (grub_free): If the next free block which is being
48926 merged is the first free block, set the first block to the block
48927 being freed.
48928 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48929
89371b20 489302005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48931
48932 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48933 `grub_ieee1275_chosen'.
48934
168d6e58 489352005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48936
48937 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48938 (grub_ieee1275_chosen): New variable.
48939 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48940 `chosen'.
48941 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48942 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48943 Rename first argument to `phandle' for consistency.
48944 (grub_ieee1275_get_property_length): Likewise.
48945 (grub_ieee1275_next_property): Likewise. Change type of first argument
48946 to grub_ieee1275_phandle_t.
48947 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48948 Move export next to declaration.
48949 (grub_ieee1275_chosen): New variable.
48950 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48951 Correct cosmetic typo.
48952 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48953 `grub_ieee1275_chosen'.
48954 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48955 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48956 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48957 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48958 `grub_ieee1275_chosen'.
48959
ca5baa3f 489602005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48961
48962 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48963 /chosen/bootargs.
48964 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48965 /chosen/bootargs as "variable=value" pairs.
48966
708b345f 489672005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48968
48969 * include/grub/misc.h (grub_dprintf): New macro.
48970 (grub_real_dprintf): New prototype.
48971 (grub_strword): Likewise.
48972 (grub_iswordseparator): Likewise.
48973 * kern/misc.c (grub_real_dprintf): New function.
48974 (grub_strword): Likewise.
48975 (grub_iswordseparator): Likewise.
48976
f4c5e67c 489772005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48978
48979 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48980 (roundup): Remove macro.
48981 (grub_ieee1275_flags): Make static.
48982 (grub_ieee1275_realmode): Remove.
48983 (grub_ieee1275_test_flag): New function.
48984 (grub_ieee1275_set_flag): Likewise.
48985 (find_options): Rename to `grub_ieee1275_find_options'; update
48986 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48987 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48988 (cmain): New prototype.
48989 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48990 `grub_ieee1275_flags' directly.
48991 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48992 machine/biosdisk.h.
48993 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48994 Don't include grub/machine/init.h.
48995 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48996 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48997 Remove prototype.
48998 (grub_ieee1275_realmode): Likewise.
48999 (grub_ieee1275_flag): New enum.
49000 (grub_ieee1275_test_flag): New prototype.
49001 (grub_ieee1275_set_flag): New prototype.
49002 * include/grub/powerpc/ieee1275/init.h: Remove file.
49003 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49004 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49005 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49006 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49007 comment.
49008 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49009 `grub_ieee1275_test_flag'.
49010 (grub_ieee1275_encode_devname): Likewise.
49011
ed16607e 490122005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49013
49014 * include/grub/powerpc/ieee1275/ieee1275.h
49015 (grub_ieee1275_encode_devname): New prototype.
49016 (grub_ieee1275_get_filename): Likewise.
49017 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49018 function.
49019 (grub_set_prefix): Likewise.
49020 (grub_machine_init): Call grub_set_prefix.
49021 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49022 (grub_parse_type): New enum.
49023 (grub_ieee1275_get_devargs): New function.
49024 (grub_ieee1275_get_devname): Likewise.
49025 (grub_ieee1275_parse_args): Likewise.
49026 (grub_ieee1275_get_filename): Likewise.
49027 (grub_ieee1275_encode_devname): Likewise.
49028
be369920 490292005-03-30 Marco Gerards <metgerards@student.han.nl>
49030
49031 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49032 `grub_loader_unset'.
49033
a5ce3a4a 490342005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49035
49036 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49037 instead of grub_ieee1275_interpret.
49038 (grub_halt_init): New function.
49039 (grub_halt_fini): Likewise.
49040 (GRUB_MOD_INIT): Correct message grammar.
49041 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49042 instead of grub_ieee1275_interpret.
49043 (grub_reboot_init): New function.
49044 (grub_reboot_fini): Likewise.
49045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49046 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49047 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49048 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49049 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49050 function.
49051 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49052 Add prototype.
49053 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49054 prototype.
49055 (grub_halt): Likewise.
49056 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49057 (cmain): Remove __attribute__((unused)).
49058 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49059 (grub_heap_len): Likewise.
49060 (grub_machine_fini): New function.
49061 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49062 (grub_halt): Likewise.
49063 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49064 function.
49065 * util/powerpc/ieee1275/misc.c: New file.
49066
0058f771 490672005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49068
49069 * DISTLIST: New file.
49070 * gendistlist.sh: Likewise.
f19dbdb7 49071
0058f771 49072 * Makefile.in (COMMON_DISTFILES): Removed.
49073 (BOOT_DISTFILES): Likewise.
49074 (CONF_DISTFILES): Likewise.
49075 (DISK_DISTFILES): Likewise.
49076 (FS_DISTFILES): Likewise.
49077 (INCLUDE_DISTFILES): Likewise.
49078 (KERN_DISTFILES): Likewise.
49079 (LOADER_DISTFILES): Likewise.
49080 (TERM_DISTFILES): Likewise.
49081 (UTIL_DISTFILES): Likewise.
49082 (DISTFILES): Likewise.
49083 (uninstall): Uninstall files in $(pkgdata_DATA).
49084 (DISTLIST): New target.
49085 (distdir): Use the contents of the file DISTLIST to get a list of
49086 distributed files.
49087
46b3b8a5 490882005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49089
49090 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49091 descriptor. This is ported from GRUB Legacy.
49092
49093 * gencmdlist.sh: Added an extra semicolon to make it work with
49094 old sed versions. Reported by Robert Bihlmeyer
49095 <robbe@orcus.priv.at>.
49096
5822ff87 490972005-03-08 Yoshinori Okuji <okuji@enbug.org>
49098
49099 Automatic loading of commands is supported.
f19dbdb7 49100
5822ff87 49101 * normal/main.c (read_command_list): New function.
49102 (grub_normal_execute): Call read_command_list.
49103
49104 * normal/command.c (grub_register_command): Return zero or CMD.
49105 Allocate CMD->NAME from the heap.
49106 Initialize CMD->MODULE_NAME to zero.
49107 Find the same name as well. If the same command is found and it is
49108 a dummy command, overwrite members. If it is not a dummy command,
49109 return zero.
49110 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49111 (grub_command_find): If a dummy command is found, load a module
49112 and retry to find a command only once.
49113
49114 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49115 make sure that each command is loaded.
49116
49117 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49118 macro.
49119 (struct grub_command): Remove const from the member `name'.
49120 Add a new member `module_name'.
49121 (grub_register_command): Return grub_command_t.
49122
49123 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49124 sure that each command is loaded.
49125
49126 * genmk.rb (PModule::rule): Specify a module name without the
49127 suffix ".mod" to gencmdlist.sh.
49128
7b1f4b57 491292005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49130
49131 * gencmdlist.sh: New file.
f19dbdb7 49132
7b1f4b57 49133 * genmk.rb (PModule::rule): Generate a rule for a command list.
49134 Clean command.lst.
49135 Generate command.lst from $(COMMANDFILES).
49136
49137 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49138 (DATA): Added $(pkgdata_DATA).
49139 (install-local): Install files in $(pkgdata_DATA).
49140
062aaf39 491412005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49142
49143 * term/i386/pc/vga.c (debug_command): Removed.
49144 (GRUB_MOD_INIT): Do not register the command "debug".
49145
49146 From Hollis Blanchard:
49147 * commands/configfile.c: New file.
49148 * conf/i386-pc.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 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49154 commands/configfile.c.
49155 (pkgdata_MODULES): Added configfile.mod.
49156 (configfile_mod_SOURCES): New variable.
49157 (configfile_mod_CFLAGS): Likewise.
49158 * util/grub-emu.c (main): Call grub_configfile_init and
49159 grub_configfile_fini.
49160 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49161 prototype.
49162 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49163
cee01aa6 491642005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49165
49166 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49167 address.
49168
49169 * commands/help.c (grub_cmd_help): Do not print newlines after
49170 the last command in print_command_help.
49171
93f3a1d8 491722005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49173
49174 * commands/default.h: New file.
49175 * commands/timeout.h: Likewise.
49176 * normal/context.c: Likewise.
f19dbdb7 49177
93f3a1d8 49178 * util/misc.c: Do not include sys/times.h.
49179 Include sys/time.h and grub/machine/time.h.
49180 (grub_get_rtc): Rewritten with gettimeofday.
49181
49182 * util/grub-emu.c (main): Call grub_default_init and
49183 grub_timeout_init before grub_normal_init, and call
49184 grub_timeout_fini and grub_default_fini after grub_main.
49185
49186 * util/console.c (grub_ncurses_checkkey): Return the read
49187 character or -1.
49188
49189 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49190 timeouts.
49191
49192 * normal/main.c (read_config_file): Push MENU. If this fails,
49193 print an error and wait for a user input.
49194 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49195 If a menu is empty or an error occurs, pop MENU.
49196 (grub_normal_execute): Pop and free MENU after grub_menu_run
49197 returns.
49198
49199 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49200
49201 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49202 include time.h.
49203 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49204 without GRUB_UTIL.
49205 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49206 time.h.
49207 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49208 without GRUB_UTIL.
49209
49210 * include/grub/normal.h (struct grub_menu_list): New struct.
49211 (grub_menu_list_t): New type.
49212 (struct grub_context): New struct.
49213 (grub_context_t): New type.
49214 (grub_register_command): Got rid of EXPORT_FUNC.
49215 (grub_unregister_command): Likewise.
49216 (grub_context_get): New prototype.
49217 (grub_context_get_current_menu): Likewise.
49218 (grub_context_push_menu): Likewise.
49219 (grub_context_pop_menu): Likewise.
49220 [GRUB_UTIL] (grub_default_init): Likewise.
49221 [GRUB_UTIL] (grub_default_fini): Likewise.
49222 [GRUB_UTIL] (grub_timeout_init): Likewise.
49223 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49224
49225 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49226 commands/timeout.c and normal/context.c.
49227 (pkgdata_MODULES): Added default.mod and timeout.mod.
49228 (normal_mod_SOURCES): Added normal/context.c.
49229 (default_mod_SOURCES): New variable.
49230 (default_mod_CFLAGS): Likewise.
49231 (timeout_mod_SOURCES): Likewise.
49232 (timeout_mod_CFLAGS): Likewise.
49233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49234 conf/i386-pc.rmk.
49235 (pkgdata_MODULES): Added default.mod and timeout.mod.
49236 (normal_mod_SOURCES): Added normal/context.c.
49237 (default_mod_SOURCES): New variable.
49238 (default_mod_CFLAGS): Likewise.
49239 (timeout_mod_SOURCES): Likewise.
49240 (timeout_mod_CFLAGS): Likewise.
49241
49242 * Makefile.in (all-local): Added $(MKFILES).
49243
4ed2e1dd 492442005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49245
49246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49247 (grub_emu_SOURCES): Likewise.
49248 (pkgdata_MODULES): Add `sun.mod'.
49249 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49251 `partmap/sun.c'.
49252 (pkgdata_MODULES): Add `sun.mod'.
49253 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49254 * include/grub/partition.h (grub_sun_partition_map_init): New
49255 prototype.
49256 (grub_sun_partition_map_fini): Likewise.
49257 * partmap/sun.c: New file.
49258 * util/grub-emu.c (main): Initialize and de-initialize the sun
49259 partitionmap support.
49260
4d4e372e 492612005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49262
49263 This implements an Emacs-like menu entry editor.
f19dbdb7 49264
4d4e372e 49265 * normal/menu_entry.c: New file.
f19dbdb7 49266
4d4e372e 49267 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49268 characters to ASCII.
49269 (saved_char): New variable.
49270 (grub_ncurses_checkkey): Rewritten completely.
49271 (grub_ncurses_getkey): Likewise.
49272 (grub_ncurses_init): Call raw instead of cbreak.
49273
49274 * normal/menu.c (print_entry): Do not put a space.
49275 (init_page): Renamed to ...
49276 (grub_menu_init_page): ... this. All callers changed.
49277 (edit_menu_entry): Removed.
49278 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49279
49280 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49281
49282 * kern/misc.c (grub_vprintf): Call grub_refresh.
49283
49284 * normal/menu.c (DISP_LEFT): Renamed to ...
49285 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49286 * normal/menu.c (DISP_UP): Renamed to ...
49287 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49288 * normal/menu.c (DISP_RIGHT): Renamed to ...
49289 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49290 * normal/menu.c (DISP_DOWN): Renamed to ...
49291 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49292 * normal/menu.c (DISP_HLINE): Renamed to ...
49293 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49294 * normal/menu.c (DISP_VLINE): Renamed to ...
49295 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49296 * normal/menu.c (DISP_UL): Renamed to ...
49297 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49298 * normal/menu.c (DISP_UR): Renamed to ...
49299 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49300 * normal/menu.c (DISP_LL): Renamed to ...
49301 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49302 * normal/menu.c (DISP_LR): Renamed to ...
49303 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49304 * normal/menu.c (TERM_WIDTH): Renamed to ...
49305 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49306 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49307 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49308 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49309 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49310 * normal/menu.c (TERM_MARGIN): Renamed to ...
49311 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49312 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49313 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49314 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49315 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49316 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49317 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49318 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49319 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49320 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49321 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49322 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49323 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49324 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49325 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49326 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49327 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49328 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49329 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49330 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49331 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49332 All callers changed.
49333
49334 * include/grub/normal.h: New prototype.
49335
49336 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49337 normal/menu_entry.c.
49338 (normal_mod_SOURCES): Likewise.
49339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49340 (normal_mod_SOURCES): Likewise.
49341
e6b92c8a 493422005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49343
49344 * include/grub/normal.h (grub_halt_init): New prototype.
49345 (grub_halt_fini): Likewise.
49346 (grub_reboot_init): Likewise.
49347 (grub_reboot_fini): Likewise.
49348
49349 * util/grub-emu.c: Include signal.h.
49350 (main_env): New global variable.
49351 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49352 catch C-c.
49353 (grub_machine_fini): New function.
49354 (main): Call grub_halt_init and grub_reboot_init before
49355 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49356 Call setjmp with MAIN_ENV to go back afterwards.
49357 Call grub_machine_fini right before return.
49358
49359 * include/grub/util/misc.h: Include setjmp.h.
49360 (main_env): New prototype.
49361
49362 * include/grub/kernel.h (grub_machine_fini): New prototype.
49363 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49364 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49365
49366 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49367 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49368 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49369
e6b92c8a 49370 * util/i386/pc/misc.c: New file.
f19dbdb7 49371
e6b92c8a 49372 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49373 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49374 commands/i386/pc/reboot.c.
49375
c642636f 493762005-02-14 Guillem Jover <guillem@hadrons.org>
49377
49378 * include/grub/dl.h (grub_dl_check_header): New prototype.
49379 (grub_arch_dl_check_header): Change return type to grub_err_t,
49380 remove size parameter and export function. Update all callers.
49381 * kern/dl.c (grub_dl_check_header): New function.
49382 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49383 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49384 are inside the core.
49385 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49386 independent ELF header checks.
49387 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49388 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49389 `grub_dl_check_header' instead of explicit checks. Check for the
49390 ELF type.
49391 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49392 `grub_dl_check_header' instead of explicit checks. Remove arch
49393 specific ELF header checks.
49394
e6b92c8a 49395 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49396 argument SIZE.
49397
5eabe94b 493982005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49399
49400 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49401 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49402
1b14a681 494032005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49404
49405 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49406 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49407 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49408 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49409 * partmap/amiga.c (amiga_partition_map_iterate): Return
49410 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49411 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49412
aca108aa 494132005-02-01 Guillem Jover <guillem@hadrons.org>
49414
49415 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49416 help info.
49417
c9f9c556 494182005-01-31 Marco Gerards <metgerards@student.han.nl>
49419
49420 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49421 Removed prototype.
49422 (grub_rescue_cmd_linux): New prototype.
49423 (grub_rescue_cmd_initrd): Likewise.
49424 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49425 `bi_rec'.
49426 (grub_linux_release_mem): Release the memory for the initrd.
49427 (grub_load_linux): Renamed from this...
49428 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49429 Changed `entry' not to be static. Loop over memory regions to
49430 find another one when the default fails.
49431 (grub_rescue_cmd_initrd): New function.
49432 (grub_linux_init): Remove function.
49433 (grub_linux_fini): Likewise.
49434 (GRUB_MOD_INIT): Register `initrd'.
49435 (GRUB_MOD_FINI): Unregister `initrd'.
49436 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49437 Function removed.
49438 (grub_linux_normal_fini): Likewise.
49439 (GRUB_MOD_INIT): Register `initrd'.
49440 (GRUB_MOD_FINI): Unregister `initrd'.
49441
990cf3aa 494422005-01-31 Marco Gerards <metgerards@student.han.nl>
49443
49444 * commands/help.c: New file.
49445 * normal/arg.c (show_help): Renamed to...
49446 (grub_arg_show_help): ... this.
49447 * commands/i386/pc/halt.c: New file.
49448 * commands/i386/pc/reboot.c: Likewise.
49449 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49450 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49451 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49452 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49453 variables.
49454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49455 `commands/help.c'.
49456 (pkgdata_MODULES): Add `help.mod'.
49457 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49458 * grub/i386/pc/init.h (grub_reboot): New prototype.
49459 (grub_halt): Likewise.
49460 * include/grub/normal.h (grub_arg_show_help): New prototype.
49461 (grub_help_init): Likewise.
49462 (grub_help_fini): Likewise.
49463 * util/grub-emu.c (main): Initialize and deinitialize the help
49464 command.
49465
49466 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49467
49468 * normal/command.c (grub_command_init): Fixed the description of
49469 the `set' and `unset' commands.
49470
494712005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49472
49473 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49474 function.
49475 * commands/ieee1275/halt.c: New file.
49476 * commands/ieee1275/reboot.c: Likewise.
49477 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49478 `__attribute__ ((unused))'. Some GCS related fixed.
49479 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49480 (grub_suspend_fini): Likewise.
49481 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49482 and `halt.mod'.
49483 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49484 (halt_mod_CFLAGS): New variables.
49485 * include/grub/powerpc/ieee1275/ieee1275.h
49486 (grub_ieee1275_interpret): New prototype.
49487
1ab09cc7 494882005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49489
49490 * include/grub/misc.h (memmove): New prototype.
49491 (memcpy): Likewise.
49492
8b8cbdb2 494932005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49494
49495 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49496 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49497
e3741a27 494982005-01-22 Marco Gerards <metgerards@student.han.nl>
49499
49500 * kern/misc.c (grub_strndup): Function rewritten.
49501
776bd780 495022005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49503
49504 * normal/menu.c (TERM_WIDTH): Macro redefined.
49505 (TERM_TOP_BORDER_Y): Likewise.
49506 (draw_border): Replaced while-loop by a for-loop. Make the number
49507 of lines consistent with the number of lines displayed in
49508 print_entries. Added a margin below the rectangle.
49509 (print_entry): Make the entry fit in the rectangle.
49510 (print_entries): Display the scroll arrows next to the right
49511 border.
49512
78026bce 495132005-01-21 Marco Gerards <metgerards@student.han.nl>
49514
49515 * fs/minix.c (grub_minix_find_file): Reserve more space for
49516 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49517 `grub_strncpy' to copy `path' into it.
49518
67bbaf0f 495192005-01-21 Marco Gerards <metgerards@student.han.nl>
49520
49521 Add the loopback device, a device via which files can be accessed
49522 as devices.
f19dbdb7 49523
67bbaf0f 49524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49525 (pkgdata_MODULES): Add loopback.mod.
49526 (loopback_mod_SOURCES): New variable.
49527 (loopback_mod_CFLAGS): Likewise.
49528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49529 `disk/loopback.c'.
49530 (pkgdata_MODULES): Add loopback.mod.
49531 (loopback_mod_SOURCES): New variable.
49532 (loopback_mod_CFLAGS): Likewise.
49533 * disk/loopback.c: new file.
49534 * include/grub/normal.h (grub_loop_init): New prototype.
49535 (grub_loop_fini): New prototype.
49536 * util/grub-emu.c (main): Initialize and de-initialize loopback
49537 support.
49538 * include/grub/disk.h (grub_disk_dev_id): Add
49539 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49540
6f1c18bd 495412005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49542
49543 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49544 function.
49545 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49546 (suspend_mod_SOURCES): New variable.
49547 (suspend_mod_CFLAGS): Likewise.
49548 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49549 New prototype.
49550 * commands/ieee1275/suspend.c: New file.
49551
b38551da 495522005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49553
49554 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49555 ((unused))' to `__attribute__ ((used))'.
b38551da 49556 (GRUB_MOD_FINI): Likewise.
49557 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49558 * genmk.rb (PModule): Assign space to common symbols when linking
49559 modules.
49560
777aff39 495612005-01-20 Marco Gerards <metgerards@student.han.nl>
49562
49563 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49564 `unsigned' arguments to `grub_size_t'.
49565 (grub_malloc): Likewise.
49566 (grub_realloc): Likewise.
49567 (grub_memalign): Likewise.
49568 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49569 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49570 * util/misc.c (grub_malloc): Likewise.
49571 (grub_realloc): Likewise.
49572 * kern/mm.c (get_header_from_pointer): Change the casts to
49573 `unsigned' into a cast to `grub_size_t'.
49574
49575 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49576 point to `currnode' when `currnode' is changed.
49577
49578 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49579 Schottelius <nico-linux@schottelius.org>.
49580
d0ff18e1 495812005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49582
49583 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49584 (note_path): Remove variable.
49585 (GRUB_IEEE1275_NOTE_NAME): New macro.
49586 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49587 (grub_ieee1275_note_hdr): New structure.
49588 (grub_ieee1275_note_desc): Likewise.
49589 (grub_ieee1275_note): Likewise.
49590 (load_note): Remove `dir' argument. All callers updated. Remove
49591 `note_img' and `path'. Do not load a file from `note_path'.
49592 Initialize a struct grub_ieee1275_note and write that to `out'.
49593 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49594
4ca7004c 495952005-01-05 Marco Gerards <metgerards@student.han.nl>
49596
49597 * util/misc.c (grub_util_read_image): Revert last change. It
49598 called `grub_util_read_at', which seeks from the beginning of the
49599 file.
49600
0b412211 496012005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49602
49603 * TODO: Add note about endianness in grub-mkimage.
49604 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49605 section.
49606 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49607 (grub_mkimage_SOURCES): New target.
49608 * include/grub/kernel.h (grub_start_addr): Remove variable.
49609 (grub_end_addr): Likewise.
49610 (grub_total_module_size): Likewise.
49611 (grub_kernel_image_size): Likewise.
49612 (GRUB_MODULE_MAGIC): New constant.
49613 (grub_module_info): New structure.
49614 (grub_arch_modules_addr): New prototype.
49615 (grub_get_end_addr): Remove prototype.
49616 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49617 * include/grub/powerpc/ieee1275/kernel.h: New file.
49618 * include/grub/util/misc.h (grub_util_get_fp_size): New
49619 prototype.
49620 (grub_util_read_at): Likewise.
49621 (grub_util_write_image_at): Likewise.
49622 * kern/main.c (grub_get_end_addr): Remove function.
49623 (grub_load_modules): Call grub_arch_modules_addr instead of using
49624 grub_end_addr. Look for a grub_module_info struct in memory. Use
49625 the grub_module_info fields instead of calling grub_get_end_addr
49626 as loop conditions. Move grub_add_unused_region code here.
49627 (grub_add_unused_region): Remove function.
49628 * kern/i386/pc/init.c: Include grub/cache.h.
49629 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49630 one call to add_mem_region.
49631 (grub_arch_modules_addr): New function.
49632 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49633 (grub_total_module_size): Likewise.
49634 Include grub/machine/kernel.h.
49635 (grub_arch_modules_addr): New function.
49636 * util/grub-emu.c (grub_end_addr): Remove variable.
49637 (grub_total_module_size): Likewise.
49638 (grub_arch_modules_addr): New function.
49639 * util/misc.c: Include unistd.h.
49640 (grub_util_get_fp_size): New function.
49641 (grub_util_read_at): Likewise.
49642 (grub_util_write_image_at): Likewise.
49643 (grub_util_read_image): Call grub_util_read_at.
49644 (grub_util_write_image): Call grub_util_write_image_at.
49645 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49646 additional memory in kernel_img for a struct grub_module_info.
49647 Fill in that grub_module_info.
49648 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49649
458786f8 496502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49651
49652 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49653 New function.
49654 * include/grub/powerpc/ieee1275/ieee1275.h
49655 (grub_ieee1275_milliseconds): New prototype.
49656 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49657 Change to 1000.
49658 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49659 grub_ieee1275_milliseconds.
49660
ac507d1b 496612005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49662
49663 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49664 variable.
49665 (find_options): New function.
49666 (cmain): Call find_options.
49667 * include/grub/powerpc/ieee1275/ieee1275.h
49668 (grub_ieee1275_realmode): New extern variable.
49669 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49670 grub_map if grub_ieee1275_realmode is false.
49671
6b8fd1c4 496722004-12-29 Marco Gerards <metgerards@student.han.nl>
49673
49674 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49675 lines are inserted and make it work like readline. Reported by
49676 Vincent Pelletier <subdino2004@yahoo.fr>.
49677
8514a1e0 496782004-12-28 Marco Gerards <metgerards@student.han.nl>
49679
49680 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49681
49682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49683 `kern/powerpc/cache.S'.
49684
924b6140 496852004-12-27 Marco Gerards <metgerards@student.han.nl>
49686
49687 * genmk.rb: Handle the `Program' class in the main loop. Written
49688 by Johan Rydberg <jrydberg@gnu.org>.
49689 (Program): New class.
49690 (programs): New variable.
49691 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49692 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49693 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49694 (help_arch): Function removed.
49695 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49696 `powerpc/libgcc.h' and `loader.h'.
49697 (pkgdata_PROGRAMS): New variable.
49698 (sbin_UTILITIES): Variable removed.
49699 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49700 (grubof_SOURCES): Variable re-defined so it only includes the
49701 core functionality.
49702 (grubof_CFLAGS): Remove `-DGRUBOF'.
49703 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49704 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49705 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49706 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49707 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49708 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49709 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49710 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49711 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49712 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49713 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49714 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49715 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49716 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49717 (pc_mod_CFLAGS): New variables.
49718 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49719 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49720 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49721 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49722 Moved from here...
49723 * include/grub/i386/pc/init.h (grub_os_area_addr)
49724 (rub_os_area_size): ... to here.
49725 * include/grub/powerpc/ieee1275/ieee1275.h
49726 (grub_ieee1275_entry_fn): Export symbol.
49727 * include/grub/powerpc/ieee1275/init.h: New file.
49728 * include/grub/powerpc/libgcc.h: Likewise.
49729 * include/grub/cache.h: Likewise.
49730 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49731 <hollis@penguinppc.org>.
49732 * kern/dl.c: Include <grub/cache.h>.
49733 (grub_dl_flush_cache): New function.
49734 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49735 for this module.
49736 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49737 (grub_console_init): Removed prototypes.
49738 (grub_machine_init): Don't initialize the modules anymore.
49739 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49740 static.
49741 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49742 Macro undef removed.
49743 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49744 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49745 relocation `R_PPC_REL32'. Return an error when the relocation is
49746 unknown.
49747 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49748 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49749 * util/misc.c (grub_arch_sync_caches): Likewise.
49750
e4b47e0c 497512004-12-19 Marco Gerards <metgerards@student.han.nl>
49752
49753 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49754 `symlist.c', add `grubof_symlist.c'.
49755 (symlist.c): Variable removed.
49756 (grubof_HEADERS): Variable added.
49757 (grubof_symlist.c): New target.
49758 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49759 `kernel_img_HEADERS'.
49760 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49761 * kern/powerpc/dl.c: New file.
49762 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49763 Function removed.
49764 (grub_arch_dl_relocate_symbols): Likewise.
49765 (grub_register_exported_symbols): Likewise.
49766
4ceb3636 497672004-12-13 Marco Gerards <metgerards@student.han.nl>
49768
49769 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49770 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49771 to fail instead. Reported by Vincent Pelletier
49772 <subdino2004@yahoo.fr>.
49773
49774 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49775 it is not allocated. Reported by Vincent Pelletier
49776 <subdino2004@yahoo.fr>.
49777
49778 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49779 output so the output looks better.
f19dbdb7 49780
3f1578fe 497812004-12-04 Marco Gerards <metgerards@student.han.nl>
49782
49783 Modulize the partition map support and add support for the amiga
49784 partition map.
f19dbdb7 49785
3f1578fe 49786 * commands/ls.c: Include <grub/partition.h> instead of
49787 <grub/machine/partition.h>.
49788 * kern/disk.c: Likewise.
49789 * kern/rescue.c: Likewise.
49790 * loader/i386/pc/chainloader.c: Likewise.
49791 * normal/cmdline.c: Likewise.
49792 * kern/powerpc/ieee1275/init.c: Likewise.
49793 (grub_machine_init): Call `grub_pc_partition_map_init',
49794 `grub_amiga_partition_map_init' and
49795 `grub_apple_partition_map_init'.
49796 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49797 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49798 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49799 `partition.h' and `pc_partition.h'.
49800 (grub_setup_SOURCES): Remove
49801 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49802 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49803 (grub_emu_SOURCES): Likewise.
49804 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49805 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49806 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49808 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49809 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49810 (grubof_SOURCES): Likewise.
49811 * disk/i386/pc/partition.c: File removed.
49812 * disk/powerpc/ieee1275/partition.c: Likewise.
49813 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49814 * include/grub/i386/pc/partition.h: Likewise.
49815 * kern/partition.c: New file.
49816 * partmap/amiga.c: Likewise.
49817 * partmap/apple.c: Likewise.
49818 * partmap/pc.c: Likewise.
49819 * include/grub/partition.h: Likewise..
49820 * include/grub/pc_partition.h: Likewise.
49821 * util/grub-emu.c: Include <grub/partition.h> instead of
49822 <grub/machine/partition.h>.
49823 (main): Call `grub_pc_partition_map_init',
49824 `grub_amiga_partition_map_init' and
49825 `grub_apple_partition_map_init' and deinitialize afterwards.
49826 * util/i386/pc/biosdisk.c: Include `#include
49827 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49828 `<grub/machine/partition.h>'.
49829 * util/i386/pc/grub-setup.c: Likewise.
49830 * util/i386/pc/biosdisk.c: Likewise.
49831 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49832 partition information in case of a PC partition.
49833 * util/i386/pc/grub-setup.c: Include `#include
49834 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49835 `<grub/machine/partition.h>'.
49836 (setup): Only access the PC specific partition information in case
49837 of a PC partition.
49838
0ef4ced9 498392004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49840
0ef4ced9 49841 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49842 (grub_longjmp): Likewise.
49843 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49844 20.
49845 * normal/powerpc/setjmp.S: New file.
49846 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49847 `normal/powerpc/setjmp.S'.
49848 (grubof_CFLAGS): Add `-DGRUBOF'.
49849 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49850 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49851
19950e29 498522004-11-16 Marco Gerards <metgerards@student.han.nl>
49853
49854 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49855 property named `name'. Correctly handle the error returned by
49856 `grub_ieee1275_finddevice' if a device can not be opened.
49857
a2fea427 498582004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49859
49860 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49861 `actual' for negativity.
49862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49863 kern/fshelp.c.
49864
41ea0ea3 498652004-11-01 Marco Gerards <metgerards@student.han.nl>
49866
49867 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49868 (PAGE_OFFSET): New macro.
49869 (CRTC_ADDR_PORT): Likewise.
49870 (CRTC_DATA_PORT): Likewise.
49871 (START_ADDR_HIGH_REGISTER): Likewise.
49872 (START_ADDR_LOW_REGISTER): Likewise.
49873 (GRAPHICS_ADDR_PORT): Likewise.
49874 (GRAPHICS_DATA_PORT): Likewise.
49875 (READ_MAP_REGISTER): Likewise.
49876 (INPUT_STATUS1_REGISTER): Likewise.
49877 (INPUT_STATUS1_VERTR_BIT): Likewise.
49878 (page): New variable.
49879 (wait_vretrace): New function.
49880 (set_read_map): Likewise.
49881 (set_start_address): Likewise.
49882 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49883 the right page.
49884 (check_vga_mem): Take the page into account.
49885 (write_char): Likewise.
49886 (write_cursor): Likewise.
49887 (scroll_up): Likewise. Copy the page to the page that is not
49888 shown and switch between both pages.
49889 (grub_vga_putchar): Fix off by one error.
49890 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49891 account.
49892
ad0bd20b 498932004-11-01 Marco Gerards <metgerards@student.han.nl>
49894
49895 Add support for iso9660 (including rockridge).
f19dbdb7 49896
ad0bd20b 49897 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49898 (iso9660_mod_SOURCES): New variable.
49899 (iso9660_mod_CFLAGS): Likewise.
49900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49901 * include/grub/fs.h (grub_iso9660_init): New prototype.
49902 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49903 * fs/iso9660.c: New file.
49904
49905 * include/grub/misc.h (grub_strncat): New prototype.
49906 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49907
ad0bd20b 49908 * fs/hfs.c (grub_hfs_mount): Translate the error
49909 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49910 * fs/jfs.c (grub_jfs_mount): Likewise.
49911 * fs/ufs.c (grub_ufs_mount): Likewise.
49912
a5477a59 499132004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49914
49915 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49916 which initialized BAT registers.
49917 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49918 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49919 Move from here...
49920 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49921 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49922 ... to here.
49923 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49924 (grub_mapclaim): Likewise.
49925 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49926 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49927 hand.
49928
9304c1f8 499292004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49930
49931 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49932 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49933 -ffreestanding and -msoft-float.
49934
86f4ae25 499352004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49936
49937 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49938 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49939 set in grub_ieee1275_flags.
49940
38912228 499412004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49942
49943 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49944 prototype.
49945 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49946 grub_console_init first.
49947 Change the memory range used for grub_ieee1275_claim and
49948 grub_mm_init_region.
49949 Print an error message if the claim fails.
49950 Include <grub/misc.h>.
49951
d1923dc8 499522004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49953
49954 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49955 Call grub_children_iterate for device nodes of type `scsi',
49956 `ide', or `ata'.
49957 (grub_ofdisk_open): Remove manual device alias resolution.
49958 Fix memory leak when device cannot be opened.
f19dbdb7 49959 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49960 (grub_children_iterate): New prototype.
49961 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49962 New function.
49963 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49964 Return -1 if args.size was -1.
49965
4512e4f3 499662004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49967
49968 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49969 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49970 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49971 Open Firmware's memory for it; claim memory from _start to _end.
49972 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49973 (_end): New extern.
49974 (_start): Zero BSS from __bss_start to _end.
49975 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49976 New extern.
49977 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49978
4d61feb0 499792004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49980
ad0bd20b 49981 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49982 -1 if args.base was -1.
4d61feb0 49983
026fa2f9 499842004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49985
49986 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49987 escape sequence instead of a literal ^L. Also call
49988 grub_ofconsole_gotoxy.
49989
9f2220ef 499902004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49991
49992 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49993 void * arguments to grub_addr_t. All callers updated. Also make
49994 the `result' argument optional.
49995 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49996 All callers updated.
49997
8a572cd7 499982004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49999
50000 * commands/ls.c (grub_ls_list_files): Use the string following the
50001 initial ')', if present, as the filesystem path.
50002 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50003
50004 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50005
18aa81f2 500062004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50007
50008 Make the source code of the menu interface more readable.
f19dbdb7 50009
18aa81f2 50010 * normal/menu.c: Include grub/mm.h.
50011 (TERM_WIDTH): New macro.
50012 (TERM_HEIGHT): Likewise.
50013 (TERM_INFO_HEIGHT): Likewise.
50014 (TERM_MARGIN): Likewise.
50015 (TERM_SCROLL_WIDTH): Likewise.
50016 (TERM_TOP_BORDER_Y): Likewise.
50017 (TERM_LEFT_BORDER_X): Likewise.
50018 (TERM_BORDER_WIDTH): Likewise.
50019 (TERM_MESSAGE_HEIGHT): Likewise.
50020 (TERM_BORDER_HEIGHT): Likewise.
50021 (TERM_NUM_ENTRIES): Likewise.
50022 (TERM_FIRST_ENTRY_Y): Likewise.
50023 (TERM_ENTRY_WIDTH): Likewise.
50024 (TERM_CURSOR_X): Likewise.
50025 (draw_border): Use macros instead of magic numbers.
50026 (print_entry): Likewise.
50027 (print_entries): Likewise.
50028 (run_menu): Likewise. Also, handle the key 'e'.
50029 (run_menu_entry): Ignore empty command lines.
50030 (print_message): Added a new argument EDIT. If EDIT is true,
50031 print a different message.
50032 (init_page): Likewise.
50033 (edit_menu_entry): New function. Not implemented yet.
50034
b47efe30 500352004-09-17 Marco Gerards <metgerards@student.han.nl>
50036
50037 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50038 can be loaded from normal mode.
f19dbdb7 50039
b47efe30 50040 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50041 `multiboot.mod'.
50042 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50043 (multiboot_mod_CFLAGS): New variables.
50044 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50045 * loader/i386/pc/multiboot_normal.c: Likewise.
50046
b47efe30 50047 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50048 attribute `unused'.
f19dbdb7 50049
b47efe30 50050 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50051 `fdiro' to read the mode information from instead of `diro'.
50052
50053 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50054 looking up a symlink.
50055
50056 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50057 macro.
50058 * normal/command.c (grub_command_execute): Don't parse the
50059 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50060 flags of the command.
50061
50062 * normal/menu.c (grub_menu_run): Fix typo.
50063
da75ac71 500642004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50065
50066 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50067
50068 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50069 `y + 1' instead of `y - 1'.
50070
50071 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50072
062b24c2 500732004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50074
50075 From Hollis Blanchard <hollis@penguinppc.org>:
50076 * kern/misc.c (memmove): New alias for grub_memmove.
50077 (memcmp): New alias for grub_memcmp.
50078 (memset): New alias for grub_memset.
f19dbdb7 50079 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50080 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50081 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50082 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50083
8ddad845 500842004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50085
50086 Added normal mode command `chainloader' as module chain.mod, which
50087 depends on normal.mod and _chain.mod.
f19dbdb7 50088
8ddad845 50089 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50090 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50091 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50092 Deleted prototype.
50093 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50094 but arguments parsing moved to ...
50095 (grub_chainloader_cmd): ... here. New function.
50096 * include/grub/i386/pc/chainloader.h: New file.
50097 * loader/i386/pc/chainloader_normal.c: Likewise.
50098
2c1f4ce3 500992004-09-11 Marco Gerards <metgerards@student.han.nl>
50100
50101 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50102 (grub_mkimage_LDFLAGS): Likewise.
50103 (grub_emu_SOURCES): Likewise.
50104 (kernel_img_HEADERS): Added fshelp.h.
50105 * fs/ext2.c: Include <grub/fshelp.h>.
50106 (FILETYPE_REG): New macro.
50107 (FILETYPE_INO_REG): Likewise.
50108 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50109 Changed all users.
50110 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50111 all users.
50112 (grub_fshelp_node): New struct.
50113 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50114 to a pointer.
50115 (grub_ext2_get_file_block): Removed function.
50116 (grub_ext2_read_block): New function.
50117 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50118 This function was written.
50119 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50120 (grub_ext2_find_file): Removed function.
50121 (grub_ext2_read_symlink): New function.
50122 (grub_ext2_iterate_dir): Likewise.
50123 (grub_ext2_open): Rewritten.
50124 (grub_ext2_dir): Rewritten.
50125 * include/grub/fshelp.h: New file.
50126 * fs/fshelp.c: Likewise.
50127
3c52136a 501282004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50129
50130 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50131 (print_message): Add a missing newline.
50132 (run_menu): Added timeout support.
50133 (run_menu_entry): New local function.
50134 (grub_menu_run): Added support for booting.
50135
50136 * kern/loader.c (grub_loader_is_loaded): New function.
50137
50138 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50139 (grub_get_rtc): Exported.
50140
50141 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50142 (grub_get_rtc): Exported.
50143
50144 * include/grub/normal.h (struct grub_command_list): Remove
50145 constant from the member `command'.
50146
50147 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50148
50149 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50150
50151 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50152
aa033560 501532004-08-28 Marco Gerards <metgerards@student.han.nl>
50154
50155 Add support for the JFS filesystem.
50156
50157 * fs/jfs.c: New file.
50158 * include/grub/fs.h (grub_jfs_init): New prototype.
50159 (grub_jfs_fini): New prototype.
50160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50161 (grub_emu_SOURCES): Likewise.
50162 (pkgdata_MODULES): Add jfs.mod.
50163 (jfs_mod_SOURCES): New variable.
50164 (jfs_mod_CFLAGS): Likewise.
50165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50166 (grubof_SOURCES): Likewise.
50167 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50168
50169 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50170 endian to the host endian.
50171 (grub_fat_utf16_to_utf8): Move function from there...
50172 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50173 the endianness of the source string anymore.
aa033560 50174 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50175
94bc45af 501762004-08-24 Marco Gerards <metgerards@student.han.nl>
50177
50178 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50179 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50180 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50181 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50182
94bc45af 50183 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50184 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50185 for `node_found' and `it_dir'.
50186 (grub_hfs_dir): Add prototype for `dir_hook'.
50187
50188 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50189 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50190 and `indir32' to silence a gcc warning.
50191
50192 * include/grub/fs.h (grub_hfs_init): New prototype.
50193 (grub_hfs_fini): Likewise.
f19dbdb7 50194
50195
97543f08 501962004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50197
50198 Each disk device has its own id now. This is useful to make use
50199 of multiple disk devices.
f19dbdb7 50200
97543f08 50201 * include/grub/disk.h (grub_disk_dev_id): New enum.
50202 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50203 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50204
50205 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50206 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50207
50208 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50209 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50210
50211 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50212 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50213
50214 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50215 "id" which is used by the cache manager.
50216
50217 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50218 of just "GRUB".
50219
64372eb4 502202004-08-18 Marco Gerards <metgerards@student.han.nl>
50221
50222 * fs/hfs.c: New file.
50223 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50224 (grub_emu_SOURCES): Likewise.
50225 (pkgdata_MODULES): Add hfs.mod.
50226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50227 (grubof_SOURCES): Likewise.
50228 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50229
50230 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50231 * kern/misc.c (grub_strncasecmp): Add function.
50232
cc61b58f 502332004-08-14 Marco Gerards <metgerards@student.han.nl>
50234
50235 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50236 with parentheses.
50237
50238 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50239 (grub_ext2_dir): In case the directory entry type is unknown, read
50240 it from the inode.
50241
0ef123f6 502422004-08-02 Peter Bruin <pjbruin@dds.nl>
50243
50244 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50245 grub_load_linux instead of grub_rescue_cmd_linux as second
50246 argument of grub_rescue_register_command.
50247
50248 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50249
a447c5df 502502004-07-27 Marco Gerards <metgerards@student.han.nl>
50251
50252 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50253 function.
50254 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50256 `loader/powerpc/ieee1275/linux.c',
50257 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50258 * include/grub/powerpc/ieee1275/ieee1275.h
50259 (grub_ieee1275_release): New prototype.
50260 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50261 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50262 normal, boot, linux and linux_normal.
50263 * loader/powerpc/ieee1275/linux.c: New file.
50264 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50265
5a9e3546 502662004-07-12 Marco Gerards <metgerards@student.han.nl>
50267
50268 * normal/arg.c (grub_arg_parse): Correct error handling after
50269 reallocating the argumentlist (check if `argl' is not null instead
50270 of checking if `args' is not null).
50271 * kern/mm.c (grub_realloc): Return the same pointer when using the
50272 same region, instead of returning the header address.
50273
e15199cb 502742004-07-11 Marco Gerards <metgerards@student.han.nl>
50275
50276 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50277 one block instead of two when looking for the initial partition.
50278 (grub_partition_probe): Initialize the local variable `p' with 0.
50279 Use base 10 for the grub_strtoul call.
50280 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50281 need for one local variable.
50282 (grub_strtoul): Don't add the new value to `num', instead of that
50283 just assign it.
50284
020616c2 502852004-07-11 Marco Gerards <metgerards@student.han.nl>
50286
50287 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50288 (pxeboot_img_SOURCES): New variable.
50289 (pxeboot_img_ASFLAGS): Likewise.
50290 (pxeboot_img_LDFLAGS): Likewise.
50291 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50292 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50293 <lode_leroy@hotmail.com>.
50294
6c51eb64 502952004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50296
50297 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50298 there was no input.
50299
cfb12aff 503002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50301
50302 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50303 the history buffer logic.
50304
6eabba74 503052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50306
50307 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50308 (FILETYPE_INO_SYMLINK): New macros.
50309 (grub_ext2_find_file): Check if the node is a directory using the
50310 inode stat information instead of using the filetype in the
50311 dirent. Exclude the first character of an absolute symlink.
50312 (grub_ext2_dir): Mask out the filetype part of the mode member of
50313 the inode.
50314
66e19ef8 503152004-05-24 Marco Gerards <metgerards@student.han.nl>
50316
50317 Add support for UFS version 1 and 2. Add support for the minix
50318 filesystem version 1 and 2, both the variants with 14 and 30 long
50319 filenames.
f19dbdb7 50320
66e19ef8 50321 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50322 fs/minix.c.
50323 (grub_emu_SOURCES): Likewise.
50324 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50325 (ufs_mod_SOURCES): New variable.
50326 (ufs_mod_CFLAGS): Likewise.
50327 (minix_mod_SOURCES): Likewise.
50328 (minix_mod_CFLAGS): Likewise.
50329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50330 fs/minix.c.
50331 (grubof_SOURCES): Likewise.
50332 * fs/ufs.c: New file.
50333 * fs/minix.c: New file.
50334 * include/grub/fs.h (grub_ufs_init): New prototype.
50335 (grub_ufs_fini): Likewise.
50336 (grub_minix_init): Likewise.
50337 (grub_minix_fini): Likewise.
50338 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50339 minix fs.
50340
cc2e748a 503412004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50342
50343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50344 commands/ls.c, commands/terminal.c, commands/boot.c,
50345 commands/cmp.c and commands/cat.c.
50346 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50347
50348 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50349 "env.h"
50350
4b13b216 503512004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50352
50353 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50354 and grub_, respectively. Because the conversion is trivial and
50355 mechanical, I omit the details here. Please refer to the CVS
50356 if you need more information.
50357
6a142551 503582004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50359
50360 * include/pupa: Renamed to ...
50361 * include/grub: ... this.
50362 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50363 * util/i386/pc/grub-mkimage.c: ... this.
50364 * util/i386/pc/pupa-setup.c: Renamed to ...
50365 * util/i386/pc/grub-setup.c: ... this.
50366 * util/pupa-emu.c: Renamed to ...
50367 * util/grub-emu.c: ... this.
50368
e56cdf21 503692004-03-29 Marco Gerards <metgerards@student.han.nl>
50370
50371 Add support for the newworld apple macintosh (PPC). This has been
50372 tested on the powerbook 2000 only. It only adds support for
50373 generic ieee1275 functions, console and disk support. This should
50374 be easy to port to other architectures with support for Open
50375 Firmware.
f19dbdb7 50376
e56cdf21 50377 * configure.ac: Accept the powerpc as host_cpu. In the case of
50378 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50379 specific tests are only executed while building for the i386.
50380 Inverse test for crosscompile.
50381 * genmk.rb (Utility): Allow assembler files.
50382 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50383 * conf/powerpc-ieee1275.rmk: New file.
50384 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50385 * disk/powerpc/ieee1275/partition.c: Likewise.
50386 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50387 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50388 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50389 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50390 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50391 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50392 * include/pupa/powerpc/ieee1275/loader.h
50393 * include/pupa/powerpc/setjmp.h: Likewise.
50394 * include/pupa/powerpc/types.h: Likewise.
50395 * kern/powerpc/ieee1275/init.c: Likewise.
50396 * kern/powerpc/ieee1275/openfw.c: Likewise.
50397 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50398
50399 These files were written by Johan Rydberg
50400 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50401
e56cdf21 50402 * boot/powerpc/ieee1275/cmain.c: New file.
50403 * boot/powerpc/ieee1275/crt0.S: Likewise.
50404 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50405 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50406
8c8cc205 504072004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50408
50409 * Makefile.in: Update copyright.
50410 * genmodsrc.sh: Likewise.
50411 * gensymlist.sh: Likewise.
50412 * term/i386/pc/vga.c: Indent correctly.
50413
50414 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50415 bugreporting address.
50416 * util/i386/pc/pupa-setup.c (usage): Likewise,
50417 (main): Call pupa_ext2_init and pupa_ext2_fini.
50418
f19dbdb7 50419 * fs/fat.c (log2): Renamed to ...
8c8cc205 50420 (fat_log2): ... this.
50421 All callers changed.
50422 * kern/misc.c (memcpy): Alias to pupa_memmove.
50423 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50424 lvalue cast.
50425 * util/console.c (pupa_ncurses_fini): Return 0.
50426
50427 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50428 Move fail label here.
50429 [__GNU__]: Don't warn when using stat.
50430 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50431 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50432 long int. Use strtol instead of strtoul.
f19dbdb7 50433
db1771cf 504342004-03-14 Marco Gerards <metgerards@student.han.nl>
50435
50436 * commands/boot.c: New file.
50437 * commands/cat.c: Likewise.
50438 * commands/cmp.c: Likewise.
50439 * commands/ls.c: Likewise.
50440 * commands/terminal.c: Likewise.
50441 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50442 (pupa_register_command): Changed interface to match the new
50443 argument parser.
50444 (pupa_command_execute): Changed (almost rewritten) so it uses
50445 pupa_split_command. Added support for setting variables using the
50446 syntax `foo=bar'.
50447 (rescue_command): Changed to work with the new argument parser.
50448 (terminal_command): Moved from here to commands/terminal.c.
50449 (set_command): New function.
50450 (unset_command): New function.
50451 (insmod_command): New function.
50452 (rmmod_command): New function.
50453 (lsmod_command): New function.
50454 (pupa_command_init): Don't initialize the command terminal
50455 anymore. Initialize the commands set, unset, insmod, rmmod and
50456 lsmod.
50457 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50458 (kernel_img_HEADERS): Add arg.h and env.h.
50459 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50460 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50461 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50462 normal/arg.c.
50463 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50464 terminal.mod.
50465 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50466 (boot_mod_SOURCES): New variable.
50467 (terminal_mod_SOURCES): Likewise.
50468 (ls_mod_SOURCES): Likewise.
50469 (cmp_mod_SOURCES): Likewise.
50470 (cat_mod_SOURCES): Likewise.
50471
50472 * normal/arg.c: New file.
50473 * kern/env.c: Likewise.
50474 * include/pupa/arg.h: Likewise.
50475 * include/pupa/env.h: Likewise.
50476 * font/manager.c (font_command): Changed to match argument parsing
50477 interface changes.
50478 (PUPA_MOD_INIT): Likewise.
50479 * hello/hello.c (pupa_cmd_hello): Likewise.
50480 (PUPA_MOD_INIT): Likewise.
50481 * include/pupa/disk.h: Include <pupa/device.h>.
50482 (pupa_print_partinfo): New prototype.
50483 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50484 (pupa_dl_get_prefix): Likewise.
50485 * include/pupa/misc.h: Include <pupa/err.h>.
50486 (pupa_isgraph): New prototype.
50487 (pupa_isdigit): Likewise.
50488 (pupa_split_cmdline): Likewise.
50489 * include/pupa/normal.h: Include <pupa/arg.h>.
50490 (pupa_command): Changed the prototype of the member `func' to
50491 match the argument parsing interface. Added member `options'.
50492 (pupa_register_command): Updated to match function.
50493 (pupa_arg_parse): New prototype.
50494 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50495 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50496 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50497 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50498 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50499 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50500 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50501 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50502 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50503 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50504 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50505 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50506 * kern/disk.c: Include <pupa/file.h>.
50507 (pupa_print_partinfo): New function.
50508 * kern/dl.c: Include <pupa/env.h>.
50509 (pupa_dl_dir): Variable removed.
50510 (pupa_dl_load): Use the environment variable `prefix' instead of
50511 the variable pupa_dl_dir.
50512 (pupa_dl_set_prefix): Function removed.
50513 (pupa_dl_get_prefix): Likewise.
50514 * kern/i386/pc/init.c: Include <pupa/env.h>.
50515 (pupa_machine_init): Use the environment variable `prefix' instead of
50516 using pupa_dl_set_prefix to set the prefix.
50517 * kern/main.c: Include <pupa/env.h>.
50518 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50519 using pupa_dl_get_prefix to get the prefix.
50520 * kern/misc.c: Include <pupa/env.h>.
50521 (pupa_isdigit): New function.
50522 (pupa_isgraph): Likewise.
50523 (pupa_ftoa): Likewise.
50524 (pupa_vsprintf): Added support for printing values of the type
50525 `double'. Make it possible to format variable output when using
50526 formatting like `%1.2%f'.
50527 (pupa_split_cmdline): New function.
50528 * kern/rescue.c: Include <pupa/env.h>.
50529 (next_word): Removed function.
50530 (pupa_rescue_cmd_prefix): Likewise.
50531 (pupa_rescue_cmd_set): New function.
50532 (pupa_rescue_cmd_unset): New function.
50533 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50534 split the command line instead of splitting it here. Added
50535 support for setting variables using the syntax `foo=bar'. Don't
50536 initialize the prefix command anymore. Initialized the set and
50537 unset commands.
50538 * normal/cmdline.c: Include <pupa/env.h>.
50539 (pupa_tab_complete): Added prototypes for print_simple_completion,
50540 print_partition_completion, add_completion, iterate_commands,
50541 iterate_dev, iterate_part and iterate_dir. Moved code to print
50542 partition information from here to kern/disk.c.
fe6b695a 50543 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50544 * normal/main.c: Include <pupa/env.h>.
50545 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50546 instead of using pupa_dl_get_prefix to get the prefix.
50547 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50548 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50549 warning.
50550 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50551 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50552 ((unused))' to silence a gcc warning.
50553 (pupa_vga_setcolor): Likewise.
50554 (debug_command): Changed to match argument parsing
50555 interface changes.
50556 * util/pupa-emu.c: Include <pupa/env.h>.
50557 (options): Added 0's for unused fields to silence a gcc warning.
50558 (argp): Likewise.
50559 (main): Use the environment variable `prefix' instead of using
50560 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50561 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50562 and terminal.
50563
50564 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50565 * util/misc.c: Include <malloc.h>.
50566 (pupa_malloc): Rewritten so errors are correctly reported.
50567 (pupa_realloc): Likewise.
50568 (pupa_memalign): Likewise.
50569 (pupa_mm_init_region): Declare unused variables with
50570 `__attribute__ ((unused))' to silence a gcc warning.
50571 * normal/i386/setjmp.S: Remove tab at the end of the file to
50572 silence a gcc warning.
50573 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50574 variables with `__attribute__ ((unused))' to silence a gcc
50575 warning.
50576 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50577 local variable i unsigned to silence a gcc warning.
50578
50579 * kern/term.c: Include <pupa/misc.h>.
50580 (pupa_more_lines): New variable.
50581 (pupa_more): Likewise.
50582 (pupa_putcode): When the pager is active pause at the end of every
50583 screen.
50584 (pupa_set_more): New function.
50585 * include/pupa/term.h (pupa_set_more): New prototype.
50586
50587
3b1139cb 505882004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50589
50590 Now this project is GRUB 2 rather than PUPA. The location of
50591 the CVS repository was moved to GRUB's.
f19dbdb7 50592
3b1139cb 50593 * configure.ac: Use bug-grub as the reporting address.
50594 Use GRUB instead of PUPA.
50595 Change the version number to 1.90.
50596
8367695c 505972004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50598
50599 * genkernsyms.sh: Updated copyright information.
50600 * genmk.rb: Likewise.
50601 * genmodsrc.sh: Likewise.
50602 * gensymlist.sh: Likewise.
50603 * boot/i386/pc/boot.S: Likewise.
50604 * boot/i386/pc/diskboot.S: Likewise.
50605 * disk/i386/pc/biosdisk.c: Likewise.
50606 * disk/i386/pc/partition.c: Likewise.
50607 * font/manager.c: Likewise.
50608 * fs/ext2.c: Likewise.
50609 * fs/fat.c: Likewise.
50610 * include/pupa/boot.h: Likewise.
50611 * include/pupa/device.h: Likewise.
50612 * include/pupa/disk.h: Likewise.
50613 * include/pupa/dl.h: Likewise.
50614 * include/pupa/elf.h: Likewise.
50615 * include/pupa/err.h: Likewise.
50616 * include/pupa/file.h: Likewise.
50617 * include/pupa/font.h: Likewise.
50618 * include/pupa/fs.h: Likewise.
50619 * include/pupa/kernel.h: Likewise.
50620 * include/pupa/loader.h: Likewise.
50621 * include/pupa/misc.h: Likewise.
50622 * include/pupa/mm.h: Likewise.
50623 * include/pupa/net.h: Likewise.
50624 * include/pupa/normal.h: Likewise.
50625 * include/pupa/rescue.h: Likewise.
50626 * include/pupa/setjmp.h: Likewise.
50627 * include/pupa/symbol.h: Likewise.
50628 * include/pupa/term.h: Likewise.
50629 * include/pupa/types.h: Likewise.
50630 * include/pupa/i386/setjmp.h: Likewise.
50631 * include/pupa/i386/types.h: Likewise.
50632 * include/pupa/i386/pc/biosdisk.h: Likewise.
50633 * include/pupa/i386/pc/boot.h: Likewise.
50634 * include/pupa/i386/pc/console.h: Likewise.
50635 * include/pupa/i386/pc/init.h: Likewise.
50636 * include/pupa/i386/pc/kernel.h: Likewise.
50637 * include/pupa/i386/pc/linux.h: Likewise.
50638 * include/pupa/i386/pc/loader.h: Likewise.
50639 * include/pupa/i386/pc/memory.h: Likewise.
50640 * include/pupa/i386/pc/multiboot.h: Likewise.
50641 * include/pupa/i386/pc/partition.h: Likewise.
50642 * include/pupa/i386/pc/time.h: Likewise.
50643 * include/pupa/i386/pc/vga.h: Likewise.
50644 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50645 * include/pupa/util/getroot.h: Likewise.
50646 * include/pupa/util/misc.h: Likewise.
50647 * include/pupa/util/resolve.h: Likewise.
50648 * kern/device.c: Likewise.
50649 * kern/disk.c: Likewise.
50650 * kern/dl.c: Likewise.
50651 * kern/err.c: Likewise.
50652 * kern/file.c: Likewise.
50653 * kern/fs.c: Likewise.
50654 * kern/loader.c: Likewise.
50655 * kern/main.c: Likewise.
50656 * kern/misc.c: Likewise.
50657 * kern/mm.c: Likewise.
50658 * kern/rescue.c: Likewise.
50659 * kern/term.c: Likewise.
50660 * kern/i386/dl.c: Likewise.
50661 * kern/i386/pc/init.c: Likewise.
50662 * kern/i386/pc/lzo1x.S: Likewise.
50663 * kern/i386/pc/startup.S: Likewise.
50664 * loader/i386/pc/chainloader.c: Likewise.
50665 * loader/i386/pc/linux.c: Likewise.
50666 * loader/i386/pc/multiboot.c: Likewise.
50667 * normal/cmdline.c: Likewise.
50668 * normal/command.c: Likewise.
50669 * normal/main.c: Likewise.
50670 * normal/menu.c: Likewise.
50671 * normal/i386/setjmp.S: Likewise.
50672 * term/i386/pc/console.c: Likewise.
50673 * term/i386/pc/vga.c: Likewise.
50674 * util/console.c: Likewise.
50675 * util/genmoddep.c: Likewise.
50676 * util/misc.c: Likewise.
50677 * util/pupa-emu.c: Likewise.
50678 * util/resolve.c: Likewise.
50679 * util/unifont2pff.rb: Likewise.
50680 * util/i386/pc/biosdisk.c: Likewise.
50681 * util/i386/pc/getroot.c: Likewise.
50682 * util/i386/pc/pupa-mkimage.c: Likewise.
50683 * util/i386/pc/pupa-setup.c: Likewise.
50684
e6eced71 506852004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50686
50687 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50688 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50689 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50690 reading and reset it after reading.
50691 (pupa_ext2_close): Return PUPA_ERR_NONE.
50692
50693 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50694 Correct value.
50695 (struct linux_kernel_header): Add kernel_version and
50696 initrd_addr_max.
50697 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50698 pupa_file_read succeeds.
50699 (pupa_rescue_cmd_initrd): Implement.
50700
5aded270 507012003-12-03 Marco Gerards <metgerards@student.han.nl>
50702
50703 * fs/ext2.c (pupa_ext2_label): New function.
50704 (pupa_ext2_fs): Added label.
50705 * fs/fat.c (pupa_fat_label): New function.
50706 (pupa_fat_fs): Added label.
50707 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50708
50709 * kern/misc.c (pupa_strndup): New function.
50710 * include/pupa/misc.h (pupa_strndup): New prototype.
50711
50712 * include/pupa/normal.h: Include <pupa/err.h>.
50713 (pupa_set_history): New prototype.
50714 (pupa_iterate_commands): New prototype.
50715 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50716 <pupa/disk.h>, <pupa/file.h>.
50717 (hist_size): New variable.
50718 (hist_lines): Likewise.
50719 (hist_end): Likewise.
50720 (hist_used): Likewise.
50721 (pupa_set_history): New function.
50722 (pupa_history_get): Likewise.
50723 (pupa_history_add): Likewise.
50724 (pupa_history_replace): Likewise.
50725 (pupa_tab_complete): Likewise.
50726 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50727 completion shows partitionnames while completing partitions, this
50728 feature was suggested by Jeff Bailey.
50729 * normal/command.c (pupa_iterate_commands): New function.
50730 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50731 (pupa_normal_init): Initialize history buffer.
50732 (PUPA_MOD_INIT): Likewise.
50733 (pupa_normal_fini): Free the history buffer.
50734 (PUPA_MOD_FINI): Likewise.
50735
50736 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50737 key.
50738
50739 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50740 * configure.ac [i386]: Check for regparam bug.
50741 (NESTED_FUNC_ATTR) [! i386]: Defined.
50742
1f7315a3 507432003-11-17 Marco Gerards <metgerards@student.han.nl>
50744
50745 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50746 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50747 (pupa_emu_SOURCES): New variable.
50748 (pupa_emu_LDFLAGS): Likewise.
50749 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50750 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50751 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50752 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50753 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50754 (pupa_jmp_buf): New typedef.
50755 (pupa_setjmp) [PUPA_UTIL]: New macro.
50756 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50757 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50758 (pupa_refresh): New prototype.
50759 * include/pupa/util/getroot.h: New file.
50760 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50761 it.
50762 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50763 (pupa_rescue_cmd_cat): Likewise.
50764 (pupa_rescue_cmd_ls): Likewise.
50765 (pupa_rescue_cmd_testload): Likewise.
50766 (pupa_rescue_cmd_lsmod): Likewise.
50767 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50768 * normal/menu.c (run_menu): Likewise.
50769 * kern/term.c (pupa_cls): Likewise.
50770 (pupa_refresh): New function.
50771 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50772 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50773 * util/console.c: New file.
f19dbdb7 50774
1f7315a3 50775 * util/i386/pc/getroot.c: New file.
50776 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50777 (pupa_putchar): New function.
50778 (pupa_refresh): Likewise.
50779 (xgetcwd): Function moved to ...
50780 (strip_extra_slashes): Likewise.
50781 (get_prefix): Likewise.
f19dbdb7 50782 * util/i386/pc/getroot.c: ... here.
1f7315a3 50783 (find_root_device): Function moved and renamed to...
50784 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50785 Changed all callers.
50786 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50787 and renamed to...
50788 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50789 Changed all callers.
50790 * util/misc.c (pupa_memalign): New function.
50791 (pupa_mm_init_region): Likewise.
50792 (pupa_register_exported_symbols): Likewise.
50793 (pupa_putchar): Function removed.
50794 * util/pupa-emu.c: New file.
50795
9a5c1ade 507962003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50797
50798 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50799 (_multiboot_mod_SOURCES): New variable.
50800 (_multiboot_mod_CFLAGS): Likewise.
50801 * loader/i386/pc/multiboot.c: New file.
50802 * include/pupa/i386/pc/multiboot.h: Likewise.
50803 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50804 (pupa_multiboot_real_boot): New function.
50805 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50806 (pupa_multiboot_real_boot): New prototype.
50807 (pupa_rescue_cmd_multiboot): Likewise
50808 (pupa_rescue_cmd_module): Likewise.
50809
50810 * kern/loader.c (pupa_loader_set): Continue when
50811 pupa_loader_unload_func() fails.
50812 (pupa_loader_unset): New function.
50813 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50814
50815 * kern/misc.c (pupa_stpcpy): New function.
50816 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50817
8e72a9c0 508182003-11-12 Marco Gerards <metgerards@student.han.nl>
50819
50820 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50821 for available extensions.
50822
50823 * include/pupa/i386/pc/time.h: New file.
50824 * kern/disk.c: Include <pupa/machine/time.h>.
50825 (PUPA_CACHE_TIMEOUT): New macro.
50826 (pupa_last_time): New variable.
50827 (pupa_disk_open): Flush the cache when there was a timeout.
50828 (pupa_disk_close): Reset the timer.
50829 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50830 pupa_currticks.
50831 * util/misc.c: Include <sys/times.h>
50832 (pupa_get_rtc): New function.
50833
c4adbd32 508342003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50835
50836 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50837 as blocks.
50838 (pupa_ext2_get_file_block): Use blocks member.
50839
50840 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50841 first block. Return -1 instead of pupa_errno on error.
50842
bfd30f06 508432003-10-27 Marco Gerards <metgerards@student.han.nl>
50844
50845 * README: In the pupa-mkimage example use _chain instead of chain
50846 and ext2 instead of fat.
50847 * TODO: Replace ext2fs with jfs as an example. Add an item for
50848 adding journal playback for ext2fs.
50849 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50850 (pkgdata_MODULES): Added ext2.mod.
50851 (ext2_mod_SOURCES): New variable.
50852 (ext2_mod_CFLAGS): Likewise.
50853 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50854 * include/pupa/misc.h (pupa_strncpy): New prototype.
50855 (pupa_strcat): Likewise.
50856 (pupa_strncmp): Likewise.
50857 * kern/misc.c (pupa_strcat): Enable function.
50858 (pupa_strncpy): New function.
50859 (pupa_strncmp): Likewise.
50860 * fs/ext2.c: New file.
f19dbdb7 50861
bfd30f06 50862 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50863 when the read failed before retrying.
50864 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50865 (_FILE_OFFSET_BITS): Likewise.
50866 * configure.ac: Added AC_SYS_LARGEFILE.
50867
98d15063 508682003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50869
50870 * genmk.rb (PModule#rule): Make sure to get only symbol names
50871 from the output of nm.
59cad637 50872 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50873
18d9c7cd 508742003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50875
50876 I forgot to check in these changes for a long time. This adds
50877 incomplete support for VGA console, and this is still very
50878 buggy. Also, a lot of consideration is required for I18N,
50879 UNICODE, and VGA font issues. Therefore, assume that this is
50880 such that "better than nothing".
f19dbdb7 50881
18d9c7cd 50882 * font/manager.c: New file.
50883 * include/pupa/font.h: Likewise.
50884 * include/pupa/i386/pc/vga.h: Likewise.
50885 * term/i386/pc/vga.c: Likewise.
50886 * util/unifont2pff.rb: Likewise.
50887
50888 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50889 (pkgdata_MODULES): Added vga.mod and font.mod.
50890 (vga_mod_SOURCES): New variables.
50891 (vga_mod_CFLAGS): Likewise.
50892 (font_mod_SOURCES): Likewise.
50893 (font_mod_CFLAGS): Likewise.
50894
50895 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50896
50897 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50898 (struct pupa_term): Added init and fini.
18d9c7cd 50899 Changed the argument of putchar to pupa_uint32_t.
50900
50901 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50902 (pupa_console_real_putchar): New prototype.
50903 (pupa_console_putchar): Removed.
50904 (pupa_console_checkkey): Exported.
50905 (pupa_console_getkey): Likewise.
50906
50907 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50908 characters.
50909
50910 * kern/term.c (pupa_term_set_current): Rewritten.
50911 (pupa_putchar): Likewise.
50912 (pupa_putcode): New function.
50913
50914 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50915 (pupa_console_real_putchar): ... this.
50916 (pupa_vga_set_mode): New function.
50917 (pupa_vga_get_font): Likewise.
50918
50919 * normal/command.c: Include pupa/term.h.
50920 (terminal_command): New function.
50921 (pupa_command_init): Register the command "terminal".
50922
50923 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50924 (DISP_UP): Likewise.
50925 (DISP_RIGHT): Likewise.
50926 (DISP_DOWN): Likewise.
50927 (DISP_HLINE): Likewise.
50928 (DISP_VLINE): Likewise.
50929 (DISP_UL): Likewise.
50930 (DISP_UR): Likewise.
50931 (DISP_LL): Likewise.
50932 (DISP_LR): Likewise.
50933
50934 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50935
977329f5 509362003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50937
50938 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50939 FIX. Reverse the path_list.
50940
50941 * include/pupa/normal.h: Export pupa_register_command and
50942 pupa_unregister_command.
50943
50944 * hello/hello.c (pupa_cmd_hello): New module.
50945 * conf/i386-pc.rmk: Added hello.mod.
50946
1f5ab428 509472003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50948
50949 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50950
1f5ab428 50951 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50952 (compress_kernel): New variable.
50953 (generate_image): Heavily modified to support compressing a
50954 large part of the core image.
50955
50956 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50957 leak.
50958 (pupa_util_load_image): New function.
50959
50960 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50961 (pupa_compressed_size): New variable.
50962 (codestart): Enable Gate A20 here.
50963 Decompress the compressed part of the core image.
50964 Rearrange the code to put functions and variables which are
50965 required for initialization in the non-compressed part.
50966 Include lzo1x.S.
50967
50968 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50969 here.
50970
50971 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50972
f19dbdb7 50973 * include/pupa/i386/pc/kernel.h
1f5ab428 50974 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50975 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50976 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50977 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50978 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50979
50980 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50981
50982 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50983 (Utility#rule): Likewise.
50984
50985 * configure.ac: Check if LZO is available.
50986
ce5bf700 509872003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50988
50989 * include/pupa/normal.h: New file.
50990 * include/pupa/setjmp.h: Likewise.
50991 * include/pupa/i386/setjmp.h: Likewise.
50992 * normal/cmdline.c: Likewise.
50993 * normal/command.c: Likewise.
50994 * normal/main.c: Likewise.
50995 * normal/menu.c: Likewise.
50996 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50997
ce5bf700 50998 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50999 (pupa_rescue_cmd_initrd): Likewise.
51000
51001 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51002 Likewise.
51003
51004 * kern/i386/pc/startup.S (translation_table): New variable.
51005 (translate_keycode): New function.
51006 (pupa_console_getkey): Call translate_keycode.
51007
51008 * kern/rescue.c (attempt_normal_mode): New function.
51009 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51010 it failed, print a message.
51011
51012 * kern/mm.c (pupa_real_malloc): Print more information when a
51013 free magic is broken.
51014 (pupa_free): If the first free header is not free actually, set
51015 it to P.
51016
51017 * kern/main.c (pupa_load_normal_mode): Just load the module
51018 "normal".
51019 (pupa_main): Don't print the message
51020 "Entering into rescue mode..." here.
51021
51022 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51023 Declared.
51024 (pupa_rescue_cmd_initrd): Likewise.
51025 (pupa_rescue_cmd_initrd): Likewise.
51026
51027 * include/pupa/symbol.h (FUNCTION): Specify the type.
51028 (VARIABLE): Likewise.
51029
51030 * include/pupa/err.h (pupa_err_t): Added
51031 PUPA_ERR_UNKNOWN_COMMAND.
51032
51033 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51034 (pupa_dl_get_prefix): Likewise.
51035
51036 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51037 Added _chain.mod and _linux.mod instead of chain.mod and
51038 linux.mod.
51039 (chain_mod_SOURCES): Renamed to ...
51040 (_chain_mod_SOURCES): ... this.
51041 (chain_mod_CFLAGS): Renamed to ...
51042 (_chain_mod_CFLAGS): ... this.
51043 (linux_mod_SOURCES): Renamed to ...
51044 (_linux_mod_SOURCES): ... this.
51045 (linux_mod_CFLAGS): Renamed to ...
51046 (_linux_mod_CFLAGS): ... this.
51047 (normal_mod_SOURCES): New variable.
51048 (normal_mod_CFLAGS): Likewise.
51049 (normal_mod_ASFLAGS): Likewise.
51050
510512003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51052
51053 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51054 possible.
51055
fe6b695a 51056 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51057 recursively.
51058 (pupa_dl_unref): Unrefer depending modules recursively.
51059 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51060 a module is unloaded before one depending on that module is
51061 unloaded.
51062 (pupa_dl_unload): Unload depending modules explicitly,
51063 if possible.
51064
c04da074 510652003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51066
51067 * include/pupa/i386/pc/linux.h: New file.
51068 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51069
c04da074 51070 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51071 Removed.
51072 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51073 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51074 of PUPA_CHAINLOADER_BOOT_SECTOR.
51075
51076 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51077 (pupa_linux_prot_size): New variable.
51078 (pupa_linux_tmp_addr): Likewise.
51079 (pupa_linux_real_addr): Likewise.
51080 (pupa_linux_boot_zimage): New function.
51081 (pupa_linux_boot_bzimage): Likewise.
51082
51083 * kern/i386/pc/init.c (struct mem_region): New structure.
51084 (MAX_REGIONS): New macro.
51085 (mem_regions): New variable.
51086 (num_regions): Likewise.
51087 (pupa_os_area_addr): Likewise.
51088 (pupa_os_area_size): Likewise.
51089 (pupa_lower_mem): Likewise.
51090 (pupa_upper_mem): Likewise.
51091 (add_mem_region): New function.
51092 (compact_mem_regions): Likewise.
51093 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51094 the size of the conventional memory and that of so-called upper
51095 memory (before the first memory hole).
51096 Instead of adding each found region to free memory, use
51097 add_mem_region and add them after removing overlaps.
51098 Also, add only 1/4 of the upper memory to free memory. The rest
51099 is used for loading OS images. Maybe this is ad hoc, but this
51100 makes it much easier to relocate OS images when booting.
51101
51102 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51103 (pupa_enter_rescue_mode): Don't register initrd and module.
51104
51105 * kern/mm.c: Include pupa/dl.h.
51106
51107 * kern/main.c: Include pupa/file.h and pupa/device.h.
51108
51109 * kern/loader.c (pupa_loader_load_module_func): Removed.
51110 (pupa_loader_load_module): Likewise.
51111
51112 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51113 ``.o''.
51114
51115 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51116 (pupa_linux_tmp_addr): Likewise.
51117 (pupa_linux_real_addr): Likewise.
51118 (pupa_linux_boot_zimage): Likewise.
51119 (pupa_linux_boot_bzimage): Likewise.
51120
51121 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51122 (pupa_upper_mem): Likewise.
51123 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51124 module is too dangerous.
51125
51126 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51127 (pupa_os_area_size): Likewise.
51128 (pupa_loader_set): Remove the first argument. Loader doesn't
51129 manage modules or initrd any longer.
51130 (pupa_loader_load_module): Removed.
51131
51132 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51133 (linux_mod_SOURCES): New variable.
51134 (linux_mod_CFLAGS): Likewise.
51135
a13f9237 511362003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51139 the length of a blocklist correctly.
51140
51141 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51142 Use ioctl only if the OS file is a block device.
51143 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51144 not very useful for normal files.
51145
51146 * kern/main.c (pupa_set_root_dev): New function.
51147 (pupa_load_normal_mode): Likewise.
51148 (pupa_main): Call those above.
51149
51150 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51151 pupa_uint16_t.
51152
51153 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51154
a5ffe966 511552003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51156
51157 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51158 (setup): Configure the installed partition information and the
51159 dl prefix.
51160
51161 * loader/i386/pc/chainloader.c (my_mod): New variable.
51162 (pupa_chainloader_unload): New function.
51163 (pupa_rescue_cmd_chainloader): Refer itself.
51164 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51165
51166 * kern/i386/pc/startup.S (install_partition): Removed.
51167 (version_string): Likewise.
51168 (config_file): Likewise.
51169 (pupa_install_dos_part): New variable.
51170 (pupa_install_bsd_part): Likewise.
51171 (pupa_prefix): Likewise.
51172 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51173
51174 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51175 and pupa/misc.h.
51176 (make_install_device): New function.
51177 (pupa_machine_init): Set the dl prefix.
51178
51179 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51180 (buf): Renamed to ...
51181 (linebuf): ... this.
51182 (pupa_rescue_cmd_prefix): New function.
51183 (pupa_rescue_cmd_insmod): Likewise.
51184 (pupa_rescue_cmd_rmmod): Likewise.
51185 (pupa_rescue_cmd_lsmod): Likewise.
51186 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51187 rmmod and lsmod.
51188
51189 * kern/mm.c (pupa_memalign): If failed even after invalidating
51190 disk caches, unload unneeded modules and retry.
51191
51192 * kern/misc.c (pupa_memmove): New function.
51193 (pupa_memcpy): Removed.
51194 (pupa_strcpy): New function.
51195 (pupa_itoa): Made static.
51196
51197 * kern/dl.c (pupa_dl_iterate): New function.
51198 (pupa_dl_ref): Likewise.
51199 (pupa_dl_unref): Likewise.
51200 (pupa_dl_unload): Return if succeeded or not.
51201 (pupa_dl_unload_unneeded): New function.
51202 (pupa_dl_unload_all): Likewise.
51203 (pupa_dl_init): Renamed to ...
51204 (pupa_dl_set_prefix): ... this.
51205 (pupa_dl_get_prefix): New function.
51206
51207 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51208 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51209 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51210 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51211 (pupa_install_dos_part): Declared.
51212 (pupa_install_bsd_part): Likewise.
51213 (pupa_prefix): Likewise.
51214 (pupa_boot_drive): Likewise.
51215
51216 * include/pupa/types.h: Fix a typo.
51217
51218 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51219 pupa_memmove.
51220 (pupa_memmove): Declared.
51221 (pupa_strcpy): Likewise.
51222
51223 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51224 pupa_mod_init takes one argument, its own module.
51225 (pupa_dl_unload_unneeded): Declared.
51226 (pupa_dl_unload_all): Likewise.
51227 (pupa_dl_ref): Likewise.
51228 (pupa_dl_unref): Likewise.
51229 (pupa_dl_iterate): Likewise.
51230 (pupa_dl_init): Renamed to ...
51231 (pupa_dl_set_prefix): ... this.
51232 (pupa_dl_get_prefix): Declared.
51233
51234 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51235 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51236 unloaded.
51237 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51238 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51239
51240 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51241 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51242
012d7999 512432003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51244
51245 * util/i386/pc/pupa-setup.c (setup): Define the internal
51246 function find_first_partition_start at the top level, because GCC
51247 3.0.x cannot compile internal functions in deeper scopes
51248 correctly.
51249 (find_root_device): Use lstat instead of stat.
51250 Don't follow symbolic links.
51251 Fix the path-constructing code.
51252
51253 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51254 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51255 by a BLKGETSIZE ioctl first, because block devices don't fill
51256 the member st_mode of the structure stat on Linux.
51257 [__linux__] (linux_find_partition): Use a temporary buffer
51258 REAL_DEV for the working space. Copy it to DEV before returning.
51259 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51260 buffer cache consistent.
51261 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51262 strncmp. The previous value was merely wrong.
51263 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51264
51265 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51266 FAT size is 12. The previous value was merely wrong.
51267
51268 * kern/main.c (pupa_main): Don't split the starting message from
51269 newlines.
51270
51271 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51272 LF, because BIOS goes crazy about character attributes in this
51273 case.
51274
1cc73a62 512752003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51276
51277 * include/i386/pc/util/biosdisk.h: New file.
51278 * util/i386/pc/biosdisk.c: Likewise.
51279 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51280
1cc73a62 51281 * Makefile.in (INCLUDE_DISTFILES): Added
51282 include/pupa/i386/pc/util/biosdisk.h.
51283 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51284 directory util/i386/pc.
51285 (install-local): Added a rule for sbin_UTILITIES.
51286 (uninstall): Likewise.
51287
51288 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51289
51290 * util/misc.c (xrealloc): New function.
51291 (pupa_malloc): Likewise.
51292 (pupa_free): Likewise.
51293 (pupa_realloc): Likewise.
51294 (pupa_stop): Likewise.
51295 (pupa_putchar): Likewise.
51296
51297 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51298
51299 * include/pupa/util/misc.h (xrealloc): Declared.
51300
51301 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51302 macro.
51303 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51304 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51305
51306 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51307 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51308
51309 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51310 way should be implemented.
51311 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51312
51313 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51314 the size of NAME for safety.
51315 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51316 0x88.
51317
51318 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51319 (pupa_setup_SOURCES): Likewise.
51320
51321 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51322
08b70fe8 513232002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51324
51325 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51326 bunch of pushl's from pusha, because this destroys the return
51327 value.
51328
62ddcc8f 513292002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51330
51331 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51332 This means that any missing prototypes could be fatal. Also, you
51333 must take care when writing assembly code. See the comments at
51334 the beginning of startup.S, for more details.
f19dbdb7 51335
62ddcc8f 51336 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51337 compilation mechanism.
51338 (pupa_chainloader_real_boot): Likewise.
51339 (pupa_biosdisk_rw_int13_extensions): Likewise.
51340 (pupa_biosdisk_rw_standard): Likewise.
51341 (pupa_biosdisk_check_int13_extensions): Likewise.
51342 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51343 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51344 (pupa_get_memsize): Likewise.
51345 (pupa_get_mmap_entry): Likewise.
51346 (pupa_console_putchar): Likewise.
51347 (pupa_console_setcursor): Likewise.
51348 (pupa_getrtsecs): Use pushl instead of push.
51349
51350 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51351 memory instead of the stack for a mmap entry, because some
51352 BIOSes may ignore the maximum size and overflow.
51353
51354 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51355
51356 * genmk.rb (PModule#rule): Compile automatically generated
51357 sources with module-specific CFLAGS as well as other sources.
51358
9962ed99 513592002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51360
51361 * configure.ac: Check ld.
51362 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51363 respectively, before checking endianness and sizes.
51364
51365 * Makefile.in (LD): New variable.
f19dbdb7 51366
abdfc3c5 513672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51368
51369 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51370
6a161fa9 513712002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51372
51373 * Changelog: New file.
51374